# 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
    List styles
    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
  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
  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
    Columns 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
  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
    Authoring practices
    Hiding UI elements from the accessible tree
    Design patterns and custom widgets
  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

Generated by GTK-Doc V1.33.0