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