from typing import Any
from typing import Callable
from typing import Iterator
from typing import Literal
from typing import Optional
from typing import overload
from typing import Sequence
from typing import Tuple
from typing import Type
from typing import TypeVar
from typing import Union

import cairo
from gi.repository import Atk
from gi.repository import Gdk
from gi.repository import GdkPixbuf
from gi.repository import Gio
from gi.repository import GLib
from gi.repository import GObject
from gi.repository import Pango

_SomeSurface = TypeVar("_SomeSurface", bound=cairo.Surface)
CellRendererT = TypeVar(
    "CellRendererT",
    CellRendererCombo,
    CellRendererPixbuf,
    CellRendererProgress,
    CellRendererSpin,
    CellRendererSpinner,
    CellRendererText,
    CellRendererToggle,
)

BINARY_AGE: int = 2438
INPUT_ERROR: int = -1
INTERFACE_AGE: int = 32
LEVEL_BAR_OFFSET_FULL: str = "full"
LEVEL_BAR_OFFSET_HIGH: str = "high"
LEVEL_BAR_OFFSET_LOW: str = "low"
MAJOR_VERSION: int = 3
MAX_COMPOSE_LEN: int = 7
MICRO_VERSION: int = 38
MINOR_VERSION: int = 24
PAPER_NAME_A3: str = "iso_a3"
PAPER_NAME_A4: str = "iso_a4"
PAPER_NAME_A5: str = "iso_a5"
PAPER_NAME_B5: str = "iso_b5"
PAPER_NAME_EXECUTIVE: str = "na_executive"
PAPER_NAME_LEGAL: str = "na_legal"
PAPER_NAME_LETTER: str = "na_letter"
PATH_PRIO_MASK: int = 15
PRINT_SETTINGS_COLLATE: str = "collate"
PRINT_SETTINGS_DEFAULT_SOURCE: str = "default-source"
PRINT_SETTINGS_DITHER: str = "dither"
PRINT_SETTINGS_DUPLEX: str = "duplex"
PRINT_SETTINGS_FINISHINGS: str = "finishings"
PRINT_SETTINGS_MEDIA_TYPE: str = "media-type"
PRINT_SETTINGS_NUMBER_UP: str = "number-up"
PRINT_SETTINGS_NUMBER_UP_LAYOUT: str = "number-up-layout"
PRINT_SETTINGS_N_COPIES: str = "n-copies"
PRINT_SETTINGS_ORIENTATION: str = "orientation"
PRINT_SETTINGS_OUTPUT_BASENAME: str = "output-basename"
PRINT_SETTINGS_OUTPUT_BIN: str = "output-bin"
PRINT_SETTINGS_OUTPUT_DIR: str = "output-dir"
PRINT_SETTINGS_OUTPUT_FILE_FORMAT: str = "output-file-format"
PRINT_SETTINGS_OUTPUT_URI: str = "output-uri"
PRINT_SETTINGS_PAGE_RANGES: str = "page-ranges"
PRINT_SETTINGS_PAGE_SET: str = "page-set"
PRINT_SETTINGS_PAPER_FORMAT: str = "paper-format"
PRINT_SETTINGS_PAPER_HEIGHT: str = "paper-height"
PRINT_SETTINGS_PAPER_WIDTH: str = "paper-width"
PRINT_SETTINGS_PRINTER: str = "printer"
PRINT_SETTINGS_PRINTER_LPI: str = "printer-lpi"
PRINT_SETTINGS_PRINT_PAGES: str = "print-pages"
PRINT_SETTINGS_QUALITY: str = "quality"
PRINT_SETTINGS_RESOLUTION: str = "resolution"
PRINT_SETTINGS_RESOLUTION_X: str = "resolution-x"
PRINT_SETTINGS_RESOLUTION_Y: str = "resolution-y"
PRINT_SETTINGS_REVERSE: str = "reverse"
PRINT_SETTINGS_SCALE: str = "scale"
PRINT_SETTINGS_USE_COLOR: str = "use-color"
PRINT_SETTINGS_WIN32_DRIVER_EXTRA: str = "win32-driver-extra"
PRINT_SETTINGS_WIN32_DRIVER_VERSION: str = "win32-driver-version"
PRIORITY_RESIZE: int = 110
STOCK_ABOUT: str = "gtk-about"
STOCK_ADD: str = "gtk-add"
STOCK_APPLY: str = "gtk-apply"
STOCK_BOLD: str = "gtk-bold"
STOCK_CANCEL: str = "gtk-cancel"
STOCK_CAPS_LOCK_WARNING: str = "gtk-caps-lock-warning"
STOCK_CDROM: str = "gtk-cdrom"
STOCK_CLEAR: str = "gtk-clear"
STOCK_CLOSE: str = "gtk-close"
STOCK_COLOR_PICKER: str = "gtk-color-picker"
STOCK_CONNECT: str = "gtk-connect"
STOCK_CONVERT: str = "gtk-convert"
STOCK_COPY: str = "gtk-copy"
STOCK_CUT: str = "gtk-cut"
STOCK_DELETE: str = "gtk-delete"
STOCK_DIALOG_AUTHENTICATION: str = "gtk-dialog-authentication"
STOCK_DIALOG_ERROR: str = "gtk-dialog-error"
STOCK_DIALOG_INFO: str = "gtk-dialog-info"
STOCK_DIALOG_QUESTION: str = "gtk-dialog-question"
STOCK_DIALOG_WARNING: str = "gtk-dialog-warning"
STOCK_DIRECTORY: str = "gtk-directory"
STOCK_DISCARD: str = "gtk-discard"
STOCK_DISCONNECT: str = "gtk-disconnect"
STOCK_DND: str = "gtk-dnd"
STOCK_DND_MULTIPLE: str = "gtk-dnd-multiple"
STOCK_EDIT: str = "gtk-edit"
STOCK_EXECUTE: str = "gtk-execute"
STOCK_FILE: str = "gtk-file"
STOCK_FIND: str = "gtk-find"
STOCK_FIND_AND_REPLACE: str = "gtk-find-and-replace"
STOCK_FLOPPY: str = "gtk-floppy"
STOCK_FULLSCREEN: str = "gtk-fullscreen"
STOCK_GOTO_BOTTOM: str = "gtk-goto-bottom"
STOCK_GOTO_FIRST: str = "gtk-goto-first"
STOCK_GOTO_LAST: str = "gtk-goto-last"
STOCK_GOTO_TOP: str = "gtk-goto-top"
STOCK_GO_BACK: str = "gtk-go-back"
STOCK_GO_DOWN: str = "gtk-go-down"
STOCK_GO_FORWARD: str = "gtk-go-forward"
STOCK_GO_UP: str = "gtk-go-up"
STOCK_HARDDISK: str = "gtk-harddisk"
STOCK_HELP: str = "gtk-help"
STOCK_HOME: str = "gtk-home"
STOCK_INDENT: str = "gtk-indent"
STOCK_INDEX: str = "gtk-index"
STOCK_INFO: str = "gtk-info"
STOCK_ITALIC: str = "gtk-italic"
STOCK_JUMP_TO: str = "gtk-jump-to"
STOCK_JUSTIFY_CENTER: str = "gtk-justify-center"
STOCK_JUSTIFY_FILL: str = "gtk-justify-fill"
STOCK_JUSTIFY_LEFT: str = "gtk-justify-left"
STOCK_JUSTIFY_RIGHT: str = "gtk-justify-right"
STOCK_LEAVE_FULLSCREEN: str = "gtk-leave-fullscreen"
STOCK_MEDIA_FORWARD: str = "gtk-media-forward"
STOCK_MEDIA_NEXT: str = "gtk-media-next"
STOCK_MEDIA_PAUSE: str = "gtk-media-pause"
STOCK_MEDIA_PLAY: str = "gtk-media-play"
STOCK_MEDIA_PREVIOUS: str = "gtk-media-previous"
STOCK_MEDIA_RECORD: str = "gtk-media-record"
STOCK_MEDIA_REWIND: str = "gtk-media-rewind"
STOCK_MEDIA_STOP: str = "gtk-media-stop"
STOCK_MISSING_IMAGE: str = "gtk-missing-image"
STOCK_NETWORK: str = "gtk-network"
STOCK_NEW: str = "gtk-new"
STOCK_NO: str = "gtk-no"
STOCK_OK: str = "gtk-ok"
STOCK_OPEN: str = "gtk-open"
STOCK_ORIENTATION_LANDSCAPE: str = "gtk-orientation-landscape"
STOCK_ORIENTATION_PORTRAIT: str = "gtk-orientation-portrait"
STOCK_ORIENTATION_REVERSE_LANDSCAPE: str = "gtk-orientation-reverse-landscape"
STOCK_ORIENTATION_REVERSE_PORTRAIT: str = "gtk-orientation-reverse-portrait"
STOCK_PAGE_SETUP: str = "gtk-page-setup"
STOCK_PASTE: str = "gtk-paste"
STOCK_PREFERENCES: str = "gtk-preferences"
STOCK_PRINT: str = "gtk-print"
STOCK_PRINT_ERROR: str = "gtk-print-error"
STOCK_PRINT_PAUSED: str = "gtk-print-paused"
STOCK_PRINT_PREVIEW: str = "gtk-print-preview"
STOCK_PRINT_REPORT: str = "gtk-print-report"
STOCK_PRINT_WARNING: str = "gtk-print-warning"
STOCK_PROPERTIES: str = "gtk-properties"
STOCK_QUIT: str = "gtk-quit"
STOCK_REDO: str = "gtk-redo"
STOCK_REFRESH: str = "gtk-refresh"
STOCK_REMOVE: str = "gtk-remove"
STOCK_REVERT_TO_SAVED: str = "gtk-revert-to-saved"
STOCK_SAVE: str = "gtk-save"
STOCK_SAVE_AS: str = "gtk-save-as"
STOCK_SELECT_ALL: str = "gtk-select-all"
STOCK_SELECT_COLOR: str = "gtk-select-color"
STOCK_SELECT_FONT: str = "gtk-select-font"
STOCK_SORT_ASCENDING: str = "gtk-sort-ascending"
STOCK_SORT_DESCENDING: str = "gtk-sort-descending"
STOCK_SPELL_CHECK: str = "gtk-spell-check"
STOCK_STOP: str = "gtk-stop"
STOCK_STRIKETHROUGH: str = "gtk-strikethrough"
STOCK_UNDELETE: str = "gtk-undelete"
STOCK_UNDERLINE: str = "gtk-underline"
STOCK_UNDO: str = "gtk-undo"
STOCK_UNINDENT: str = "gtk-unindent"
STOCK_YES: str = "gtk-yes"
STOCK_ZOOM_100: str = "gtk-zoom-100"
STOCK_ZOOM_FIT: str = "gtk-zoom-fit"
STOCK_ZOOM_IN: str = "gtk-zoom-in"
STOCK_ZOOM_OUT: str = "gtk-zoom-out"
STYLE_CLASS_ACCELERATOR: str = "accelerator"
STYLE_CLASS_ARROW: str = "arrow"
STYLE_CLASS_BACKGROUND: str = "background"
STYLE_CLASS_BOTTOM: str = "bottom"
STYLE_CLASS_BUTTON: str = "button"
STYLE_CLASS_CALENDAR: str = "calendar"
STYLE_CLASS_CELL: str = "cell"
STYLE_CLASS_CHECK: str = "check"
STYLE_CLASS_COMBOBOX_ENTRY: str = "combobox-entry"
STYLE_CLASS_CONTEXT_MENU: str = "context-menu"
STYLE_CLASS_CSD: str = "csd"
STYLE_CLASS_CURSOR_HANDLE: str = "cursor-handle"
STYLE_CLASS_DEFAULT: str = "default"
STYLE_CLASS_DESTRUCTIVE_ACTION: str = "destructive-action"
STYLE_CLASS_DIM_LABEL: str = "dim-label"
STYLE_CLASS_DND: str = "dnd"
STYLE_CLASS_DOCK: str = "dock"
STYLE_CLASS_ENTRY: str = "entry"
STYLE_CLASS_ERROR: str = "error"
STYLE_CLASS_EXPANDER: str = "expander"
STYLE_CLASS_FLAT: str = "flat"
STYLE_CLASS_FRAME: str = "frame"
STYLE_CLASS_GRIP: str = "grip"
STYLE_CLASS_HEADER: str = "header"
STYLE_CLASS_HIGHLIGHT: str = "highlight"
STYLE_CLASS_HORIZONTAL: str = "horizontal"
STYLE_CLASS_IMAGE: str = "image"
STYLE_CLASS_INFO: str = "info"
STYLE_CLASS_INLINE_TOOLBAR: str = "inline-toolbar"
STYLE_CLASS_INSERTION_CURSOR: str = "insertion-cursor"
STYLE_CLASS_LABEL: str = "label"
STYLE_CLASS_LEFT: str = "left"
STYLE_CLASS_LEVEL_BAR: str = "level-bar"
STYLE_CLASS_LINKED: str = "linked"
STYLE_CLASS_LIST: str = "list"
STYLE_CLASS_LIST_ROW: str = "list-row"
STYLE_CLASS_MARK: str = "mark"
STYLE_CLASS_MENU: str = "menu"
STYLE_CLASS_MENUBAR: str = "menubar"
STYLE_CLASS_MENUITEM: str = "menuitem"
STYLE_CLASS_MESSAGE_DIALOG: str = "message-dialog"
STYLE_CLASS_MONOSPACE: str = "monospace"
STYLE_CLASS_NEEDS_ATTENTION: str = "needs-attention"
STYLE_CLASS_NOTEBOOK: str = "notebook"
STYLE_CLASS_OSD: str = "osd"
STYLE_CLASS_OVERSHOOT: str = "overshoot"
STYLE_CLASS_PANE_SEPARATOR: str = "pane-separator"
STYLE_CLASS_PAPER: str = "paper"
STYLE_CLASS_POPOVER: str = "popover"
STYLE_CLASS_POPUP: str = "popup"
STYLE_CLASS_PRIMARY_TOOLBAR: str = "primary-toolbar"
STYLE_CLASS_PROGRESSBAR: str = "progressbar"
STYLE_CLASS_PULSE: str = "pulse"
STYLE_CLASS_QUESTION: str = "question"
STYLE_CLASS_RADIO: str = "radio"
STYLE_CLASS_RAISED: str = "raised"
STYLE_CLASS_READ_ONLY: str = "read-only"
STYLE_CLASS_RIGHT: str = "right"
STYLE_CLASS_RUBBERBAND: str = "rubberband"
STYLE_CLASS_SCALE: str = "scale"
STYLE_CLASS_SCALE_HAS_MARKS_ABOVE: str = "scale-has-marks-above"
STYLE_CLASS_SCALE_HAS_MARKS_BELOW: str = "scale-has-marks-below"
STYLE_CLASS_SCROLLBAR: str = "scrollbar"
STYLE_CLASS_SCROLLBARS_JUNCTION: str = "scrollbars-junction"
STYLE_CLASS_SEPARATOR: str = "separator"
STYLE_CLASS_SIDEBAR: str = "sidebar"
STYLE_CLASS_SLIDER: str = "slider"
STYLE_CLASS_SPINBUTTON: str = "spinbutton"
STYLE_CLASS_SPINNER: str = "spinner"
STYLE_CLASS_STATUSBAR: str = "statusbar"
STYLE_CLASS_SUBTITLE: str = "subtitle"
STYLE_CLASS_SUGGESTED_ACTION: str = "suggested-action"
STYLE_CLASS_TITLE: str = "title"
STYLE_CLASS_TITLEBAR: str = "titlebar"
STYLE_CLASS_TOOLBAR: str = "toolbar"
STYLE_CLASS_TOOLTIP: str = "tooltip"
STYLE_CLASS_TOP: str = "top"
STYLE_CLASS_TOUCH_SELECTION: str = "touch-selection"
STYLE_CLASS_TROUGH: str = "trough"
STYLE_CLASS_UNDERSHOOT: str = "undershoot"
STYLE_CLASS_VERTICAL: str = "vertical"
STYLE_CLASS_VIEW: str = "view"
STYLE_CLASS_WARNING: str = "warning"
STYLE_CLASS_WIDE: str = "wide"
STYLE_PROPERTY_BACKGROUND_COLOR: str = "background-color"
STYLE_PROPERTY_BACKGROUND_IMAGE: str = "background-image"
STYLE_PROPERTY_BORDER_COLOR: str = "border-color"
STYLE_PROPERTY_BORDER_RADIUS: str = "border-radius"
STYLE_PROPERTY_BORDER_STYLE: str = "border-style"
STYLE_PROPERTY_BORDER_WIDTH: str = "border-width"
STYLE_PROPERTY_COLOR: str = "color"
STYLE_PROPERTY_FONT: str = "font"
STYLE_PROPERTY_MARGIN: str = "margin"
STYLE_PROPERTY_PADDING: str = "padding"
STYLE_PROVIDER_PRIORITY_APPLICATION: int = 600
STYLE_PROVIDER_PRIORITY_FALLBACK: int = 1
STYLE_PROVIDER_PRIORITY_SETTINGS: int = 400
STYLE_PROVIDER_PRIORITY_THEME: int = 200
STYLE_PROVIDER_PRIORITY_USER: int = 800
STYLE_REGION_COLUMN: str = "column"
STYLE_REGION_COLUMN_HEADER: str = "column-header"
STYLE_REGION_ROW: str = "row"
STYLE_REGION_TAB: str = "tab"
TEXT_VIEW_PRIORITY_VALIDATE: int = 125
TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: int = -1
TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: int = -2
_introspection_module = ...  # FIXME Constant
_lock = ...  # FIXME Constant
_namespace: str = "Gtk"
_overrides_module = ...  # FIXME Constant
_version: str = "3.0"

def accel_groups_activate(
    object: GObject.Object, accel_key: int, accel_mods: Gdk.ModifierType
) -> bool: ...
def accel_groups_from_object(object: GObject.Object) -> list[AccelGroup]: ...
def accelerator_get_default_mod_mask() -> Gdk.ModifierType: ...
def accelerator_get_label(
    accelerator_key: int, accelerator_mods: Gdk.ModifierType
) -> str: ...
def accelerator_get_label_with_keycode(
    display: Optional[Gdk.Display],
    accelerator_key: int,
    keycode: int,
    accelerator_mods: Gdk.ModifierType,
) -> str: ...
def accelerator_name(
    accelerator_key: int, accelerator_mods: Gdk.ModifierType
) -> str: ...
def accelerator_name_with_keycode(
    display: Optional[Gdk.Display],
    accelerator_key: int,
    keycode: int,
    accelerator_mods: Gdk.ModifierType,
) -> str: ...
def accelerator_parse(accelerator: str) -> Tuple[int, Gdk.ModifierType]: ...
def accelerator_parse_with_keycode(
    accelerator: str,
) -> Tuple[int, list[int], Gdk.ModifierType]: ...
def accelerator_set_default_mod_mask(default_mod_mask: Gdk.ModifierType) -> None: ...
def accelerator_valid(keyval: int, modifiers: Gdk.ModifierType) -> bool: ...
def alternative_dialog_button_order(screen: Optional[Gdk.Screen] = None) -> bool: ...
def binding_entry_add_signal_from_string(
    binding_set: BindingSet, signal_desc: str
) -> GLib.TokenType: ...
def binding_entry_add_signall(
    binding_set: BindingSet,
    keyval: int,
    modifiers: Gdk.ModifierType,
    signal_name: str,
    binding_args: list[BindingArg],
) -> None: ...
def binding_entry_remove(
    binding_set: BindingSet, keyval: int, modifiers: Gdk.ModifierType
) -> None: ...
def binding_entry_skip(
    binding_set: BindingSet, keyval: int, modifiers: Gdk.ModifierType
) -> None: ...
def binding_set_find(set_name: str) -> Optional[BindingSet]: ...
def bindings_activate(
    object: GObject.Object, keyval: int, modifiers: Gdk.ModifierType
) -> bool: ...
def bindings_activate_event(object: GObject.Object, event: Gdk.EventKey) -> bool: ...
def builder_error_quark() -> int: ...
def cairo_should_draw_window(
    cr: cairo.Context[_SomeSurface], window: Gdk.Window
) -> bool: ...
def cairo_transform_to_window(
    cr: cairo.Context[_SomeSurface], widget: Widget, window: Gdk.Window
) -> None: ...
def check_version(
    required_major: int, required_minor: int, required_micro: int
) -> Optional[str]: ...
def css_provider_error_quark() -> int: ...
def device_grab_add(widget: Widget, device: Gdk.Device, block_others: bool) -> None: ...
def device_grab_remove(widget: Widget, device: Gdk.Device) -> None: ...
def disable_setlocale() -> None: ...
def distribute_natural_allocation(
    extra_space: int, n_requested_sizes: int, sizes: RequestedSize
) -> int: ...
def drag_cancel(context: Gdk.DragContext) -> None: ...
def drag_finish(
    context: Gdk.DragContext, success: bool, del_: bool, time_: int
) -> None: ...
def drag_get_source_widget(context: Gdk.DragContext) -> Optional[Widget]: ...
def drag_set_icon_default(context: Gdk.DragContext) -> None: ...
def drag_set_icon_gicon(
    context: Gdk.DragContext, icon: Gio.Icon, hot_x: int, hot_y: int
) -> None: ...
def drag_set_icon_name(
    context: Gdk.DragContext, icon_name: str, hot_x: int, hot_y: int
) -> None: ...
def drag_set_icon_pixbuf(
    context: Gdk.DragContext, pixbuf: GdkPixbuf.Pixbuf, hot_x: int, hot_y: int
) -> None: ...
def drag_set_icon_stock(
    context: Gdk.DragContext, stock_id: str, hot_x: int, hot_y: int
) -> None: ...
def drag_set_icon_surface(context: Gdk.DragContext, surface: cairo.Surface) -> None: ...
def drag_set_icon_widget(
    context: Gdk.DragContext, widget: Widget, hot_x: int, hot_y: int
) -> None: ...
def draw_insertion_cursor(
    widget: Widget,
    cr: cairo.Context[_SomeSurface],
    location: Gdk.Rectangle,
    is_primary: bool,
    direction: TextDirection,
    draw_arrow: bool,
) -> None: ...
def events_pending() -> bool: ...
def false() -> bool: ...
def file_chooser_error_quark() -> int: ...
def get_binary_age() -> int: ...
def get_current_event() -> Optional[Gdk.Event]: ...
def get_current_event_device() -> Optional[Gdk.Device]: ...
def get_current_event_state() -> Tuple[bool, Gdk.ModifierType]: ...
def get_current_event_time() -> int: ...
def get_debug_flags() -> int: ...
def get_default_language() -> Pango.Language: ...
def get_event_widget(event: Gdk.Event) -> Optional[Widget]: ...
def get_interface_age() -> int: ...
def get_locale_direction() -> TextDirection: ...
def get_major_version() -> int: ...
def get_micro_version() -> int: ...
def get_minor_version() -> int: ...
def get_option_group(open_default_display: bool) -> GLib.OptionGroup: ...
def grab_get_current() -> Optional[Widget]: ...
def icon_size_from_name(name: str) -> int: ...
def icon_size_get_name(size: int) -> str: ...
def icon_size_lookup(size: int) -> Tuple[bool, int, int]: ...
def icon_size_lookup_for_settings(
    settings: Settings, size: int
) -> Tuple[bool, int, int]: ...
def icon_size_register(name: str, width: int, height: int) -> int: ...
def icon_size_register_alias(alias: str, target: int) -> None: ...
def icon_theme_error_quark() -> int: ...
def init() -> list[str]: ...
def init_check() -> Tuple[bool, list[str]]: ...
def init_with_args(
    parameter_string: Optional[str],
    entries: Sequence[GLib.OptionEntry],
    translation_domain: Optional[str] = None,
) -> Tuple[bool, list[str]]: ...
def key_snooper_remove(snooper_handler_id: int) -> None: ...

# override
def main() -> None: ...
def main_do_event(event: Gdk.Event) -> None: ...
def main_iteration() -> bool: ...
def main_iteration_do(blocking: bool) -> bool: ...
def main_level() -> int: ...

# override
def main_quit() -> None: ...
def paint_arrow(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    arrow_type: ArrowType,
    fill: bool,
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_box(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_box_gap(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
    gap_side: PositionType,
    gap_x: int,
    gap_width: int,
) -> None: ...
def paint_check(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_diamond(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_expander(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    expander_style: ExpanderStyle,
) -> None: ...
def paint_extension(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
    gap_side: PositionType,
) -> None: ...
def paint_flat_box(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_focus(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_handle(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
    orientation: Orientation,
) -> None: ...
def paint_hline(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    widget: Optional[Widget],
    detail: Optional[str],
    x1: int,
    x2: int,
    y: int,
) -> None: ...
def paint_layout(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    use_text: bool,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    layout: Pango.Layout,
) -> None: ...
def paint_option(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_resize_grip(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    widget: Optional[Widget],
    detail: Optional[str],
    edge: Gdk.WindowEdge,
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_shadow(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_shadow_gap(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
    gap_side: PositionType,
    gap_x: int,
    gap_width: int,
) -> None: ...
def paint_slider(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
    orientation: Orientation,
) -> None: ...
def paint_spinner(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    widget: Optional[Widget],
    detail: Optional[str],
    step: int,
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_tab(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    shadow_type: ShadowType,
    widget: Optional[Widget],
    detail: Optional[str],
    x: int,
    y: int,
    width: int,
    height: int,
) -> None: ...
def paint_vline(
    style: Style,
    cr: cairo.Context[_SomeSurface],
    state_type: StateType,
    widget: Optional[Widget],
    detail: Optional[str],
    y1_: int,
    y2_: int,
    x: int,
) -> None: ...
def paper_size_get_default() -> str: ...
def paper_size_get_paper_sizes(include_custom: bool) -> list[PaperSize]: ...
def parse_args() -> Tuple[bool, list[str]]: ...
def print_error_quark() -> int: ...
def print_run_page_setup_dialog(
    parent: Optional[Window], page_setup: Optional[PageSetup], settings: PrintSettings
) -> PageSetup: ...
def print_run_page_setup_dialog_async(
    parent: Optional[Window],
    page_setup: Optional[PageSetup],
    settings: PrintSettings,
    done_cb: Callable[..., None],
    *data: Any,
) -> None: ...
def propagate_event(widget: Widget, event: Gdk.Event) -> None: ...
def rc_add_default_file(filename: str) -> None: ...
def rc_find_module_in_path(module_file: str) -> str: ...
def rc_find_pixmap_in_path(
    settings: Settings, scanner: GLib.Scanner, pixmap_file: str
) -> str: ...
def rc_get_default_files() -> list[str]: ...
def rc_get_im_module_file() -> str: ...
def rc_get_im_module_path() -> str: ...
def rc_get_module_dir() -> str: ...
def rc_get_style(widget: Widget) -> Style: ...
def rc_get_style_by_paths(
    settings: Settings,
    widget_path: Optional[str],
    class_path: Optional[str],
    type: Type,
) -> Optional[Style]: ...
def rc_get_theme_dir() -> str: ...
def rc_parse(filename: str) -> None: ...
def rc_parse_color(scanner: GLib.Scanner) -> Tuple[int, Gdk.Color]: ...
def rc_parse_color_full(
    scanner: GLib.Scanner, style: Optional[RcStyle] = None
) -> Tuple[int, Gdk.Color]: ...
def rc_parse_priority(scanner: GLib.Scanner, priority: PathPriorityType) -> int: ...
def rc_parse_state(scanner: GLib.Scanner) -> Tuple[int, StateType]: ...
def rc_parse_string(rc_string: str) -> None: ...
def rc_property_parse_border(
    pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
) -> bool: ...
def rc_property_parse_color(
    pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
) -> bool: ...
def rc_property_parse_enum(
    pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
) -> bool: ...
def rc_property_parse_flags(
    pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
) -> bool: ...
def rc_property_parse_requisition(
    pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
) -> bool: ...
def rc_reparse_all() -> bool: ...
def rc_reparse_all_for_settings(settings: Settings, force_load: bool) -> bool: ...
def rc_reset_styles(settings: Settings) -> None: ...
def rc_set_default_files(filenames: Sequence[str]) -> None: ...
def recent_chooser_error_quark() -> int: ...
def recent_manager_error_quark() -> int: ...
def render_activity(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_arrow(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    angle: float,
    x: float,
    y: float,
    size: float,
) -> None: ...
def render_background(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_background_get_clip(
    context: StyleContext, x: float, y: float, width: float, height: float
) -> Gdk.Rectangle: ...
def render_check(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_expander(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_extension(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
    gap_side: PositionType,
) -> None: ...
def render_focus(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_frame(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_frame_gap(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
    gap_side: PositionType,
    xy0_gap: float,
    xy1_gap: float,
) -> None: ...
def render_handle(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_icon(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    pixbuf: GdkPixbuf.Pixbuf,
    x: float,
    y: float,
) -> None: ...
def render_icon_pixbuf(
    context: StyleContext, source: IconSource, size: int
) -> GdkPixbuf.Pixbuf: ...
def render_icon_surface(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    surface: cairo.Surface,
    x: float,
    y: float,
) -> None: ...
def render_insertion_cursor(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    layout: Pango.Layout,
    index: int,
    direction: Pango.Direction,
) -> None: ...
def render_layout(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    layout: Pango.Layout,
) -> None: ...
def render_line(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x0: float,
    y0: float,
    x1: float,
    y1: float,
) -> None: ...
def render_option(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
) -> None: ...
def render_slider(
    context: StyleContext,
    cr: cairo.Context[_SomeSurface],
    x: float,
    y: float,
    width: float,
    height: float,
    orientation: Orientation,
) -> None: ...
def rgb_to_hsv(r: float, g: float, b: float) -> Tuple[float, float, float]: ...
def selection_add_target(
    widget: Widget, selection: Gdk.Atom, target: Gdk.Atom, info: int
) -> None: ...
def selection_add_targets(
    widget: Widget, selection: Gdk.Atom, targets: Sequence[TargetEntry]
) -> None: ...
def selection_clear_targets(widget: Widget, selection: Gdk.Atom) -> None: ...
def selection_convert(
    widget: Widget, selection: Gdk.Atom, target: Gdk.Atom, time_: int
) -> bool: ...
def selection_owner_set(
    widget: Optional[Widget], selection: Gdk.Atom, time_: int
) -> bool: ...
def selection_owner_set_for_display(
    display: Gdk.Display, widget: Optional[Widget], selection: Gdk.Atom, time_: int
) -> bool: ...
def selection_remove_all(widget: Widget) -> None: ...
def set_debug_flags(flags: int) -> None: ...
def show_uri(screen: Optional[Gdk.Screen], uri: str, timestamp: int) -> bool: ...
def show_uri_on_window(parent: Optional[Window], uri: str, timestamp: int) -> bool: ...
def stock_add(items: Sequence[StockItem]) -> None: ...
def stock_add_static(items: Sequence[StockItem]) -> None: ...
def stock_list_ids() -> list[str]: ...
def stock_lookup(stock_id: str) -> Optional[StockItem]: ...  # CHECK Wrapped function
def stock_set_translate_func(
    domain: str, func: Callable[..., str], *data: Any
) -> None: ...
def target_table_free(targets: Sequence[TargetEntry]) -> None: ...
def target_table_new_from_list(list: TargetList) -> list[TargetEntry]: ...
def targets_include_image(targets: Sequence[Gdk.Atom], writable: bool) -> bool: ...
def targets_include_rich_text(
    targets: Sequence[Gdk.Atom], buffer: TextBuffer
) -> bool: ...
def targets_include_text(targets: Sequence[Gdk.Atom]) -> bool: ...
def targets_include_uri(targets: Sequence[Gdk.Atom]) -> bool: ...
def test_create_simple_window(window_title: str, dialog_text: str) -> Widget: ...
def test_find_label(widget: Widget, label_pattern: str) -> Widget: ...
def test_find_sibling(base_widget: Widget, widget_type: Type) -> Widget: ...
def test_find_widget(
    widget: Widget, label_pattern: str, widget_type: Type
) -> Optional[Widget]: ...
def test_list_all_types() -> list[Type]: ...
def test_register_all_types() -> None: ...
def test_slider_get_value(widget: Widget) -> float: ...
def test_slider_set_perc(widget: Widget, percentage: float) -> None: ...
def test_spin_button_click(spinner: SpinButton, button: int, upwards: bool) -> bool: ...
def test_text_get(widget: Widget) -> str: ...
def test_text_set(widget: Widget, string: str) -> None: ...
def test_widget_click(
    widget: Widget, button: int, modifiers: Gdk.ModifierType
) -> bool: ...
def test_widget_send_key(
    widget: Widget, keyval: int, modifiers: Gdk.ModifierType
) -> bool: ...
def test_widget_wait_for_draw(widget: Widget) -> None: ...
def tree_get_row_drag_data(
    selection_data: SelectionData,
) -> Tuple[bool, TreeModel, TreePath]: ...
def tree_row_reference_deleted(proxy: GObject.Object, path: TreePath) -> None: ...
def tree_row_reference_inserted(proxy: GObject.Object, path: TreePath) -> None: ...
def tree_set_row_drag_data(
    selection_data: SelectionData, tree_model: TreeModel, path: TreePath
) -> bool: ...
def true() -> bool: ...

class AboutDialog(Dialog, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        AboutDialog(**properties)
        new() -> Gtk.Widget

    Object GtkAboutDialog

    Signals from GtkAboutDialog:
      activate-link (gchararray) -> gboolean

    Properties from GtkAboutDialog:
      program-name -> gchararray: Program name
        The name of the program. If this is not set, it defaults to g_get_application_name()
      version -> gchararray: Program version
        The version of the program
      copyright -> gchararray: Copyright string
        Copyright information for the program
      comments -> gchararray: Comments string
        Comments about the program
      website -> gchararray: Website URL
        The URL for the link to the website of the program
      website-label -> gchararray: Website label
        The label for the link to the website of the program
      license -> gchararray: License
        The license of the program
      authors -> GStrv: Authors
        List of authors of the program
      documenters -> GStrv: Documenters
        List of people documenting the program
      translator-credits -> gchararray: Translator credits
        Credits to the translators. This string should be marked as translatable
      artists -> GStrv: Artists
        List of people who have contributed artwork to the program
      logo -> GdkPixbuf: Logo
        A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list()
      logo-icon-name -> gchararray: Logo Icon Name
        A named icon to use as the logo for the about box.
      wrap-license -> gboolean: Wrap license
        Whether to wrap the license text.
      license-type -> GtkLicense: License Type
        The license type of the program

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        artists: list[str]
        authors: list[str]
        comments: str
        copyright: str
        documenters: list[str]
        license: str
        license_type: License
        logo: GdkPixbuf.Pixbuf
        logo_icon_name: str
        program_name: str
        translator_credits: str
        version: str
        website: str
        website_label: str
        wrap_license: bool
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: AboutDialogPrivate = ...
    def __init__(
        self,
        artists: Sequence[str] = ...,
        authors: Sequence[str] = ...,
        comments: Optional[str] = ...,
        copyright: Optional[str] = ...,
        documenters: Sequence[str] = ...,
        license: Optional[str] = ...,
        license_type: License = ...,
        logo: Optional[GdkPixbuf.Pixbuf] = ...,
        logo_icon_name: Optional[str] = ...,
        program_name: str = ...,
        translator_credits: Optional[str] = ...,
        version: Optional[str] = ...,
        website: Optional[str] = ...,
        website_label: str = ...,
        wrap_license: bool = ...,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_credit_section(self, section_name: str, people: Sequence[str]) -> None: ...
    def do_activate_link(self, uri: str) -> bool: ...
    def get_artists(self) -> list[str]: ...
    def get_authors(self) -> list[str]: ...
    def get_comments(self) -> str: ...
    def get_copyright(self) -> str: ...
    def get_documenters(self) -> list[str]: ...
    def get_license(self) -> str: ...
    def get_license_type(self) -> License: ...
    def get_logo(self) -> GdkPixbuf.Pixbuf: ...
    def get_logo_icon_name(self) -> str: ...
    def get_program_name(self) -> str: ...
    def get_translator_credits(self) -> str: ...
    def get_version(self) -> str: ...
    def get_website(self) -> str: ...
    def get_website_label(self) -> str: ...
    def get_wrap_license(self) -> bool: ...
    @classmethod
    def new(cls) -> AboutDialog: ...
    def set_artists(self, artists: Sequence[str]) -> None: ...
    def set_authors(self, authors: Sequence[str]) -> None: ...
    def set_comments(self, comments: Optional[str] = None) -> None: ...
    def set_copyright(self, copyright: Optional[str] = None) -> None: ...
    def set_documenters(self, documenters: Sequence[str]) -> None: ...
    def set_license(self, license: Optional[str] = None) -> None: ...
    def set_license_type(self, license_type: License) -> None: ...
    def set_logo(self, logo: Optional[GdkPixbuf.Pixbuf] = None) -> None: ...
    def set_logo_icon_name(self, icon_name: Optional[str] = None) -> None: ...
    def set_program_name(self, name: str) -> None: ...
    def set_translator_credits(
        self, translator_credits: Optional[str] = None
    ) -> None: ...
    def set_version(self, version: Optional[str] = None) -> None: ...
    def set_website(self, website: Optional[str] = None) -> None: ...
    def set_website_label(self, website_label: str) -> None: ...
    def set_wrap_license(self, wrap_license: bool) -> None: ...

class AboutDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AboutDialogClass()
    """

    parent_class: DialogClass = ...
    activate_link: Callable[[AboutDialog, str], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AboutDialogPrivate(GObject.GPointer): ...

class AccelGroup(GObject.Object):
    """
    :Constructors:

    ::

        AccelGroup(**properties)
        new() -> Gtk.AccelGroup

    Object GtkAccelGroup

    Signals from GtkAccelGroup:
      accel-activate (GObject, guint, GdkModifierType) -> gboolean
      accel-changed (guint, GdkModifierType, GClosure)

    Properties from GtkAccelGroup:
      is-locked -> gboolean: Is locked
        Is the accel group locked
      modifier-mask -> GdkModifierType: Modifier Mask
        Modifier Mask

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        is_locked: bool
        modifier_mask: Gdk.ModifierType

    props: Props = ...
    parent: GObject.Object = ...
    priv: AccelGroupPrivate = ...
    def activate(
        self,
        accel_quark: int,
        acceleratable: GObject.Object,
        accel_key: int,
        accel_mods: Gdk.ModifierType,
    ) -> bool: ...
    def connect(
        self,
        accel_key: int,
        accel_mods: Gdk.ModifierType,
        accel_flags: AccelFlags,
        closure: Callable[..., Any],
    ) -> None: ...
    def connect_by_path(self, accel_path: str, closure: Callable[..., Any]) -> None: ...
    def disconnect(self, closure: Optional[Callable[..., Any]] = None) -> bool: ...
    def disconnect_key(self, accel_key: int, accel_mods: Gdk.ModifierType) -> bool: ...
    def do_accel_changed(
        self, keyval: int, modifier: Gdk.ModifierType, accel_closure: Callable[..., Any]
    ) -> None: ...
    def find(self, find_func: Callable[..., bool], *data: Any) -> AccelKey: ...
    @staticmethod
    def from_accel_closure(closure: Callable[..., Any]) -> Optional[AccelGroup]: ...
    def get_is_locked(self) -> bool: ...
    def get_modifier_mask(self) -> Gdk.ModifierType: ...
    def lock(self) -> None: ...
    @classmethod
    def new(cls) -> AccelGroup: ...
    def query(
        self, accel_key: int, accel_mods: Gdk.ModifierType
    ) -> Optional[list[AccelGroupEntry]]: ...
    def unlock(self) -> None: ...

class AccelGroupClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AccelGroupClass()
    """

    parent_class: GObject.ObjectClass = ...
    accel_changed: Callable[
        [AccelGroup, int, Gdk.ModifierType, Callable[..., Any]], None
    ] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AccelGroupEntry(GObject.GPointer):
    """
    :Constructors:

    ::

        AccelGroupEntry()
    """

    key: AccelKey = ...
    closure: Callable[..., Any] = ...
    accel_path_quark: int = ...

class AccelGroupPrivate(GObject.GPointer): ...

class AccelKey(GObject.GPointer):
    """
    :Constructors:

    ::

        AccelKey()
    """

    accel_key: int = ...
    accel_mods: Gdk.ModifierType = ...
    accel_flags: int = ...

class AccelLabel(Label, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        AccelLabel(**properties)
        new(string:str) -> Gtk.Widget

    Object GtkAccelLabel

    Properties from GtkAccelLabel:
      accel-closure -> GClosure: Accelerator Closure
        The closure to be monitored for accelerator changes
      accel-widget -> GtkWidget: Accelerator Widget
        The widget to be monitored for accelerator changes

    Signals from GtkLabel:
      activate-link (gchararray) -> gboolean
      move-cursor (GtkMovementStep, gint, gboolean)
      copy-clipboard ()
      populate-popup (GtkMenu)
      activate-current-link ()

    Properties from GtkLabel:
      label -> gchararray: Label
        The text of the label
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the label
      use-markup -> gboolean: Use markup
        The text of the label includes XML markup. See pango_parse_markup()
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      justify -> GtkJustification: 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
      pattern -> gchararray: Pattern
        A string with _ characters in positions correspond to characters in the text to underline
      wrap -> gboolean: Line wrap
        If set, wrap lines if the text becomes too wide
      wrap-mode -> PangoWrapMode: Line wrap mode
        If wrap is set, controls how linewrapping is done
      selectable -> gboolean: Selectable
        Whether the label text can be selected with the mouse
      mnemonic-keyval -> guint: Mnemonic key
        The mnemonic accelerator key for this label
      mnemonic-widget -> GtkWidget: Mnemonic widget
        The widget to be activated when the label's mnemonic key is pressed
      cursor-position -> gint: Cursor Position
        The current position of the insertion cursor in chars
      selection-bound -> gint: Selection Bound
        The position of the opposite end of the selection from the cursor in chars
      ellipsize -> PangoEllipsizeMode: Ellipsize
        The preferred place to ellipsize the string, if the label does not have enough room to display the entire string
      width-chars -> gint: Width In Characters
        The desired width of the label, in characters
      single-line-mode -> gboolean: Single Line Mode
        Whether the label is in single line mode
      angle -> gdouble: Angle
        Angle at which the label is rotated
      max-width-chars -> gint: Maximum Width In Characters
        The desired maximum width of the label, in characters
      track-visited-links -> gboolean: Track visited links
        Whether visited links should be tracked
      lines -> gint: Number of lines
        The desired number of lines, when ellipsizing a wrapping label
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)

    Properties from GtkMisc:
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)
      xpad -> gint: X pad
        The amount of space to add on the left and right of the widget, in pixels
      ypad -> gint: Y pad
        The amount of space to add on the top and bottom of the widget, in pixels

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_closure: Optional[Callable[..., Any]]
        accel_widget: Optional[Widget]
        angle: float
        attributes: Optional[Pango.AttrList]
        cursor_position: int
        ellipsize: Pango.EllipsizeMode
        justify: Justification
        label: str
        lines: int
        max_width_chars: int
        mnemonic_keyval: int
        mnemonic_widget: Optional[Widget]
        selectable: bool
        selection_bound: int
        single_line_mode: bool
        track_visited_links: bool
        use_markup: bool
        use_underline: bool
        width_chars: int
        wrap: bool
        wrap_mode: Pango.WrapMode
        xalign: float
        yalign: float
        xpad: int
        ypad: int
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        pattern: str

    props: Props = ...
    label: Label = ...
    priv: AccelLabelPrivate = ...
    def __init__(
        self,
        accel_closure: Optional[Callable[..., Any]] = ...,
        accel_widget: Optional[Widget] = ...,
        angle: float = ...,
        attributes: Optional[Pango.AttrList] = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        justify: Justification = ...,
        label: str = ...,
        lines: int = ...,
        max_width_chars: int = ...,
        mnemonic_widget: Optional[Widget] = ...,
        pattern: str = ...,
        selectable: bool = ...,
        single_line_mode: bool = ...,
        track_visited_links: bool = ...,
        use_markup: bool = ...,
        use_underline: bool = ...,
        width_chars: int = ...,
        wrap: bool = ...,
        wrap_mode: Pango.WrapMode = ...,
        xalign: float = ...,
        yalign: float = ...,
        xpad: int = ...,
        ypad: int = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_accel(self) -> Tuple[int, Gdk.ModifierType]: ...
    def get_accel_widget(self) -> Optional[Widget]: ...
    def get_accel_width(self) -> int: ...
    @classmethod
    def new(cls, string: str) -> AccelLabel: ...
    def refetch(self) -> bool: ...
    def set_accel(
        self, accelerator_key: int, accelerator_mods: Gdk.ModifierType
    ) -> None: ...
    def set_accel_closure(
        self, accel_closure: Optional[Callable[..., Any]] = None
    ) -> None: ...
    def set_accel_widget(self, accel_widget: Optional[Widget] = None) -> None: ...

class AccelLabelClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AccelLabelClass()
    """

    parent_class: LabelClass = ...
    signal_quote1: str = ...
    signal_quote2: str = ...
    mod_name_shift: str = ...
    mod_name_control: str = ...
    mod_name_alt: str = ...
    mod_separator: str = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AccelLabelPrivate(GObject.GPointer): ...

class AccelMap(GObject.Object):
    """
    :Constructors:

    ::

        AccelMap(**properties)

    Object GtkAccelMap

    Signals from GtkAccelMap:
      changed (gchararray, guint, GdkModifierType)

    Signals from GObject:
      notify (GParam)
    """

    @staticmethod
    def add_entry(
        accel_path: str, accel_key: int, accel_mods: Gdk.ModifierType
    ) -> None: ...
    @staticmethod
    def add_filter(filter_pattern: str) -> None: ...
    @staticmethod
    def change_entry(
        accel_path: str, accel_key: int, accel_mods: Gdk.ModifierType, replace: bool
    ) -> bool: ...
    @staticmethod
    def foreach(
        data: None,
        foreach_func: Callable[[None, str, int, Gdk.ModifierType, bool], None],
    ) -> None: ...
    @staticmethod
    def foreach_unfiltered(
        data: None,
        foreach_func: Callable[[None, str, int, Gdk.ModifierType, bool], None],
    ) -> None: ...
    @staticmethod
    def get() -> AccelMap: ...
    @staticmethod
    def load(file_name: str) -> None: ...
    @staticmethod
    def load_fd(fd: int) -> None: ...
    @staticmethod
    def load_scanner(scanner: GLib.Scanner) -> None: ...
    @staticmethod
    def lock_path(accel_path: str) -> None: ...
    @staticmethod
    def lookup_entry(accel_path: str) -> Tuple[bool, AccelKey]: ...
    @staticmethod
    def save(file_name: str) -> None: ...
    @staticmethod
    def save_fd(fd: int) -> None: ...
    @staticmethod
    def unlock_path(accel_path: str) -> None: ...

class AccelMapClass(GObject.GPointer): ...

class Accessible(Atk.Object):
    """
    :Constructors:

    ::

        Accessible(**properties)

    Object GtkAccessible

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: Atk.Object = ...
    priv: AccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def connect_widget_destroyed(self) -> None: ...
    def do_connect_widget_destroyed(self) -> None: ...
    def do_widget_set(self) -> None: ...
    def do_widget_unset(self) -> None: ...
    def get_widget(self) -> Optional[Widget]: ...
    def set_widget(self, widget: Optional[Widget] = None) -> None: ...

class AccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AccessibleClass()
    """

    parent_class: Atk.ObjectClass = ...
    connect_widget_destroyed: Callable[[Accessible], None] = ...
    widget_set: Callable[[Accessible], None] = ...
    widget_unset: Callable[[Accessible], None] = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AccessiblePrivate(GObject.GPointer): ...

class Action(GObject.Object, Buildable):
    """
    :Constructors:

    ::

        Action(**properties)
        new(name:str, label:str=None, tooltip:str=None, stock_id:str=None) -> Gtk.Action

    Object GtkAction

    Signals from GtkAction:
      activate ()

    Properties from GtkAction:
      name -> gchararray: Name
        A unique name for the action.
      label -> gchararray: Label
        The label used for menu items and buttons that activate this action.
      short-label -> gchararray: Short label
        A shorter label that may be used on toolbar buttons.
      tooltip -> gchararray: Tooltip
        A tooltip for this action.
      stock-id -> gchararray: Stock Icon
        The stock icon displayed in widgets representing this action.
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      gicon -> GIcon: GIcon
        The GIcon being displayed
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      visible-overflown -> gboolean: Visible when overflown
        When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.
      is-important -> gboolean: Is important
        Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.
      hide-if-empty -> gboolean: Hide if empty
        When TRUE, empty menu proxies for this action are hidden.
      sensitive -> gboolean: Sensitive
        Whether the action is enabled.
      visible -> gboolean: Visible
        Whether the action is visible.
      action-group -> GtkActionGroup: Action Group
        The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        action_group: ActionGroup
        always_show_image: bool
        gicon: Gio.Icon
        hide_if_empty: bool
        icon_name: str
        is_important: bool
        label: str
        name: str
        sensitive: bool
        short_label: str
        stock_id: str
        tooltip: str
        visible: bool
        visible_horizontal: bool
        visible_overflown: bool
        visible_vertical: bool

    props: Props = ...
    object: GObject.Object = ...
    private_data: ActionPrivate = ...
    def __init__(
        self,
        action_group: ActionGroup = ...,
        always_show_image: bool = ...,
        gicon: Gio.Icon = ...,
        hide_if_empty: bool = ...,
        icon_name: str = ...,
        is_important: bool = ...,
        label: str = ...,
        name: str = ...,
        sensitive: bool = ...,
        short_label: str = ...,
        stock_id: str = ...,
        tooltip: str = ...,
        visible: bool = ...,
        visible_horizontal: bool = ...,
        visible_overflown: bool = ...,
        visible_vertical: bool = ...,
    ): ...
    def activate(self) -> None: ...
    def block_activate(self) -> None: ...
    def connect_accelerator(self) -> None: ...
    def create_icon(self, icon_size: int) -> Widget: ...
    def create_menu(self) -> Widget: ...
    def create_menu_item(self) -> Widget: ...
    def create_tool_item(self) -> Widget: ...
    def disconnect_accelerator(self) -> None: ...
    def do_activate(self) -> None: ...
    def do_connect_proxy(self, proxy: Widget) -> None: ...
    def do_create_menu(self) -> Widget: ...
    def do_create_menu_item(self) -> Widget: ...
    def do_create_tool_item(self) -> Widget: ...
    def do_disconnect_proxy(self, proxy: Widget) -> None: ...
    def get_accel_closure(self) -> Callable[..., Any]: ...
    def get_accel_path(self) -> str: ...
    def get_always_show_image(self) -> bool: ...
    def get_gicon(self) -> Gio.Icon: ...
    def get_icon_name(self) -> str: ...
    def get_is_important(self) -> bool: ...
    def get_label(self) -> str: ...
    def get_name(self) -> str: ...
    def get_proxies(self) -> list[Widget]: ...
    def get_sensitive(self) -> bool: ...
    def get_short_label(self) -> str: ...
    def get_stock_id(self) -> str: ...
    def get_tooltip(self) -> str: ...
    def get_visible(self) -> bool: ...
    def get_visible_horizontal(self) -> bool: ...
    def get_visible_vertical(self) -> bool: ...
    def is_sensitive(self) -> bool: ...
    def is_visible(self) -> bool: ...
    @classmethod
    def new(
        cls,
        name: str,
        label: Optional[str] = None,
        tooltip: Optional[str] = None,
        stock_id: Optional[str] = None,
    ) -> Action: ...
    def set_accel_group(self, accel_group: Optional[AccelGroup] = None) -> None: ...
    def set_accel_path(self, accel_path: str) -> None: ...
    def set_always_show_image(self, always_show: bool) -> None: ...
    def set_gicon(self, icon: Gio.Icon) -> None: ...
    def set_icon_name(self, icon_name: str) -> None: ...
    def set_is_important(self, is_important: bool) -> None: ...
    def set_label(self, label: str) -> None: ...
    def set_sensitive(self, sensitive: bool) -> None: ...
    def set_short_label(self, short_label: str) -> None: ...
    def set_stock_id(self, stock_id: str) -> None: ...
    def set_tooltip(self, tooltip: str) -> None: ...
    def set_visible(self, visible: bool) -> None: ...
    def set_visible_horizontal(self, visible_horizontal: bool) -> None: ...
    def set_visible_vertical(self, visible_vertical: bool) -> None: ...
    def unblock_activate(self) -> None: ...

class ActionBar(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        ActionBar(**properties)
        new() -> Gtk.Widget

    Object GtkActionBar

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    bin: Bin = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_center_widget(self) -> Optional[Widget]: ...
    @classmethod
    def new(cls) -> ActionBar: ...
    def pack_end(self, child: Widget) -> None: ...
    def pack_start(self, child: Widget) -> None: ...
    def set_center_widget(self, center_widget: Optional[Widget] = None) -> None: ...

class ActionBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ActionBarClass()
    """

    parent_class: BinClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ActionBarPrivate(GObject.GPointer): ...

class ActionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ActionClass()
    """

    parent_class: GObject.ObjectClass = ...
    activate: Callable[[Action], None] = ...
    menu_item_type: Type = ...
    toolbar_item_type: Type = ...
    create_menu_item: Callable[[Action], Widget] = ...
    create_tool_item: Callable[[Action], Widget] = ...
    connect_proxy: Callable[[Action, Widget], None] = ...
    disconnect_proxy: Callable[[Action, Widget], None] = ...
    create_menu: Callable[[Action], Widget] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ActionEntry(GObject.GPointer):
    """
    :Constructors:

    ::

        ActionEntry()
    """

    name: str = ...
    stock_id: str = ...
    label: str = ...
    accelerator: str = ...
    tooltip: str = ...
    callback: Callable[[], None] = ...

class ActionGroup(GObject.Object, Buildable):
    """
    :Constructors:

    ::

        ActionGroup(**properties)
        new(name:str) -> Gtk.ActionGroup

    Object GtkActionGroup

    Signals from GtkActionGroup:
      connect-proxy (GtkAction, GtkWidget)
      disconnect-proxy (GtkAction, GtkWidget)
      pre-activate (GtkAction)
      post-activate (GtkAction)

    Properties from GtkActionGroup:
      name -> gchararray: Name
        A name for the action group.
      sensitive -> gboolean: Sensitive
        Whether the action group is enabled.
      visible -> gboolean: Visible
        Whether the action group is visible.
      accel-group -> GtkAccelGroup: Accelerator Group
        The accelerator group the actions of this group should use.

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_group: AccelGroup
        name: str
        sensitive: bool
        visible: bool

    props: Props = ...
    parent: GObject.Object = ...
    priv: ActionGroupPrivate = ...
    def __init__(
        self,
        accel_group: Optional[AccelGroup] = ...,
        name: str = ...,
        sensitive: bool = ...,
        visible: bool = ...,
    ): ...
    def add_action(self, action: Action) -> None: ...
    def add_action_with_accel(
        self, action: Action, accelerator: Optional[str] = None
    ) -> None: ...
    def add_actions(self, entries, user_data=None): ...  # FIXME Function
    def add_radio_actions(
        self, entries, value=None, on_change=None, user_data=None
    ): ...  # FIXME Function
    def add_toggle_actions(self, entries, user_data=None): ...  # FIXME Function
    def do_get_action(self, action_name: str) -> Action: ...
    def get_accel_group(self) -> AccelGroup: ...
    def get_action(self, action_name: str) -> Action: ...
    def get_name(self) -> str: ...
    def get_sensitive(self) -> bool: ...
    def get_visible(self) -> bool: ...
    def list_actions(self) -> list[Action]: ...
    @classmethod
    def new(cls, name: str) -> ActionGroup: ...
    def remove_action(self, action: Action) -> None: ...
    def set_accel_group(self, accel_group: Optional[AccelGroup] = None) -> None: ...
    def set_sensitive(self, sensitive: bool) -> None: ...
    def set_translate_func(self, func: Callable[..., str], *data: Any) -> None: ...
    def set_translation_domain(self, domain: Optional[str] = None) -> None: ...
    def set_visible(self, visible: bool) -> None: ...
    def translate_string(self, string: str) -> str: ...

class ActionGroupClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ActionGroupClass()
    """

    parent_class: GObject.ObjectClass = ...
    get_action: Callable[[ActionGroup, str], Action] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ActionGroupPrivate(GObject.GPointer): ...
class ActionPrivate(GObject.GPointer): ...

class Actionable(GObject.GInterface):
    """
    Interface GtkActionable

    Signals from GObject:
      notify (GParam)
    """

    def get_action_name(self) -> Optional[str]: ...
    def get_action_target_value(self) -> GLib.Variant: ...
    def set_action_name(self, action_name: Optional[str] = None) -> None: ...
    def set_action_target_value(
        self, target_value: Optional[GLib.Variant] = None
    ) -> None: ...
    def set_detailed_action_name(self, detailed_action_name: str) -> None: ...

class ActionableInterface(GObject.GPointer):
    """
    :Constructors:

    ::

        ActionableInterface()
    """

    g_iface: GObject.TypeInterface = ...
    get_action_name: Callable[[Actionable], Optional[str]] = ...
    set_action_name: Callable[[Actionable, Optional[str]], None] = ...
    get_action_target_value: Callable[[Actionable], GLib.Variant] = ...
    set_action_target_value: Callable[[Actionable, Optional[GLib.Variant]], None] = ...

class Activatable(GObject.GInterface):
    """
    Interface GtkActivatable

    Signals from GObject:
      notify (GParam)
    """

    def do_set_related_action(self, action: Action) -> None: ...
    def get_related_action(self) -> Action: ...
    def get_use_action_appearance(self) -> bool: ...
    def set_related_action(self, action: Action) -> None: ...
    def set_use_action_appearance(self, use_appearance: bool) -> None: ...
    def sync_action_properties(self, action: Optional[Action] = None) -> None: ...

class ActivatableIface(GObject.GPointer):
    """
    :Constructors:

    ::

        ActivatableIface()
    """

    g_iface: GObject.TypeInterface = ...
    update: Callable[[Activatable, Action, str], None] = ...
    sync_action_properties: Callable[[Activatable, Optional[Action]], None] = ...

class Adjustment(GObject.InitiallyUnowned):
    """
    :Constructors:

    ::

        Adjustment(**properties)
        new(value:float, lower:float, upper:float, step_increment:float, page_increment:float, page_size:float) -> Gtk.Adjustment

    Object GtkAdjustment

    Signals from GtkAdjustment:
      changed ()
      value-changed ()

    Properties from GtkAdjustment:
      value -> gdouble: Value
        The value of the adjustment
      lower -> gdouble: Minimum Value
        The minimum value of the adjustment
      upper -> gdouble: Maximum Value
        The maximum value of the adjustment
      step-increment -> gdouble: Step Increment
        The step increment of the adjustment
      page-increment -> gdouble: Page Increment
        The page increment of the adjustment
      page-size -> gdouble: Page Size
        The page size of the adjustment

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        lower: float
        page_increment: float
        page_size: float
        step_increment: float
        upper: float
        value: float

    props: Props = ...
    parent_instance: GObject.InitiallyUnowned = ...
    priv: AdjustmentPrivate = ...
    def __init__(
        self,
        lower: float = ...,
        page_increment: float = ...,
        page_size: float = ...,
        step_increment: float = ...,
        upper: float = ...,
        value: float = ...,
    ): ...
    def changed(self) -> None: ...
    def clamp_page(self, lower: float, upper: float) -> None: ...
    def configure(
        self,
        value: float,
        lower: float,
        upper: float,
        step_increment: float,
        page_increment: float,
        page_size: float,
    ) -> None: ...
    def do_changed(self) -> None: ...
    def do_value_changed(self) -> None: ...
    def get_lower(self) -> float: ...
    def get_minimum_increment(self) -> float: ...
    def get_page_increment(self) -> float: ...
    def get_page_size(self) -> float: ...
    def get_step_increment(self) -> float: ...
    def get_upper(self) -> float: ...
    def get_value(self) -> float: ...
    @classmethod
    def new(
        cls,
        value: float,
        lower: float,
        upper: float,
        step_increment: float,
        page_increment: float,
        page_size: float,
    ) -> Adjustment: ...
    def set_lower(self, lower: float) -> None: ...
    def set_page_increment(self, page_increment: float) -> None: ...
    def set_page_size(self, page_size: float) -> None: ...
    def set_step_increment(self, step_increment: float) -> None: ...
    def set_upper(self, upper: float) -> None: ...
    def set_value(self, value: float) -> None: ...
    def value_changed(self) -> None: ...

class AdjustmentClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AdjustmentClass()
    """

    parent_class: GObject.InitiallyUnownedClass = ...
    changed: Callable[[Adjustment], None] = ...
    value_changed: Callable[[Adjustment], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AdjustmentPrivate(GObject.GPointer): ...

class Alignment(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Alignment(**properties)
        new(xalign:float, yalign:float, xscale:float, yscale:float) -> Gtk.Widget

    Object GtkAlignment

    Properties from GtkAlignment:
      xalign -> gfloat: Horizontal alignment
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      xscale -> gfloat: Horizontal scale
        If available horizontal space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all
      yscale -> gfloat: Vertical scale
        If available vertical space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all
      top-padding -> guint: Top Padding
        The padding to insert at the top of the widget.
      bottom-padding -> guint: Bottom Padding
        The padding to insert at the bottom of the widget.
      left-padding -> guint: Left Padding
        The padding to insert at the left of the widget.
      right-padding -> guint: Right Padding
        The padding to insert at the right of the widget.

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        bottom_padding: int
        left_padding: int
        right_padding: int
        top_padding: int
        xalign: float
        xscale: float
        yalign: float
        yscale: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: AlignmentPrivate = ...
    def __init__(
        self,
        bottom_padding: int = ...,
        left_padding: int = ...,
        right_padding: int = ...,
        top_padding: int = ...,
        xalign: float = ...,
        xscale: float = ...,
        yalign: float = ...,
        yscale: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_padding(self) -> Tuple[int, int, int, int]: ...
    @classmethod
    def new(
        cls, xalign: float, yalign: float, xscale: float, yscale: float
    ) -> Alignment: ...
    def set(
        self, xalign: float, yalign: float, xscale: float, yscale: float
    ) -> None: ...
    def set_padding(
        self,
        padding_top: int,
        padding_bottom: int,
        padding_left: int,
        padding_right: int,
    ) -> None: ...

class AlignmentClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AlignmentClass()
    """

    parent_class: BinClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AlignmentPrivate(GObject.GPointer): ...

class AppChooser(GObject.GInterface):
    """
    Interface GtkAppChooser

    Signals from GObject:
      notify (GParam)
    """

    def get_app_info(self) -> Optional[Gio.AppInfo]: ...
    def get_content_type(self) -> str: ...
    def refresh(self) -> None: ...

class AppChooserButton(
    ComboBox, Atk.ImplementorIface, AppChooser, Buildable, CellEditable, CellLayout
):
    """
    :Constructors:

    ::

        AppChooserButton(**properties)
        new(content_type:str) -> Gtk.Widget

    Object GtkAppChooserButton

    Signals from GtkAppChooserButton:
      custom-item-activated (gchararray)

    Properties from GtkAppChooserButton:
      show-dialog-item -> gboolean: Include an 'Other…' item
        Whether the combobox should include an item that triggers a GtkAppChooserDialog
      show-default-item -> gboolean: Show default item
        Whether the combobox should show the default application on top
      heading -> gchararray: Heading
        The text to show at the top of the dialog

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkComboBox:
      changed ()
      move-active (GtkScrollType)
      popup ()
      popdown () -> gboolean
      format-entry-text (gchararray) -> gchararray

    Properties from GtkComboBox:
      model -> GtkTreeModel: ComboBox model
        The model for the combo box
      wrap-width -> gint: Wrap width
        Wrap width for laying out the items in a grid
      row-span-column -> gint: Row span column
        TreeModel column containing the row span values
      column-span-column -> gint: Column span column
        TreeModel column containing the column span values
      active -> gint: Active item
        The item which is currently active
      add-tearoffs -> gboolean: Add tearoffs to menus
        Whether dropdowns should have a tearoff menu item
      tearoff-title -> gchararray: Tearoff Title
        A title that may be displayed by the window manager when the popup is torn-off
      has-frame -> gboolean: Has Frame
        Whether the combo box draws a frame around the child
      popup-shown -> gboolean: Popup shown
        Whether the combo's dropdown is shown
      button-sensitivity -> GtkSensitivityType: Button Sensitivity
        Whether the dropdown button is sensitive when the model is empty
      has-entry -> gboolean: Has Entry
        Whether combo box has an entry
      entry-text-column -> gint: 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
      popup-fixed-width -> gboolean: Popup Fixed Width
        Whether the popup's width should be a fixed width matching the allocated width of the combo box
      id-column -> gint: ID Column
        The column in the combo box's model that provides string IDs for the values in the model
      active-id -> gchararray: Active id
        The value of the id column for the active row
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        heading: Optional[str]
        show_default_item: bool
        show_dialog_item: bool
        active: int
        active_id: Optional[str]
        add_tearoffs: bool
        button_sensitivity: SensitivityType
        cell_area: CellArea
        column_span_column: int
        entry_text_column: int
        has_entry: bool
        has_frame: bool
        id_column: int
        model: TreeModel
        popup_fixed_width: bool
        popup_shown: bool
        row_span_column: int
        tearoff_title: str
        wrap_width: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        content_type: str
        editing_canceled: bool
        child: Widget

    props: Props = ...
    parent: ComboBox = ...
    priv: AppChooserButtonPrivate = ...
    def __init__(
        self,
        heading: str = ...,
        show_default_item: bool = ...,
        show_dialog_item: bool = ...,
        active: int = ...,
        active_id: Optional[str] = ...,
        add_tearoffs: bool = ...,
        button_sensitivity: SensitivityType = ...,
        cell_area: CellArea = ...,
        column_span_column: int = ...,
        entry_text_column: int = ...,
        has_entry: bool = ...,
        has_frame: bool = ...,
        id_column: int = ...,
        model: Optional[TreeModel] = ...,
        popup_fixed_width: bool = ...,
        row_span_column: int = ...,
        tearoff_title: str = ...,
        wrap_width: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        content_type: str = ...,
        editing_canceled: bool = ...,
    ): ...
    def append_custom_item(self, name: str, label: str, icon: Gio.Icon) -> None: ...
    def append_separator(self) -> None: ...
    def do_custom_item_activated(self, item_name: str) -> None: ...
    def get_heading(self) -> Optional[str]: ...
    def get_show_default_item(self) -> bool: ...
    def get_show_dialog_item(self) -> bool: ...
    @classmethod
    def new(cls, content_type: str) -> AppChooserButton: ...
    def set_active_custom_item(self, name: str) -> None: ...
    def set_heading(self, heading: str) -> None: ...
    def set_show_default_item(self, setting: bool) -> None: ...
    def set_show_dialog_item(self, setting: bool) -> None: ...

class AppChooserButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AppChooserButtonClass()
    """

    parent_class: ComboBoxClass = ...
    custom_item_activated: Callable[[AppChooserButton, str], None] = ...
    padding: list[None] = ...

class AppChooserButtonPrivate(GObject.GPointer): ...

class AppChooserDialog(Dialog, Atk.ImplementorIface, AppChooser, Buildable):
    """
    :Constructors:

    ::

        AppChooserDialog(**properties)
        new(parent:Gtk.Window=None, flags:Gtk.DialogFlags, file:Gio.File) -> Gtk.Widget
        new_for_content_type(parent:Gtk.Window=None, flags:Gtk.DialogFlags, content_type:str) -> Gtk.Widget

    Object GtkAppChooserDialog

    Properties from GtkAppChooserDialog:
      gfile -> GFile: GFile
        The GFile used by the app chooser dialog
      heading -> gchararray: Heading
        The text to show at the top of the dialog

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        gfile: Gio.File
        heading: Optional[str]
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        content_type: str
        startup_id: str
        child: Widget

    props: Props = ...
    parent: Dialog = ...
    priv: AppChooserDialogPrivate = ...
    def __init__(
        self,
        gfile: Gio.File = ...,
        heading: str = ...,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        content_type: str = ...,
    ): ...
    def get_heading(self) -> Optional[str]: ...
    def get_widget(self) -> Widget: ...
    @classmethod
    def new(
        cls, parent: Optional[Window], flags: DialogFlags, file: Gio.File
    ) -> AppChooserDialog: ...
    @classmethod
    def new_for_content_type(
        cls, parent: Optional[Window], flags: DialogFlags, content_type: str
    ) -> AppChooserDialog: ...
    def set_heading(self, heading: str) -> None: ...

class AppChooserDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AppChooserDialogClass()
    """

    parent_class: DialogClass = ...
    padding: list[None] = ...

class AppChooserDialogPrivate(GObject.GPointer): ...

class AppChooserWidget(Box, Atk.ImplementorIface, AppChooser, Buildable, Orientable):
    """
    :Constructors:

    ::

        AppChooserWidget(**properties)
        new(content_type:str) -> Gtk.Widget

    Object GtkAppChooserWidget

    Signals from GtkAppChooserWidget:
      populate-popup (GtkMenu, GAppInfo)
      application-selected (GAppInfo)
      application-activated (GAppInfo)

    Properties from GtkAppChooserWidget:
      show-default -> gboolean: Show default app
        Whether the widget should show the default application
      show-recommended -> gboolean: Show recommended apps
        Whether the widget should show recommended applications
      show-fallback -> gboolean: Show fallback apps
        Whether the widget should show fallback applications
      show-other -> gboolean: Show other apps
        Whether the widget should show other applications
      show-all -> gboolean: Show all apps
        Whether the widget should show all applications
      default-text -> gchararray: Widget's default text
        The default text appearing when there are no applications

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        default_text: str
        show_all: bool
        show_default: bool
        show_fallback: bool
        show_other: bool
        show_recommended: bool
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        content_type: str
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent: Box = ...
    priv: AppChooserWidgetPrivate = ...
    def __init__(
        self,
        default_text: str = ...,
        show_all: bool = ...,
        show_default: bool = ...,
        show_fallback: bool = ...,
        show_other: bool = ...,
        show_recommended: bool = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        content_type: str = ...,
        orientation: Orientation = ...,
    ): ...
    def do_application_activated(self, app_info: Gio.AppInfo) -> None: ...
    def do_application_selected(self, app_info: Gio.AppInfo) -> None: ...
    def do_populate_popup(self, menu: Menu, app_info: Gio.AppInfo) -> None: ...
    def get_default_text(self) -> str: ...
    def get_show_all(self) -> bool: ...
    def get_show_default(self) -> bool: ...
    def get_show_fallback(self) -> bool: ...
    def get_show_other(self) -> bool: ...
    def get_show_recommended(self) -> bool: ...
    @classmethod
    def new(cls, content_type: str) -> AppChooserWidget: ...
    def set_default_text(self, text: str) -> None: ...
    def set_show_all(self, setting: bool) -> None: ...
    def set_show_default(self, setting: bool) -> None: ...
    def set_show_fallback(self, setting: bool) -> None: ...
    def set_show_other(self, setting: bool) -> None: ...
    def set_show_recommended(self, setting: bool) -> None: ...

class AppChooserWidgetClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AppChooserWidgetClass()
    """

    parent_class: BoxClass = ...
    application_selected: Callable[[AppChooserWidget, Gio.AppInfo], None] = ...
    application_activated: Callable[[AppChooserWidget, Gio.AppInfo], None] = ...
    populate_popup: Callable[[AppChooserWidget, Menu, Gio.AppInfo], None] = ...
    padding: list[None] = ...

class AppChooserWidgetPrivate(GObject.GPointer): ...

class Application(Gio.Application, Gio.ActionGroup, Gio.ActionMap):
    """
    :Constructors:

    ::

        Application(**properties)
        new(application_id:str=None, flags:Gio.ApplicationFlags) -> Gtk.Application

    Object GtkApplication

    Signals from GtkApplication:
      window-added (GtkWindow)
      window-removed (GtkWindow)
      query-end ()

    Properties from GtkApplication:
      register-session -> gboolean: Register session
        Register with the session manager
      screensaver-active -> gboolean: Screensaver Active
        Whether the screensaver is active
      app-menu -> GMenuModel: Application menu
        The GMenuModel for the application menu
      menubar -> GMenuModel: Menubar
        The GMenuModel for the menubar
      active-window -> GtkWindow: Active window
        The window which most recently had focus

    Signals from GActionGroup:
      action-added (gchararray)
      action-removed (gchararray)
      action-enabled-changed (gchararray, gboolean)
      action-state-changed (gchararray, GVariant)

    Signals from GApplication:
      activate ()
      startup ()
      shutdown ()
      open (gpointer, gint, gchararray)
      command-line (GApplicationCommandLine) -> gint
      handle-local-options (GVariantDict) -> gint
      name-lost () -> gboolean

    Properties from GApplication:
      application-id -> gchararray: Application identifier
        The unique identifier for the application
      flags -> GApplicationFlags: Application flags
        Flags specifying the behaviour of the application
      resource-base-path -> gchararray: Resource base path
        The base resource path for the application
      is-registered -> gboolean: Is registered
        If g_application_register() has been called
      is-remote -> gboolean: Is remote
        If this application instance is remote
      inactivity-timeout -> guint: Inactivity timeout
        Time (ms) to stay alive after becoming idle
      action-group -> GActionGroup: Action group
        The group of actions that the application exports
      is-busy -> gboolean: Is busy
        If this application is currently marked busy

    Signals from GActionGroup:
      action-added (gchararray)
      action-removed (gchararray)
      action-enabled-changed (gchararray, gboolean)
      action-state-changed (gchararray, GVariant)

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active_window: Optional[Window]
        app_menu: Optional[Gio.MenuModel]
        menubar: Gio.MenuModel
        register_session: bool
        screensaver_active: bool
        application_id: Optional[str]
        flags: Gio.ApplicationFlags
        inactivity_timeout: int
        is_busy: bool
        is_registered: bool
        is_remote: bool
        resource_base_path: Optional[str]
        action_group: Optional[Gio.ActionGroup]

    props: Props = ...
    parent: Gio.Application = ...
    priv: ApplicationPrivate = ...
    def __init__(
        self,
        app_menu: Optional[Gio.MenuModel] = ...,
        menubar: Optional[Gio.MenuModel] = ...,
        register_session: bool = ...,
        action_group: Optional[Gio.ActionGroup] = ...,
        application_id: Optional[str] = ...,
        flags: Gio.ApplicationFlags = ...,
        inactivity_timeout: int = ...,
        resource_base_path: Optional[str] = ...,
    ): ...
    def add_accelerator(
        self,
        accelerator: str,
        action_name: str,
        parameter: Optional[GLib.Variant] = None,
    ) -> None: ...
    def add_window(self, window: Window) -> None: ...
    def do_window_added(self, window: Window) -> None: ...
    def do_window_removed(self, window: Window) -> None: ...
    def get_accels_for_action(self, detailed_action_name: str) -> list[str]: ...
    def get_actions_for_accel(self, accel: str) -> list[str]: ...
    def get_active_window(self) -> Optional[Window]: ...
    def get_app_menu(self) -> Optional[Gio.MenuModel]: ...
    def get_menu_by_id(self, id: str) -> Gio.Menu: ...
    def get_menubar(self) -> Gio.MenuModel: ...
    def get_window_by_id(self, id: int) -> Optional[Window]: ...
    def get_windows(self) -> list[Window]: ...
    def inhibit(
        self,
        window: Optional[Window],
        flags: ApplicationInhibitFlags,
        reason: Optional[str] = None,
    ) -> int: ...
    def is_inhibited(self, flags: ApplicationInhibitFlags) -> bool: ...
    def list_action_descriptions(self) -> list[str]: ...
    @classmethod
    def new(
        cls, application_id: Optional[str], flags: Gio.ApplicationFlags
    ) -> Application: ...
    def prefers_app_menu(self) -> bool: ...
    def remove_accelerator(
        self, action_name: str, parameter: Optional[GLib.Variant] = None
    ) -> None: ...
    def remove_window(self, window: Window) -> None: ...
    def set_accels_for_action(
        self, detailed_action_name: str, accels: Sequence[str]
    ) -> None: ...
    def set_app_menu(self, app_menu: Optional[Gio.MenuModel] = None) -> None: ...
    def set_menubar(self, menubar: Optional[Gio.MenuModel] = None) -> None: ...
    def uninhibit(self, cookie: int) -> None: ...

class ApplicationClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ApplicationClass()
    """

    parent_class: Gio.ApplicationClass = ...
    window_added: Callable[[Application, Window], None] = ...
    window_removed: Callable[[Application, Window], None] = ...
    padding: list[None] = ...

class ApplicationPrivate(GObject.GPointer): ...

class ApplicationWindow(
    Window, Atk.ImplementorIface, Gio.ActionGroup, Gio.ActionMap, Buildable
):
    """
    :Constructors:

    ::

        ApplicationWindow(**properties)
        new(application:Gtk.Application) -> Gtk.Widget

    Object GtkApplicationWindow

    Properties from GtkApplicationWindow:
      show-menubar -> gboolean: Show a menubar
        TRUE if the window should show a menubar at the top of the window

    Signals from GActionGroup:
      action-added (gchararray)
      action-removed (gchararray)
      action-enabled-changed (gchararray, gboolean)
      action-state-changed (gchararray, GVariant)

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        show_menubar: bool
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Window = ...
    priv: ApplicationWindowPrivate = ...
    def __init__(
        self,
        show_menubar: bool = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_help_overlay(self) -> Optional[ShortcutsWindow]: ...
    def get_id(self) -> int: ...
    def get_show_menubar(self) -> bool: ...
    @classmethod
    def new(cls, application: Application) -> ApplicationWindow: ...
    def set_help_overlay(
        self, help_overlay: Optional[ShortcutsWindow] = None
    ) -> None: ...
    def set_show_menubar(self, show_menubar: bool) -> None: ...

class ApplicationWindowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ApplicationWindowClass()
    """

    parent_class: WindowClass = ...
    padding: list[None] = ...

class ApplicationWindowPrivate(GObject.GPointer): ...

class Arrow(Misc, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Arrow(**properties)
        new(arrow_type:Gtk.ArrowType, shadow_type:Gtk.ShadowType) -> Gtk.Widget

    Object GtkArrow

    Properties from GtkArrow:
      arrow-type -> GtkArrowType: Arrow direction
        The direction the arrow should point
      shadow-type -> GtkShadowType: Arrow shadow
        Appearance of the shadow surrounding the arrow

    Properties from GtkMisc:
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)
      xpad -> gint: X pad
        The amount of space to add on the left and right of the widget, in pixels
      ypad -> gint: Y pad
        The amount of space to add on the top and bottom of the widget, in pixels

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        arrow_type: ArrowType
        shadow_type: ShadowType
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    misc: Misc = ...
    priv: ArrowPrivate = ...
    def __init__(
        self,
        arrow_type: ArrowType = ...,
        shadow_type: ShadowType = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    @classmethod
    def new(cls, arrow_type: ArrowType, shadow_type: ShadowType) -> Arrow: ...
    def set(self, arrow_type: ArrowType, shadow_type: ShadowType) -> None: ...

class ArrowAccessible(WidgetAccessible, Atk.Component, Atk.Image):
    """
    :Constructors:

    ::

        ArrowAccessible(**properties)

    Object GtkArrowAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: ArrowAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ArrowAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ArrowAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class ArrowAccessiblePrivate(GObject.GPointer): ...

class ArrowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ArrowClass()
    """

    parent_class: MiscClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ArrowPrivate(GObject.GPointer): ...

class AspectFrame(Frame, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        AspectFrame(**properties)
        new(label:str=None, xalign:float, yalign:float, ratio:float, obey_child:bool) -> Gtk.Widget

    Object GtkAspectFrame

    Properties from GtkAspectFrame:
      xalign -> gfloat: Horizontal Alignment
        X alignment of the child
      yalign -> gfloat: Vertical Alignment
        Y alignment of the child
      ratio -> gfloat: Ratio
        Aspect ratio if obey_child is FALSE
      obey-child -> gboolean: Obey child
        Force aspect ratio to match that of the frame's child

    Properties from GtkFrame:
      label -> gchararray: Label
        Text of the frame's label
      label-xalign -> gfloat: Label xalign
        The horizontal alignment of the label
      label-yalign -> gfloat: Label yalign
        The vertical alignment of the label
      shadow-type -> GtkShadowType: Frame shadow
        Appearance of the frame border
      label-widget -> GtkWidget: Label widget
        A widget to display in place of the usual frame label

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        obey_child: bool
        ratio: float
        xalign: float
        yalign: float
        label: Optional[str]
        label_widget: Optional[Widget]
        label_xalign: float
        label_yalign: float
        shadow_type: ShadowType
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    frame: Frame = ...
    priv: AspectFramePrivate = ...
    def __init__(
        self,
        obey_child: bool = ...,
        ratio: float = ...,
        xalign: float = ...,
        yalign: float = ...,
        label: Optional[str] = ...,
        label_widget: Optional[Widget] = ...,
        label_xalign: float = ...,
        label_yalign: float = ...,
        shadow_type: ShadowType = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    @classmethod
    def new(
        cls,
        label: Optional[str],
        xalign: float,
        yalign: float,
        ratio: float,
        obey_child: bool,
    ) -> AspectFrame: ...
    def set(
        self, xalign: float, yalign: float, ratio: float, obey_child: bool
    ) -> None: ...

class AspectFrameClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AspectFrameClass()
    """

    parent_class: FrameClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class AspectFramePrivate(GObject.GPointer): ...

class Assistant(Window, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Assistant(**properties)
        new() -> Gtk.Widget

    Object GtkAssistant

    Signals from GtkAssistant:
      cancel ()
      close ()
      prepare (GtkWidget)
      apply ()
      escape ()

    Properties from GtkAssistant:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    parent: Window = ...
    priv: AssistantPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_action_widget(self, child: Widget) -> None: ...
    def append_page(self, page: Widget) -> int: ...
    def commit(self) -> None: ...
    def do_apply(self) -> None: ...
    def do_cancel(self) -> None: ...
    def do_close(self) -> None: ...
    def do_prepare(self, page: Widget) -> None: ...
    def get_current_page(self) -> int: ...
    def get_n_pages(self) -> int: ...
    def get_nth_page(self, page_num: int) -> Optional[Widget]: ...
    def get_page_complete(self, page: Widget) -> bool: ...
    def get_page_has_padding(self, page: Widget) -> bool: ...
    def get_page_header_image(self, page: Widget) -> GdkPixbuf.Pixbuf: ...
    def get_page_side_image(self, page: Widget) -> GdkPixbuf.Pixbuf: ...
    def get_page_title(self, page: Widget) -> str: ...
    def get_page_type(self, page: Widget) -> AssistantPageType: ...
    def insert_page(self, page: Widget, position: int) -> int: ...
    @classmethod
    def new(cls) -> Assistant: ...
    def next_page(self) -> None: ...
    def prepend_page(self, page: Widget) -> int: ...
    def previous_page(self) -> None: ...
    def remove_action_widget(self, child: Widget) -> None: ...
    def remove_page(self, page_num: int) -> None: ...
    def set_current_page(self, page_num: int) -> None: ...
    def set_forward_page_func(
        self, page_func: Optional[Callable[..., int]] = None, *data: Any
    ) -> None: ...
    def set_page_complete(self, page: Widget, complete: bool) -> None: ...
    def set_page_has_padding(self, page: Widget, has_padding: bool) -> None: ...
    def set_page_header_image(
        self, page: Widget, pixbuf: Optional[GdkPixbuf.Pixbuf] = None
    ) -> None: ...
    def set_page_side_image(
        self, page: Widget, pixbuf: Optional[GdkPixbuf.Pixbuf] = None
    ) -> None: ...
    def set_page_title(self, page: Widget, title: str) -> None: ...
    def set_page_type(self, page: Widget, type: AssistantPageType) -> None: ...
    def update_buttons_state(self) -> None: ...

class AssistantClass(GObject.GPointer):
    """
    :Constructors:

    ::

        AssistantClass()
    """

    parent_class: WindowClass = ...
    prepare: Callable[[Assistant, Widget], None] = ...
    apply: Callable[[Assistant], None] = ...
    close: Callable[[Assistant], None] = ...
    cancel: Callable[[Assistant], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...

class AssistantPrivate(GObject.GPointer): ...

class Bin(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Bin(**properties)

    Object GtkBin

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: BinPrivate = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_child(self) -> Optional[Widget]: ...

class BinClass(GObject.GPointer):
    """
    :Constructors:

    ::

        BinClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class BinPrivate(GObject.GPointer): ...

class BindingArg(GObject.GPointer):
    """
    :Constructors:

    ::

        BindingArg()
    """

    arg_type: Type = ...

class BindingEntry(GObject.GPointer):
    """
    :Constructors:

    ::

        BindingEntry()
    """

    keyval: int = ...
    modifiers: Gdk.ModifierType = ...
    binding_set: BindingSet = ...
    destroyed: int = ...
    in_emission: int = ...
    marks_unbound: int = ...
    set_next: BindingEntry = ...
    hash_next: BindingEntry = ...
    signals: BindingSignal = ...
    @staticmethod
    def add_signal_from_string(
        binding_set: BindingSet, signal_desc: str
    ) -> GLib.TokenType: ...
    @staticmethod
    def add_signall(
        binding_set: BindingSet,
        keyval: int,
        modifiers: Gdk.ModifierType,
        signal_name: str,
        binding_args: list[BindingArg],
    ) -> None: ...
    @staticmethod
    def remove(
        binding_set: BindingSet, keyval: int, modifiers: Gdk.ModifierType
    ) -> None: ...
    @staticmethod
    def skip(
        binding_set: BindingSet, keyval: int, modifiers: Gdk.ModifierType
    ) -> None: ...

class BindingSet(GObject.GPointer):
    """
    :Constructors:

    ::

        BindingSet()
    """

    set_name: str = ...
    priority: int = ...
    widget_path_pspecs: list[None] = ...
    widget_class_pspecs: list[None] = ...
    class_branch_pspecs: list[None] = ...
    entries: BindingEntry = ...
    current: BindingEntry = ...
    parsed: int = ...
    def activate(
        self, keyval: int, modifiers: Gdk.ModifierType, object: GObject.Object
    ) -> bool: ...
    def add_path(
        self, path_type: PathType, path_pattern: str, priority: PathPriorityType
    ) -> None: ...
    @staticmethod
    def find(set_name: str) -> Optional[BindingSet]: ...

class BindingSignal(GObject.GPointer):
    """
    :Constructors:

    ::

        BindingSignal()
    """

    next: BindingSignal = ...
    signal_name: str = ...
    n_args: int = ...
    args: list[BindingArg] = ...

class BooleanCellAccessible(
    RendererCellAccessible, Atk.Action, Atk.Component, Atk.TableCell
):
    """
    :Constructors:

    ::

        BooleanCellAccessible(**properties)

    Object GtkBooleanCellAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkRendererCellAccessible:
      renderer -> GtkCellRenderer: Cell renderer
        The cell renderer represented by this accessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        renderer: CellRenderer
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: RendererCellAccessible = ...
    priv: BooleanCellAccessiblePrivate = ...
    def __init__(
        self,
        renderer: CellRenderer = ...,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class BooleanCellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        BooleanCellAccessibleClass()
    """

    parent_class: RendererCellAccessibleClass = ...

class BooleanCellAccessiblePrivate(GObject.GPointer): ...

class Border(GObject.GBoxed):
    """
    :Constructors:

    ::

        Border()
        new() -> Gtk.Border
    """

    left: int = ...
    right: int = ...
    top: int = ...
    bottom: int = ...
    def copy(self) -> Border: ...
    def free(self) -> None: ...
    @classmethod
    def new(cls) -> Border: ...

class Box(Container, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Box(**properties)
        new(orientation:Gtk.Orientation, spacing:int) -> Gtk.Widget

    Object GtkBox

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: BoxPrivate = ...
    def __init__(
        self,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_baseline_position(self) -> BaselinePosition: ...
    def get_center_widget(self) -> Optional[Widget]: ...
    def get_homogeneous(self) -> bool: ...
    def get_spacing(self) -> int: ...
    @classmethod
    def new(cls, orientation: Orientation, spacing: int) -> Box: ...
    def pack_end(
        self, child: Widget, expand: bool, fill: bool, padding: int
    ) -> None: ...
    def pack_start(
        self, child: Widget, expand: bool, fill: bool, padding: int
    ) -> None: ...
    def query_child_packing(
        self, child: Widget
    ) -> Tuple[bool, bool, int, PackType]: ...
    def reorder_child(self, child: Widget, position: int) -> None: ...
    def set_baseline_position(self, position: BaselinePosition) -> None: ...
    def set_center_widget(self, widget: Optional[Widget] = None) -> None: ...
    def set_child_packing(
        self, child: Widget, expand: bool, fill: bool, padding: int, pack_type: PackType
    ) -> None: ...
    def set_homogeneous(self, homogeneous: bool) -> None: ...
    def set_spacing(self, spacing: int) -> None: ...

class BoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        BoxClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class BoxPrivate(GObject.GPointer): ...

class Buildable(GObject.GInterface):
    """
    Interface GtkBuildable

    Signals from GObject:
      notify (GParam)
    """

    def add_child(
        self, builder: Builder, child: GObject.Object, type: Optional[str] = None
    ) -> None: ...
    def construct_child(self, builder: Builder, name: str) -> GObject.Object: ...
    def custom_finished(
        self,
        builder: Builder,
        child: Optional[GObject.Object],
        tagname: str,
        data: None,
    ) -> None: ...
    def custom_tag_end(
        self,
        builder: Builder,
        child: Optional[GObject.Object],
        tagname: str,
        data: None,
    ) -> None: ...
    def custom_tag_start(
        self, builder: Builder, child: Optional[GObject.Object], tagname: str
    ) -> Tuple[bool, GLib.MarkupParser, None]: ...
    def get_internal_child(
        self, builder: Builder, childname: str
    ) -> GObject.Object: ...
    def get_name(self) -> str: ...
    def parser_finished(self, builder: Builder) -> None: ...
    def set_buildable_property(
        self, builder: Builder, name: str, value: Any
    ) -> None: ...
    def set_name(self, name: str) -> None: ...

class BuildableIface(GObject.GPointer):
    """
    :Constructors:

    ::

        BuildableIface()
    """

    g_iface: GObject.TypeInterface = ...
    set_name: Callable[[Buildable, str], None] = ...
    get_name: Callable[[Buildable], str] = ...
    add_child: Callable[[Buildable, Builder, GObject.Object, Optional[str]], None] = ...
    set_buildable_property: Callable[[Buildable, Builder, str, Any], None] = ...
    construct_child: Callable[[Buildable, Builder, str], GObject.Object] = ...
    custom_tag_start: Callable[
        [Buildable, Builder, Optional[GObject.Object], str],
        Tuple[bool, GLib.MarkupParser, None],
    ] = ...
    custom_tag_end: Callable[
        [Buildable, Builder, Optional[GObject.Object], str, None], None
    ] = ...
    custom_finished: Callable[
        [Buildable, Builder, Optional[GObject.Object], str, None], None
    ] = ...
    parser_finished: Callable[[Buildable, Builder], None] = ...
    get_internal_child: Callable[[Buildable, Builder, str], GObject.Object] = ...

class Builder(GObject.Object):
    """
    :Constructors:

    ::

        Builder(**properties)
        new() -> Gtk.Builder
        new_from_file(filename:str) -> Gtk.Builder
        new_from_resource(resource_path:str) -> Gtk.Builder
        new_from_string(string:str, length:int) -> Gtk.Builder

    Object GtkBuilder

    Properties from GtkBuilder:
      translation-domain -> gchararray: Translation Domain
        The translation domain used by gettext

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        translation_domain: str

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: BuilderPrivate = ...
    def __init__(self, translation_domain: Optional[str] = ...): ...
    def add_callback_symbol(
        self, callback_name: str, callback_symbol: Callable[[], None]
    ) -> None: ...
    def add_from_file(self, filename: str) -> int: ...
    def add_from_resource(self, resource_path: str) -> int: ...
    # override
    def add_from_string(self, buffer: str, length: int = ...) -> None: ...
    def add_objects_from_file(
        self, filename: str, object_ids: Sequence[str]
    ) -> int: ...
    def add_objects_from_resource(
        self, resource_path: str, object_ids: Sequence[str]
    ) -> int: ...
    # override
    def add_objects_from_string(self, buffer: str, object_ids: list[str]) -> int: ...
    # override
    def connect_signals(self, obj_or_map: Any) -> None: ...
    def connect_signals_full(
        self, func: Callable[..., None], *user_data: Any
    ) -> None: ...
    def do_get_type_from_name(self, type_name: str) -> Type: ...
    def expose_object(self, name: str, object: GObject.Object) -> None: ...
    def extend_with_template(
        self, widget: Widget, template_type: Type, buffer: str, length: int
    ) -> int: ...
    def get_application(self) -> Optional[Application]: ...
    def get_object(self, name: str) -> Optional[GObject.Object]: ...
    def get_objects(self) -> list[GObject.Object]: ...
    def get_translation_domain(self) -> str: ...
    def get_type_from_name(self, type_name: str) -> Type: ...
    @classmethod
    def new(cls) -> Builder: ...
    @classmethod
    def new_from_file(cls, filename: str) -> Builder: ...
    @classmethod
    def new_from_resource(cls, resource_path: str) -> Builder: ...
    @classmethod
    def new_from_string(cls, string: str, length: int) -> Builder: ...
    def set_application(self, application: Application) -> None: ...
    def set_translation_domain(self, domain: Optional[str] = None) -> None: ...
    def value_from_string(
        self, pspec: GObject.ParamSpec, string: str
    ) -> Tuple[bool, Any]: ...
    def value_from_string_type(self, type: Type, string: str) -> Tuple[bool, Any]: ...

class BuilderClass(GObject.GPointer):
    """
    :Constructors:

    ::

        BuilderClass()
    """

    parent_class: GObject.ObjectClass = ...
    get_type_from_name: Callable[[Builder, str], Type] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class BuilderPrivate(GObject.GPointer): ...

class Button(Bin, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        Button(**properties)
        new() -> Gtk.Widget
        new_from_icon_name(icon_name:str=None, size:int) -> Gtk.Widget
        new_from_stock(stock_id:str) -> Gtk.Widget
        new_with_label(label:str) -> Gtk.Widget
        new_with_mnemonic(label:str) -> Gtk.Widget

    Object GtkButton

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: ButtonPrivate = ...
    def __init__(
        self,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def clicked(self) -> None: ...
    def do_activate(self) -> None: ...
    def do_clicked(self) -> None: ...
    def do_enter(self) -> None: ...
    def do_leave(self) -> None: ...
    def do_pressed(self) -> None: ...
    def do_released(self) -> None: ...
    def enter(self) -> None: ...
    def get_alignment(self) -> Tuple[float, float]: ...
    def get_always_show_image(self) -> bool: ...
    def get_event_window(self) -> Gdk.Window: ...
    def get_focus_on_click(self, *args, **kwargs): ...  # FIXME Function
    def get_image(self) -> Optional[Widget]: ...
    def get_image_position(self) -> PositionType: ...
    def get_label(self) -> str: ...
    def get_relief(self) -> ReliefStyle: ...
    def get_use_stock(self) -> bool: ...
    def get_use_underline(self) -> bool: ...
    def leave(self) -> None: ...
    @classmethod
    def new(cls) -> Button: ...
    @classmethod
    def new_from_icon_name(cls, icon_name: Optional[str], size: int) -> Button: ...
    @classmethod
    def new_from_stock(cls, stock_id: str) -> Button: ...
    @classmethod
    def new_with_label(cls, label: str) -> Button: ...
    @classmethod
    def new_with_mnemonic(cls, label: str) -> Button: ...
    def pressed(self) -> None: ...
    def released(self) -> None: ...
    def set_alignment(self, xalign: float, yalign: float) -> None: ...
    def set_always_show_image(self, always_show: bool) -> None: ...
    def set_focus_on_click(self, *args, **kwargs): ...  # FIXME Function
    def set_image(self, image: Optional[Widget] = None) -> None: ...
    def set_image_position(self, position: PositionType) -> None: ...
    def set_label(self, label: str) -> None: ...
    def set_relief(self, relief: ReliefStyle) -> None: ...
    def set_use_stock(self, use_stock: bool) -> None: ...
    def set_use_underline(self, use_underline: bool) -> None: ...

class ButtonAccessible(ContainerAccessible, Atk.Action, Atk.Component, Atk.Image):
    """
    :Constructors:

    ::

        ButtonAccessible(**properties)

    Object GtkButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: ButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ButtonAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class ButtonAccessiblePrivate(GObject.GPointer): ...

class ButtonBox(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ButtonBox(**properties)
        new(orientation:Gtk.Orientation) -> Gtk.Widget

    Object GtkButtonBox

    Properties from GtkButtonBox:
      layout-style -> GtkButtonBoxStyle: Layout style
        How to lay out the buttons in the box. Possible values are: spread, edge, start and end

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        layout_style: ButtonBoxStyle
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    box: Box = ...
    priv: ButtonBoxPrivate = ...
    def __init__(
        self,
        layout_style: ButtonBoxStyle = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_child_non_homogeneous(self, child: Widget) -> bool: ...
    def get_child_secondary(self, child: Widget) -> bool: ...
    def get_layout(self) -> ButtonBoxStyle: ...
    @classmethod
    def new(cls, orientation: Orientation) -> ButtonBox: ...
    def set_child_non_homogeneous(
        self, child: Widget, non_homogeneous: bool
    ) -> None: ...
    def set_child_secondary(self, child: Widget, is_secondary: bool) -> None: ...
    def set_layout(self, layout_style: ButtonBoxStyle) -> None: ...

class ButtonBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ButtonBoxClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ButtonBoxPrivate(GObject.GPointer): ...

class ButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ButtonClass()
    """

    parent_class: BinClass = ...
    pressed: Callable[[Button], None] = ...
    released: Callable[[Button], None] = ...
    clicked: Callable[[Button], None] = ...
    enter: Callable[[Button], None] = ...
    leave: Callable[[Button], None] = ...
    activate: Callable[[Button], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ButtonPrivate(GObject.GPointer): ...

class Calendar(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Calendar(**properties)
        new() -> Gtk.Widget

    Object GtkCalendar

    Signals from GtkCalendar:
      month-changed ()
      day-selected ()
      day-selected-double-click ()
      prev-month ()
      next-month ()
      prev-year ()
      next-year ()

    Properties from GtkCalendar:
      year -> gint: Year
        The selected year
      month -> gint: Month
        The selected month (as a number between 0 and 11)
      day -> gint: Day
        The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day)
      show-heading -> gboolean: Show Heading
        If TRUE, a heading is displayed
      show-day-names -> gboolean: Show Day Names
        If TRUE, day names are displayed
      no-month-change -> gboolean: No Month Change
        If TRUE, the selected month cannot be changed
      show-week-numbers -> gboolean: Show Week Numbers
        If TRUE, week numbers are displayed
      show-details -> gboolean: Show Details
        If TRUE, details are shown
      detail-width-chars -> gint: Details Width
        Details width in characters
      detail-height-rows -> gint: Details Height
        Details height in rows

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        day: int
        detail_height_rows: int
        detail_width_chars: int
        month: int
        no_month_change: bool
        show_day_names: bool
        show_details: bool
        show_heading: bool
        show_week_numbers: bool
        year: int
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    widget: Widget = ...
    priv: CalendarPrivate = ...
    def __init__(
        self,
        day: int = ...,
        detail_height_rows: int = ...,
        detail_width_chars: int = ...,
        month: int = ...,
        no_month_change: bool = ...,
        show_day_names: bool = ...,
        show_details: bool = ...,
        show_heading: bool = ...,
        show_week_numbers: bool = ...,
        year: int = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def clear_marks(self) -> None: ...
    def do_day_selected(self) -> None: ...
    def do_day_selected_double_click(self) -> None: ...
    def do_month_changed(self) -> None: ...
    def do_next_month(self) -> None: ...
    def do_next_year(self) -> None: ...
    def do_prev_month(self) -> None: ...
    def do_prev_year(self) -> None: ...
    def get_date(self) -> Tuple[int, int, int]: ...
    def get_day_is_marked(self, day: int) -> bool: ...
    def get_detail_height_rows(self) -> int: ...
    def get_detail_width_chars(self) -> int: ...
    def get_display_options(self) -> CalendarDisplayOptions: ...
    def mark_day(self, day: int) -> None: ...
    @classmethod
    def new(cls) -> Calendar: ...
    def select_day(self, day: int) -> None: ...
    def select_month(self, month: int, year: int) -> None: ...
    def set_detail_func(
        self, func: Callable[..., Optional[str]], *data: Any
    ) -> None: ...
    def set_detail_height_rows(self, rows: int) -> None: ...
    def set_detail_width_chars(self, chars: int) -> None: ...
    def set_display_options(self, flags: CalendarDisplayOptions) -> None: ...
    def unmark_day(self, day: int) -> None: ...

class CalendarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CalendarClass()
    """

    parent_class: WidgetClass = ...
    month_changed: Callable[[Calendar], None] = ...
    day_selected: Callable[[Calendar], None] = ...
    day_selected_double_click: Callable[[Calendar], None] = ...
    prev_month: Callable[[Calendar], None] = ...
    next_month: Callable[[Calendar], None] = ...
    prev_year: Callable[[Calendar], None] = ...
    next_year: Callable[[Calendar], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CalendarPrivate(GObject.GPointer): ...

class CellAccessible(Accessible, Atk.Action, Atk.Component, Atk.TableCell):
    """
    :Constructors:

    ::

        CellAccessible(**properties)

    Object GtkCellAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: Accessible = ...
    priv: CellAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def do_update_cache(self, emit_signal: bool) -> None: ...

class CellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellAccessibleClass()
    """

    parent_class: AccessibleClass = ...
    update_cache: Callable[[CellAccessible, bool], None] = ...

class CellAccessibleParent(GObject.GInterface):
    """
    Interface GtkCellAccessibleParent
    """

    def activate(self, cell: CellAccessible) -> None: ...
    def edit(self, cell: CellAccessible) -> None: ...
    def expand_collapse(self, cell: CellAccessible) -> None: ...
    def get_cell_area(self, cell: CellAccessible) -> Gdk.Rectangle: ...
    def get_cell_extents(
        self, cell: CellAccessible, coord_type: Atk.CoordType
    ) -> Tuple[int, int, int, int]: ...
    def get_cell_position(self, cell: CellAccessible) -> Tuple[int, int]: ...
    def get_child_index(self, cell: CellAccessible) -> int: ...
    def get_column_header_cells(self, cell: CellAccessible) -> list[Atk.Object]: ...
    def get_renderer_state(self, cell: CellAccessible) -> CellRendererState: ...
    def get_row_header_cells(self, cell: CellAccessible) -> list[Atk.Object]: ...
    def grab_focus(self, cell: CellAccessible) -> bool: ...
    def update_relationset(
        self, cell: CellAccessible, relationset: Atk.RelationSet
    ) -> None: ...

class CellAccessibleParentIface(GObject.GPointer):
    """
    :Constructors:

    ::

        CellAccessibleParentIface()
    """

    parent: GObject.TypeInterface = ...
    get_cell_extents: Callable[
        [CellAccessibleParent, CellAccessible, Atk.CoordType], Tuple[int, int, int, int]
    ] = ...
    get_cell_area: Callable[[CellAccessibleParent, CellAccessible], Gdk.Rectangle] = ...
    grab_focus: Callable[[CellAccessibleParent, CellAccessible], bool] = ...
    get_child_index: Callable[[CellAccessibleParent, CellAccessible], int] = ...
    get_renderer_state: Callable[
        [CellAccessibleParent, CellAccessible], CellRendererState
    ] = ...
    expand_collapse: Callable[[CellAccessibleParent, CellAccessible], None] = ...
    activate: Callable[[CellAccessibleParent, CellAccessible], None] = ...
    edit: Callable[[CellAccessibleParent, CellAccessible], None] = ...
    update_relationset: Callable[
        [CellAccessibleParent, CellAccessible, Atk.RelationSet], None
    ] = ...
    get_cell_position: Callable[
        [CellAccessibleParent, CellAccessible], Tuple[int, int]
    ] = ...
    get_column_header_cells: Callable[
        [CellAccessibleParent, CellAccessible], list[Atk.Object]
    ] = ...
    get_row_header_cells: Callable[
        [CellAccessibleParent, CellAccessible], list[Atk.Object]
    ] = ...

class CellAccessiblePrivate(GObject.GPointer): ...

class CellArea(GObject.InitiallyUnowned, Buildable, CellLayout):
    """
    :Constructors:

    ::

        CellArea(**properties)

    Object GtkCellArea

    Signals from GtkCellArea:
      apply-attributes (GtkTreeModel, GtkTreeIter, gboolean, gboolean)
      add-editable (GtkCellRenderer, GtkCellEditable, GdkRectangle, gchararray)
      remove-editable (GtkCellRenderer, GtkCellEditable)
      focus-changed (GtkCellRenderer, gchararray)

    Properties from GtkCellArea:
      focus-cell -> GtkCellRenderer: Focus Cell
        The cell which currently has focus
      edited-cell -> GtkCellRenderer: Edited Cell
        The cell which is currently being edited
      edit-widget -> GtkCellEditable: Edit Widget
        The widget currently editing the edited cell

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        edit_widget: CellEditable
        edited_cell: CellRenderer
        focus_cell: CellRenderer

    props: Props = ...
    parent_instance: GObject.InitiallyUnowned = ...
    priv: CellAreaPrivate = ...
    def __init__(self, focus_cell: CellRenderer = ...): ...
    def activate(
        self,
        context: CellAreaContext,
        widget: Widget,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
        edit_only: bool,
    ) -> bool: ...
    def activate_cell(
        self,
        widget: Widget,
        renderer: CellRenderer,
        event: Gdk.Event,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> bool: ...
    def add(self, renderer: CellRenderer) -> None: ...
    def add_focus_sibling(
        self, renderer: CellRenderer, sibling: CellRenderer
    ) -> None: ...
    def apply_attributes(
        self,
        tree_model: TreeModel,
        iter: TreeIter,
        is_expander: bool,
        is_expanded: bool,
    ) -> None: ...
    def attribute_connect(
        self, renderer: CellRenderer, attribute: str, column: int
    ) -> None: ...
    def attribute_disconnect(self, renderer: CellRenderer, attribute: str) -> None: ...
    def attribute_get_column(self, renderer: CellRenderer, attribute: str) -> int: ...
    def cell_get_property(
        self, renderer: CellRenderer, property_name: str, value: Any
    ) -> None: ...
    def cell_set_property(
        self, renderer: CellRenderer, property_name: str, value: Any
    ) -> None: ...
    def copy_context(self, context: CellAreaContext) -> CellAreaContext: ...
    def create_context(self) -> CellAreaContext: ...
    def do_activate(
        self,
        context: CellAreaContext,
        widget: Widget,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
        edit_only: bool,
    ) -> bool: ...
    def do_add(self, renderer: CellRenderer) -> None: ...
    def do_apply_attributes(
        self,
        tree_model: TreeModel,
        iter: TreeIter,
        is_expander: bool,
        is_expanded: bool,
    ) -> None: ...
    def do_copy_context(self, context: CellAreaContext) -> CellAreaContext: ...
    def do_create_context(self) -> CellAreaContext: ...
    def do_event(
        self,
        context: CellAreaContext,
        widget: Widget,
        event: Gdk.Event,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> int: ...
    def do_focus(self, direction: DirectionType) -> bool: ...
    def do_foreach(
        self, callback: Callable[..., bool], *callback_data: Any
    ) -> None: ...
    def do_foreach_alloc(
        self,
        context: CellAreaContext,
        widget: Widget,
        cell_area: Gdk.Rectangle,
        background_area: Gdk.Rectangle,
        callback: Callable[..., bool],
        *callback_data: Any,
    ) -> None: ...
    def do_get_cell_property(
        self,
        renderer: CellRenderer,
        property_id: int,
        value: Any,
        pspec: GObject.ParamSpec,
    ) -> None: ...
    def do_get_preferred_height(
        self, context: CellAreaContext, widget: Widget
    ) -> Tuple[int, int]: ...
    def do_get_preferred_height_for_width(
        self, context: CellAreaContext, widget: Widget, width: int
    ) -> Tuple[int, int]: ...
    def do_get_preferred_width(
        self, context: CellAreaContext, widget: Widget
    ) -> Tuple[int, int]: ...
    def do_get_preferred_width_for_height(
        self, context: CellAreaContext, widget: Widget, height: int
    ) -> Tuple[int, int]: ...
    def do_get_request_mode(self) -> SizeRequestMode: ...
    def do_is_activatable(self) -> bool: ...
    def do_remove(self, renderer: CellRenderer) -> None: ...
    def do_render(
        self,
        context: CellAreaContext,
        widget: Widget,
        cr: cairo.Context[_SomeSurface],
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
        paint_focus: bool,
    ) -> None: ...
    def do_set_cell_property(
        self,
        renderer: CellRenderer,
        property_id: int,
        value: Any,
        pspec: GObject.ParamSpec,
    ) -> None: ...
    def event(
        self,
        context: CellAreaContext,
        widget: Widget,
        event: Gdk.Event,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> int: ...
    def find_cell_property(self, property_name: str) -> GObject.ParamSpec: ...
    def focus(self, direction: DirectionType) -> bool: ...
    def foreach(self, callback: Callable[..., bool], *callback_data: Any) -> None: ...
    def foreach_alloc(
        self,
        context: CellAreaContext,
        widget: Widget,
        cell_area: Gdk.Rectangle,
        background_area: Gdk.Rectangle,
        callback: Callable[..., bool],
        *callback_data: Any,
    ) -> None: ...
    def get_cell_allocation(
        self,
        context: CellAreaContext,
        widget: Widget,
        renderer: CellRenderer,
        cell_area: Gdk.Rectangle,
    ) -> Gdk.Rectangle: ...
    def get_cell_at_position(
        self,
        context: CellAreaContext,
        widget: Widget,
        cell_area: Gdk.Rectangle,
        x: int,
        y: int,
    ) -> Tuple[CellRenderer, Gdk.Rectangle]: ...
    def get_current_path_string(self) -> str: ...
    def get_edit_widget(self) -> CellEditable: ...
    def get_edited_cell(self) -> CellRenderer: ...
    def get_focus_cell(self) -> CellRenderer: ...
    def get_focus_from_sibling(
        self, renderer: CellRenderer
    ) -> Optional[CellRenderer]: ...
    def get_focus_siblings(self, renderer: CellRenderer) -> list[CellRenderer]: ...
    def get_preferred_height(
        self, context: CellAreaContext, widget: Widget
    ) -> Tuple[int, int]: ...
    def get_preferred_height_for_width(
        self, context: CellAreaContext, widget: Widget, width: int
    ) -> Tuple[int, int]: ...
    def get_preferred_width(
        self, context: CellAreaContext, widget: Widget
    ) -> Tuple[int, int]: ...
    def get_preferred_width_for_height(
        self, context: CellAreaContext, widget: Widget, height: int
    ) -> Tuple[int, int]: ...
    def get_request_mode(self) -> SizeRequestMode: ...
    def has_renderer(self, renderer: CellRenderer) -> bool: ...
    def inner_cell_area(
        self, widget: Widget, cell_area: Gdk.Rectangle
    ) -> Gdk.Rectangle: ...
    def install_cell_property(
        self, property_id: int, pspec: GObject.ParamSpec
    ) -> None: ...
    def is_activatable(self) -> bool: ...
    def is_focus_sibling(
        self, renderer: CellRenderer, sibling: CellRenderer
    ) -> bool: ...
    def list_cell_properties(self) -> list[GObject.ParamSpec]: ...
    def remove(self, renderer: CellRenderer) -> None: ...
    def remove_focus_sibling(
        self, renderer: CellRenderer, sibling: CellRenderer
    ) -> None: ...
    def render(
        self,
        context: CellAreaContext,
        widget: Widget,
        cr: cairo.Context[_SomeSurface],
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
        paint_focus: bool,
    ) -> None: ...
    def request_renderer(
        self,
        renderer: CellRenderer,
        orientation: Orientation,
        widget: Widget,
        for_size: int,
    ) -> Tuple[int, int]: ...
    def set_focus_cell(self, renderer: CellRenderer) -> None: ...
    def stop_editing(self, canceled: bool) -> None: ...

class CellAreaBox(CellArea, Buildable, CellLayout, Orientable):
    """
    :Constructors:

    ::

        CellAreaBox(**properties)
        new() -> Gtk.CellArea

    Object GtkCellAreaBox

    Properties from GtkCellAreaBox:
      spacing -> gint: Spacing
        Space which is inserted between cells

    Signals from GtkCellArea:
      apply-attributes (GtkTreeModel, GtkTreeIter, gboolean, gboolean)
      add-editable (GtkCellRenderer, GtkCellEditable, GdkRectangle, gchararray)
      remove-editable (GtkCellRenderer, GtkCellEditable)
      focus-changed (GtkCellRenderer, gchararray)

    Properties from GtkCellArea:
      focus-cell -> GtkCellRenderer: Focus Cell
        The cell which currently has focus
      edited-cell -> GtkCellRenderer: Edited Cell
        The cell which is currently being edited
      edit-widget -> GtkCellEditable: Edit Widget
        The widget currently editing the edited cell

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        spacing: int
        edit_widget: CellEditable
        edited_cell: CellRenderer
        focus_cell: CellRenderer
        orientation: Orientation

    props: Props = ...
    parent_instance: CellArea = ...
    priv: CellAreaBoxPrivate = ...
    def __init__(
        self,
        spacing: int = ...,
        focus_cell: CellRenderer = ...,
        orientation: Orientation = ...,
    ): ...
    def get_spacing(self) -> int: ...
    @classmethod
    def new(cls) -> CellAreaBox: ...
    def pack_end(
        self, renderer: CellRenderer, expand: bool, align: bool, fixed: bool
    ) -> None: ...
    def pack_start(
        self, renderer: CellRenderer, expand: bool, align: bool, fixed: bool
    ) -> None: ...
    def set_spacing(self, spacing: int) -> None: ...

class CellAreaBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellAreaBoxClass()
    """

    parent_class: CellAreaClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellAreaBoxPrivate(GObject.GPointer): ...

class CellAreaClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellAreaClass()
    """

    parent_class: GObject.InitiallyUnownedClass = ...
    add: Callable[[CellArea, CellRenderer], None] = ...
    remove: Callable[[CellArea, CellRenderer], None] = ...
    foreach: Callable[..., None] = ...
    foreach_alloc: Callable[..., None] = ...
    event: Callable[
        [
            CellArea,
            CellAreaContext,
            Widget,
            Gdk.Event,
            Gdk.Rectangle,
            CellRendererState,
        ],
        int,
    ] = ...
    render: Callable[
        [
            CellArea,
            CellAreaContext,
            Widget,
            cairo.Context[_SomeSurface],
            Gdk.Rectangle,
            Gdk.Rectangle,
            CellRendererState,
            bool,
        ],
        None,
    ] = ...
    apply_attributes: Callable[[CellArea, TreeModel, TreeIter, bool, bool], None] = ...
    create_context: Callable[[CellArea], CellAreaContext] = ...
    copy_context: Callable[[CellArea, CellAreaContext], CellAreaContext] = ...
    get_request_mode: Callable[[CellArea], SizeRequestMode] = ...
    get_preferred_width: Callable[
        [CellArea, CellAreaContext, Widget], Tuple[int, int]
    ] = ...
    get_preferred_height_for_width: Callable[
        [CellArea, CellAreaContext, Widget, int], Tuple[int, int]
    ] = ...
    get_preferred_height: Callable[
        [CellArea, CellAreaContext, Widget], Tuple[int, int]
    ] = ...
    get_preferred_width_for_height: Callable[
        [CellArea, CellAreaContext, Widget, int], Tuple[int, int]
    ] = ...
    set_cell_property: Callable[
        [CellArea, CellRenderer, int, Any, GObject.ParamSpec], None
    ] = ...
    get_cell_property: Callable[
        [CellArea, CellRenderer, int, Any, GObject.ParamSpec], None
    ] = ...
    focus: Callable[[CellArea, DirectionType], bool] = ...
    is_activatable: Callable[[CellArea], bool] = ...
    activate: Callable[
        [CellArea, CellAreaContext, Widget, Gdk.Rectangle, CellRendererState, bool],
        bool,
    ] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...
    def find_cell_property(self, property_name: str) -> GObject.ParamSpec: ...
    def install_cell_property(
        self, property_id: int, pspec: GObject.ParamSpec
    ) -> None: ...
    def list_cell_properties(self) -> list[GObject.ParamSpec]: ...

class CellAreaContext(GObject.Object):
    """
    :Constructors:

    ::

        CellAreaContext(**properties)

    Object GtkCellAreaContext

    Properties from GtkCellAreaContext:
      area -> GtkCellArea: Area
        The Cell Area this context was created for
      minimum-width -> gint: Minimum Width
        Minimum cached width
      natural-width -> gint: Minimum Width
        Minimum cached width
      minimum-height -> gint: Minimum Height
        Minimum cached height
      natural-height -> gint: Minimum Height
        Minimum cached height

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        area: CellArea
        minimum_height: int
        minimum_width: int
        natural_height: int
        natural_width: int

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: CellAreaContextPrivate = ...
    def __init__(self, area: CellArea = ...): ...
    def allocate(self, width: int, height: int) -> None: ...
    def do_allocate(self, width: int, height: int) -> None: ...
    def do_get_preferred_height_for_width(self, width: int) -> Tuple[int, int]: ...
    def do_get_preferred_width_for_height(self, height: int) -> Tuple[int, int]: ...
    def do_reset(self) -> None: ...
    def get_allocation(self) -> Tuple[int, int]: ...
    def get_area(self) -> CellArea: ...
    def get_preferred_height(self) -> Tuple[int, int]: ...
    def get_preferred_height_for_width(self, width: int) -> Tuple[int, int]: ...
    def get_preferred_width(self) -> Tuple[int, int]: ...
    def get_preferred_width_for_height(self, height: int) -> Tuple[int, int]: ...
    def push_preferred_height(
        self, minimum_height: int, natural_height: int
    ) -> None: ...
    def push_preferred_width(self, minimum_width: int, natural_width: int) -> None: ...
    def reset(self) -> None: ...

class CellAreaContextClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellAreaContextClass()
    """

    parent_class: GObject.ObjectClass = ...
    allocate: Callable[[CellAreaContext, int, int], None] = ...
    reset: Callable[[CellAreaContext], None] = ...
    get_preferred_height_for_width: Callable[
        [CellAreaContext, int], Tuple[int, int]
    ] = ...
    get_preferred_width_for_height: Callable[
        [CellAreaContext, int], Tuple[int, int]
    ] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...

class CellAreaContextPrivate(GObject.GPointer): ...
class CellAreaPrivate(GObject.GPointer): ...

class CellEditable(GObject.GInterface):
    """
    Interface GtkCellEditable

    Signals from GObject:
      notify (GParam)
    """

    def editing_done(self) -> None: ...
    def remove_widget(self) -> None: ...
    def start_editing(self, event: Optional[Gdk.Event] = None) -> None: ...

class CellEditableIface(GObject.GPointer):
    """
    :Constructors:

    ::

        CellEditableIface()
    """

    g_iface: GObject.TypeInterface = ...
    editing_done: Callable[[CellEditable], None] = ...
    remove_widget: Callable[[CellEditable], None] = ...
    start_editing: Callable[[CellEditable, Optional[Gdk.Event]], None] = ...

class CellLayout(GObject.GInterface):
    """
    Interface GtkCellLayout

    Signals from GObject:
      notify (GParam)
    """

    def add_attribute(
        self, cell: CellRenderer, attribute: str, column: int
    ) -> None: ...
    def clear(self) -> None: ...
    def clear_attributes(self, cell: CellRenderer) -> None: ...
    def get_area(self) -> Optional[CellArea]: ...
    def get_cells(self) -> list[CellRenderer]: ...
    def pack_end(self, cell: CellRenderer, expand: bool) -> None: ...
    def pack_start(self, cell: CellRenderer, expand: bool) -> None: ...
    def reorder(self, cell: CellRenderer, position: int) -> None: ...
    def set_cell_data_func(
        self,
        cell: CellRenderer,
        func: Optional[Callable[..., None]] = None,
        *func_data: Any,
    ) -> None: ...

class CellLayoutIface(GObject.GPointer):
    """
    :Constructors:

    ::

        CellLayoutIface()
    """

    g_iface: GObject.TypeInterface = ...
    pack_start: Callable[[CellLayout, CellRenderer, bool], None] = ...
    pack_end: Callable[[CellLayout, CellRenderer, bool], None] = ...
    clear: Callable[[CellLayout], None] = ...
    add_attribute: Callable[[CellLayout, CellRenderer, str, int], None] = ...
    set_cell_data_func: Callable[..., None] = ...
    clear_attributes: Callable[[CellLayout, CellRenderer], None] = ...
    reorder: Callable[[CellLayout, CellRenderer, int], None] = ...
    get_cells: Callable[[CellLayout], list[CellRenderer]] = ...
    get_area: Callable[[CellLayout], Optional[CellArea]] = ...

class CellRenderer(GObject.InitiallyUnowned):
    """
    :Constructors:

    ::

        CellRenderer(**properties)

    Object GtkCellRenderer

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        cell_background: str

    props: Props = ...
    parent_instance: GObject.InitiallyUnowned = ...
    priv: CellRendererPrivate = ...
    def __init__(
        self,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    def activate(
        self,
        event: Gdk.Event,
        widget: Widget,
        path: str,
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> bool: ...
    def do_activate(
        self,
        event: Gdk.Event,
        widget: Widget,
        path: str,
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> bool: ...
    def do_editing_canceled(self) -> None: ...
    def do_editing_started(self, editable: CellEditable, path: str) -> None: ...
    def do_get_aligned_area(
        self, widget: Widget, flags: CellRendererState, cell_area: Gdk.Rectangle
    ) -> Gdk.Rectangle: ...
    def do_get_preferred_height(self, widget: Widget) -> Tuple[int, int]: ...
    def do_get_preferred_height_for_width(
        self, widget: Widget, width: int
    ) -> Tuple[int, int]: ...
    def do_get_preferred_width(self, widget: Widget) -> Tuple[int, int]: ...
    def do_get_preferred_width_for_height(
        self, widget: Widget, height: int
    ) -> Tuple[int, int]: ...
    def do_get_request_mode(self) -> SizeRequestMode: ...
    def do_get_size(
        self, widget: Widget, cell_area: Optional[Gdk.Rectangle] = None
    ) -> Tuple[int, int, int, int]: ...
    def do_render(
        self,
        cr: cairo.Context[_SomeSurface],
        widget: Widget,
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> None: ...
    def do_start_editing(
        self,
        event: Optional[Gdk.Event],
        widget: Widget,
        path: str,
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> Optional[CellEditable]: ...
    def get_aligned_area(
        self, widget: Widget, flags: CellRendererState, cell_area: Gdk.Rectangle
    ) -> Gdk.Rectangle: ...
    def get_alignment(self) -> Tuple[float, float]: ...
    def get_fixed_size(self) -> Tuple[int, int]: ...
    def get_padding(self) -> Tuple[int, int]: ...
    def get_preferred_height(self, widget: Widget) -> Tuple[int, int]: ...
    def get_preferred_height_for_width(
        self, widget: Widget, width: int
    ) -> Tuple[int, int]: ...
    def get_preferred_size(self, widget: Widget) -> Tuple[Requisition, Requisition]: ...
    def get_preferred_width(self, widget: Widget) -> Tuple[int, int]: ...
    def get_preferred_width_for_height(
        self, widget: Widget, height: int
    ) -> Tuple[int, int]: ...
    def get_request_mode(self) -> SizeRequestMode: ...
    def get_sensitive(self) -> bool: ...
    def get_size(
        self, widget: Widget, cell_area: Optional[Gdk.Rectangle] = None
    ) -> Tuple[int, int, int, int]: ...
    def get_state(
        self, widget: Optional[Widget], cell_state: CellRendererState
    ) -> StateFlags: ...
    def get_visible(self) -> bool: ...
    def is_activatable(self) -> bool: ...
    def render(
        self,
        cr: cairo.Context[_SomeSurface],
        widget: Widget,
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> None: ...
    def set_accessible_type(self, type: Type) -> None: ...
    def set_alignment(self, xalign: float, yalign: float) -> None: ...
    def set_fixed_size(self, width: int, height: int) -> None: ...
    def set_padding(self, xpad: int, ypad: int) -> None: ...
    def set_sensitive(self, sensitive: bool) -> None: ...
    def set_visible(self, visible: bool) -> None: ...
    def start_editing(
        self,
        event: Optional[Gdk.Event],
        widget: Widget,
        path: str,
        background_area: Gdk.Rectangle,
        cell_area: Gdk.Rectangle,
        flags: CellRendererState,
    ) -> Optional[CellEditable]: ...
    def stop_editing(self, canceled: bool) -> None: ...

class CellRendererAccel(CellRendererText):
    """
    :Constructors:

    ::

        CellRendererAccel(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererAccel

    Signals from GtkCellRendererAccel:
      accel-edited (gchararray, guint, GdkModifierType, guint)
      accel-cleared (gchararray)

    Properties from GtkCellRendererAccel:
      accel-key -> guint: Accelerator key
        The keyval of the accelerator
      accel-mods -> GdkModifierType: Accelerator modifiers
        The modifier mask of the accelerator
      keycode -> guint: Accelerator keycode
        The hardware keycode of the accelerator
      accel-mode -> GtkCellRendererAccelMode: Accelerator Mode
        The type of accelerators

    Signals from GtkCellRendererText:
      edited (gchararray, gchararray)

    Properties from GtkCellRendererText:
      text -> gchararray: Text
        Text to render
      markup -> gchararray: Markup
        Marked up text to render
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the renderer
      single-paragraph-mode -> gboolean: Single Paragraph Mode
        Whether to keep all text in a single paragraph
      width-chars -> gint: Width In Characters
        The desired width of the label, in characters
      max-width-chars -> gint: Maximum Width In Characters
        The maximum width of the cell, in characters
      wrap-width -> gint: Wrap width
        The width at which the text is wrapped
      alignment -> PangoAlignment: Alignment
        How to align the lines
      placeholder-text -> gchararray: Placeholder text
        Text rendered when an editable cell is empty
      background -> gchararray: Background color name
        Background color as a string
      foreground -> gchararray: Foreground color name
        Foreground color as a string
      background-gdk -> GdkColor: Background color
        Background color as a GdkColor
      foreground-gdk -> GdkColor: Foreground color
        Foreground color as a GdkColor
      background-rgba -> GdkRGBA: Background color as RGBA
        Background color as a GdkRGBA
      foreground-rgba -> GdkRGBA: Foreground color as RGBA
        Foreground color as a GdkRGBA
      font -> gchararray: Font
        Font description as a string, e.g. "Sans Italic 12"
      font-desc -> PangoFontDescription: Font
        Font description as a PangoFontDescription struct
      family -> gchararray: Font family
        Name of the font family, e.g. Sans, Helvetica, Times, Monospace
      style -> PangoStyle: Font style
        Font style
      variant -> PangoVariant: Font variant
        Font variant
      weight -> gint: Font weight
        Font weight
      stretch -> PangoStretch: Font stretch
        Font stretch
      size -> gint: Font size
        Font size
      size-points -> gdouble: Font points
        Font size in points
      scale -> gdouble: Font scale
        Font scaling factor
      editable -> gboolean: Editable
        Whether the text can be modified by the user
      strikethrough -> gboolean: Strikethrough
        Whether to strike through the text
      underline -> PangoUnderline: Underline
        Style of underline for this text
      rise -> gint: Rise
        Offset of text above the baseline (below the baseline if rise is negative)
      language -> gchararray: 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
      ellipsize -> PangoEllipsizeMode: Ellipsize
        The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string
      wrap-mode -> PangoWrapMode: Wrap mode
        How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string
      background-set -> gboolean: Background set
        Whether this tag affects the background color
      foreground-set -> gboolean: Foreground set
        Whether this tag affects the foreground color
      family-set -> gboolean: Font family set
        Whether this tag affects the font family
      style-set -> gboolean: Font style set
        Whether this tag affects the font style
      variant-set -> gboolean: Font variant set
        Whether this tag affects the font variant
      weight-set -> gboolean: Font weight set
        Whether this tag affects the font weight
      stretch-set -> gboolean: Font stretch set
        Whether this tag affects the font stretch
      size-set -> gboolean: Font size set
        Whether this tag affects the font size
      scale-set -> gboolean: Font scale set
        Whether this tag scales the font size by a factor
      editable-set -> gboolean: Editability set
        Whether this tag affects text editability
      strikethrough-set -> gboolean: Strikethrough set
        Whether this tag affects strikethrough
      underline-set -> gboolean: Underline set
        Whether this tag affects underlining
      rise-set -> gboolean: Rise set
        Whether this tag affects the rise
      language-set -> gboolean: Language set
        Whether this tag affects the language the text is rendered as
      ellipsize-set -> gboolean: Ellipsize set
        Whether this tag affects the ellipsize mode
      align-set -> gboolean: Align set
        Whether this tag affects the alignment mode

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_key: int
        accel_mode: CellRendererAccelMode
        accel_mods: Gdk.ModifierType
        keycode: int
        align_set: bool
        alignment: Pango.Alignment
        attributes: Pango.AttrList
        background_gdk: Gdk.Color
        background_rgba: Gdk.RGBA
        background_set: bool
        editable: bool
        editable_set: bool
        ellipsize: Pango.EllipsizeMode
        ellipsize_set: bool
        family: str
        family_set: bool
        font: str
        font_desc: Pango.FontDescription
        foreground_gdk: Gdk.Color
        foreground_rgba: Gdk.RGBA
        foreground_set: bool
        language: str
        language_set: bool
        max_width_chars: int
        placeholder_text: str
        rise: int
        rise_set: bool
        scale: float
        scale_set: bool
        single_paragraph_mode: bool
        size: int
        size_points: float
        size_set: bool
        stretch: Pango.Stretch
        stretch_set: bool
        strikethrough: bool
        strikethrough_set: bool
        style: Pango.Style
        style_set: bool
        text: str
        underline: Pango.Underline
        underline_set: bool
        variant: Pango.Variant
        variant_set: bool
        weight: int
        weight_set: bool
        width_chars: int
        wrap_mode: Pango.WrapMode
        wrap_width: int
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        background: str
        foreground: str
        markup: str
        cell_background: str

    props: Props = ...
    parent: CellRendererText = ...
    priv: CellRendererAccelPrivate = ...
    def __init__(
        self,
        accel_key: int = ...,
        accel_mode: CellRendererAccelMode = ...,
        accel_mods: Gdk.ModifierType = ...,
        keycode: int = ...,
        align_set: bool = ...,
        alignment: Pango.Alignment = ...,
        attributes: Pango.AttrList = ...,
        background: str = ...,
        background_gdk: Gdk.Color = ...,
        background_rgba: Gdk.RGBA = ...,
        background_set: bool = ...,
        editable: bool = ...,
        editable_set: bool = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        ellipsize_set: bool = ...,
        family: str = ...,
        family_set: bool = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        foreground: str = ...,
        foreground_gdk: Gdk.Color = ...,
        foreground_rgba: Gdk.RGBA = ...,
        foreground_set: bool = ...,
        language: str = ...,
        language_set: bool = ...,
        markup: str = ...,
        max_width_chars: int = ...,
        placeholder_text: str = ...,
        rise: int = ...,
        rise_set: bool = ...,
        scale: float = ...,
        scale_set: bool = ...,
        single_paragraph_mode: bool = ...,
        size: int = ...,
        size_points: float = ...,
        size_set: bool = ...,
        stretch: Pango.Stretch = ...,
        stretch_set: bool = ...,
        strikethrough: bool = ...,
        strikethrough_set: bool = ...,
        style: Pango.Style = ...,
        style_set: bool = ...,
        text: str = ...,
        underline: Pango.Underline = ...,
        underline_set: bool = ...,
        variant: Pango.Variant = ...,
        variant_set: bool = ...,
        weight: int = ...,
        weight_set: bool = ...,
        width_chars: int = ...,
        wrap_mode: Pango.WrapMode = ...,
        wrap_width: int = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    def do_accel_cleared(self, path_string: str) -> None: ...
    def do_accel_edited(
        self,
        path_string: str,
        accel_key: int,
        accel_mods: Gdk.ModifierType,
        hardware_keycode: int,
    ) -> None: ...
    @classmethod
    def new(cls) -> CellRendererAccel: ...

class CellRendererAccelClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererAccelClass()
    """

    parent_class: CellRendererTextClass = ...
    accel_edited: Callable[
        [CellRendererAccel, str, int, Gdk.ModifierType, int], None
    ] = ...
    accel_cleared: Callable[[CellRendererAccel, str], None] = ...
    _gtk_reserved0: None = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererAccelPrivate(GObject.GPointer): ...

class CellRendererClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererClass()
    """

    parent_class: GObject.InitiallyUnownedClass = ...
    get_request_mode: Callable[[CellRenderer], SizeRequestMode] = ...
    get_preferred_width: Callable[[CellRenderer, Widget], Tuple[int, int]] = ...
    get_preferred_height_for_width: Callable[
        [CellRenderer, Widget, int], Tuple[int, int]
    ] = ...
    get_preferred_height: Callable[[CellRenderer, Widget], Tuple[int, int]] = ...
    get_preferred_width_for_height: Callable[
        [CellRenderer, Widget, int], Tuple[int, int]
    ] = ...
    get_aligned_area: Callable[
        [CellRenderer, Widget, CellRendererState, Gdk.Rectangle], Gdk.Rectangle
    ] = ...
    get_size: Callable[
        [CellRenderer, Widget, Optional[Gdk.Rectangle]], Tuple[int, int, int, int]
    ] = ...
    render: Callable[
        [
            CellRenderer,
            cairo.Context[_SomeSurface],
            Widget,
            Gdk.Rectangle,
            Gdk.Rectangle,
            CellRendererState,
        ],
        None,
    ] = ...
    activate: Callable[
        [
            CellRenderer,
            Gdk.Event,
            Widget,
            str,
            Gdk.Rectangle,
            Gdk.Rectangle,
            CellRendererState,
        ],
        bool,
    ] = ...
    start_editing: Callable[
        [
            CellRenderer,
            Optional[Gdk.Event],
            Widget,
            str,
            Gdk.Rectangle,
            Gdk.Rectangle,
            CellRendererState,
        ],
        Optional[CellEditable],
    ] = ...
    editing_canceled: Callable[[CellRenderer], None] = ...
    editing_started: Callable[[CellRenderer, CellEditable, str], None] = ...
    priv: CellRendererClassPrivate = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    def set_accessible_type(self, type: Type) -> None: ...

class CellRendererClassPrivate(GObject.GPointer): ...

class CellRendererCombo(CellRendererText):
    """
    :Constructors:

    ::

        CellRendererCombo(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererCombo

    Signals from GtkCellRendererCombo:
      changed (gchararray, GtkTreeIter)

    Properties from GtkCellRendererCombo:
      model -> GtkTreeModel: Model
        The model containing the possible values for the combo box
      text-column -> gint: Text Column
        A column in the data source model to get the strings from
      has-entry -> gboolean: Has Entry
        If FALSE, don't allow to enter strings other than the chosen ones

    Signals from GtkCellRendererText:
      edited (gchararray, gchararray)

    Properties from GtkCellRendererText:
      text -> gchararray: Text
        Text to render
      markup -> gchararray: Markup
        Marked up text to render
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the renderer
      single-paragraph-mode -> gboolean: Single Paragraph Mode
        Whether to keep all text in a single paragraph
      width-chars -> gint: Width In Characters
        The desired width of the label, in characters
      max-width-chars -> gint: Maximum Width In Characters
        The maximum width of the cell, in characters
      wrap-width -> gint: Wrap width
        The width at which the text is wrapped
      alignment -> PangoAlignment: Alignment
        How to align the lines
      placeholder-text -> gchararray: Placeholder text
        Text rendered when an editable cell is empty
      background -> gchararray: Background color name
        Background color as a string
      foreground -> gchararray: Foreground color name
        Foreground color as a string
      background-gdk -> GdkColor: Background color
        Background color as a GdkColor
      foreground-gdk -> GdkColor: Foreground color
        Foreground color as a GdkColor
      background-rgba -> GdkRGBA: Background color as RGBA
        Background color as a GdkRGBA
      foreground-rgba -> GdkRGBA: Foreground color as RGBA
        Foreground color as a GdkRGBA
      font -> gchararray: Font
        Font description as a string, e.g. "Sans Italic 12"
      font-desc -> PangoFontDescription: Font
        Font description as a PangoFontDescription struct
      family -> gchararray: Font family
        Name of the font family, e.g. Sans, Helvetica, Times, Monospace
      style -> PangoStyle: Font style
        Font style
      variant -> PangoVariant: Font variant
        Font variant
      weight -> gint: Font weight
        Font weight
      stretch -> PangoStretch: Font stretch
        Font stretch
      size -> gint: Font size
        Font size
      size-points -> gdouble: Font points
        Font size in points
      scale -> gdouble: Font scale
        Font scaling factor
      editable -> gboolean: Editable
        Whether the text can be modified by the user
      strikethrough -> gboolean: Strikethrough
        Whether to strike through the text
      underline -> PangoUnderline: Underline
        Style of underline for this text
      rise -> gint: Rise
        Offset of text above the baseline (below the baseline if rise is negative)
      language -> gchararray: 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
      ellipsize -> PangoEllipsizeMode: Ellipsize
        The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string
      wrap-mode -> PangoWrapMode: Wrap mode
        How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string
      background-set -> gboolean: Background set
        Whether this tag affects the background color
      foreground-set -> gboolean: Foreground set
        Whether this tag affects the foreground color
      family-set -> gboolean: Font family set
        Whether this tag affects the font family
      style-set -> gboolean: Font style set
        Whether this tag affects the font style
      variant-set -> gboolean: Font variant set
        Whether this tag affects the font variant
      weight-set -> gboolean: Font weight set
        Whether this tag affects the font weight
      stretch-set -> gboolean: Font stretch set
        Whether this tag affects the font stretch
      size-set -> gboolean: Font size set
        Whether this tag affects the font size
      scale-set -> gboolean: Font scale set
        Whether this tag scales the font size by a factor
      editable-set -> gboolean: Editability set
        Whether this tag affects text editability
      strikethrough-set -> gboolean: Strikethrough set
        Whether this tag affects strikethrough
      underline-set -> gboolean: Underline set
        Whether this tag affects underlining
      rise-set -> gboolean: Rise set
        Whether this tag affects the rise
      language-set -> gboolean: Language set
        Whether this tag affects the language the text is rendered as
      ellipsize-set -> gboolean: Ellipsize set
        Whether this tag affects the ellipsize mode
      align-set -> gboolean: Align set
        Whether this tag affects the alignment mode

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        has_entry: bool
        model: TreeModel
        text_column: int
        align_set: bool
        alignment: Pango.Alignment
        attributes: Pango.AttrList
        background_gdk: Gdk.Color
        background_rgba: Gdk.RGBA
        background_set: bool
        editable: bool
        editable_set: bool
        ellipsize: Pango.EllipsizeMode
        ellipsize_set: bool
        family: str
        family_set: bool
        font: str
        font_desc: Pango.FontDescription
        foreground_gdk: Gdk.Color
        foreground_rgba: Gdk.RGBA
        foreground_set: bool
        language: str
        language_set: bool
        max_width_chars: int
        placeholder_text: str
        rise: int
        rise_set: bool
        scale: float
        scale_set: bool
        single_paragraph_mode: bool
        size: int
        size_points: float
        size_set: bool
        stretch: Pango.Stretch
        stretch_set: bool
        strikethrough: bool
        strikethrough_set: bool
        style: Pango.Style
        style_set: bool
        text: str
        underline: Pango.Underline
        underline_set: bool
        variant: Pango.Variant
        variant_set: bool
        weight: int
        weight_set: bool
        width_chars: int
        wrap_mode: Pango.WrapMode
        wrap_width: int
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        background: str
        foreground: str
        markup: str
        cell_background: str

    props: Props = ...
    parent: CellRendererText = ...
    priv: CellRendererComboPrivate = ...
    def __init__(
        self,
        has_entry: bool = ...,
        model: TreeModel = ...,
        text_column: int = ...,
        align_set: bool = ...,
        alignment: Pango.Alignment = ...,
        attributes: Pango.AttrList = ...,
        background: str = ...,
        background_gdk: Gdk.Color = ...,
        background_rgba: Gdk.RGBA = ...,
        background_set: bool = ...,
        editable: bool = ...,
        editable_set: bool = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        ellipsize_set: bool = ...,
        family: str = ...,
        family_set: bool = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        foreground: str = ...,
        foreground_gdk: Gdk.Color = ...,
        foreground_rgba: Gdk.RGBA = ...,
        foreground_set: bool = ...,
        language: str = ...,
        language_set: bool = ...,
        markup: str = ...,
        max_width_chars: int = ...,
        placeholder_text: str = ...,
        rise: int = ...,
        rise_set: bool = ...,
        scale: float = ...,
        scale_set: bool = ...,
        single_paragraph_mode: bool = ...,
        size: int = ...,
        size_points: float = ...,
        size_set: bool = ...,
        stretch: Pango.Stretch = ...,
        stretch_set: bool = ...,
        strikethrough: bool = ...,
        strikethrough_set: bool = ...,
        style: Pango.Style = ...,
        style_set: bool = ...,
        text: str = ...,
        underline: Pango.Underline = ...,
        underline_set: bool = ...,
        variant: Pango.Variant = ...,
        variant_set: bool = ...,
        weight: int = ...,
        weight_set: bool = ...,
        width_chars: int = ...,
        wrap_mode: Pango.WrapMode = ...,
        wrap_width: int = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    @classmethod
    def new(cls) -> CellRendererCombo: ...

class CellRendererComboClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererComboClass()
    """

    parent: CellRendererTextClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererComboPrivate(GObject.GPointer): ...

class CellRendererPixbuf(CellRenderer):
    """
    :Constructors:

    ::

        CellRendererPixbuf(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererPixbuf

    Properties from GtkCellRendererPixbuf:
      pixbuf -> GdkPixbuf: Pixbuf Object
        The pixbuf to render
      pixbuf-expander-open -> GdkPixbuf: Pixbuf Expander Open
        Pixbuf for open expander
      pixbuf-expander-closed -> GdkPixbuf: Pixbuf Expander Closed
        Pixbuf for closed expander
      surface -> CairoSurface: surface
        The surface to render
      stock-id -> gchararray: Stock ID
        The stock ID of the stock icon to render
      stock-size -> guint: Size
        The GtkIconSize value that specifies the size of the rendered icon
      stock-detail -> gchararray: Detail
        Render detail to pass to the theme engine
      follow-state -> gboolean: Follow State
        Whether the rendered pixbuf should be colorized according to the state
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      gicon -> GIcon: Icon
        The GIcon being displayed

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        follow_state: bool
        gicon: Gio.Icon
        icon_name: str
        pixbuf: GdkPixbuf.Pixbuf
        pixbuf_expander_closed: GdkPixbuf.Pixbuf
        pixbuf_expander_open: GdkPixbuf.Pixbuf
        stock_detail: str
        stock_id: str
        stock_size: int
        surface: cairo.Surface
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        cell_background: str

    props: Props = ...
    parent: CellRenderer = ...
    priv: CellRendererPixbufPrivate = ...
    def __init__(
        self,
        follow_state: bool = ...,
        gicon: Gio.Icon = ...,
        icon_name: str = ...,
        pixbuf: GdkPixbuf.Pixbuf = ...,
        pixbuf_expander_closed: GdkPixbuf.Pixbuf = ...,
        pixbuf_expander_open: GdkPixbuf.Pixbuf = ...,
        stock_detail: str = ...,
        stock_id: str = ...,
        stock_size: int = ...,
        surface: cairo.Surface = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    @classmethod
    def new(cls) -> CellRendererPixbuf: ...

class CellRendererPixbufClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererPixbufClass()
    """

    parent_class: CellRendererClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererPixbufPrivate(GObject.GPointer): ...
class CellRendererPrivate(GObject.GPointer): ...

class CellRendererProgress(CellRenderer, Orientable):
    """
    :Constructors:

    ::

        CellRendererProgress(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererProgress

    Properties from GtkCellRendererProgress:
      value -> gint: Value
        Value of the progress bar
      text -> gchararray: Text
        Text on the progress bar
      pulse -> gint: Pulse
        Set this to positive values to indicate that some progress is made, but you don't know how much.
      text-xalign -> gfloat: Text x alignment
        The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      text-yalign -> gfloat: Text y alignment
        The vertical text alignment, from 0 (top) to 1 (bottom).
      inverted -> gboolean: Inverted
        Invert the direction in which the progress bar grows

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        inverted: bool
        pulse: int
        text: str
        text_xalign: float
        text_yalign: float
        value: int
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        orientation: Orientation
        cell_background: str

    props: Props = ...
    parent_instance: CellRenderer = ...
    priv: CellRendererProgressPrivate = ...
    def __init__(
        self,
        inverted: bool = ...,
        pulse: int = ...,
        text: str = ...,
        text_xalign: float = ...,
        text_yalign: float = ...,
        value: int = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> CellRendererProgress: ...

class CellRendererProgressClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererProgressClass()
    """

    parent_class: CellRendererClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererProgressPrivate(GObject.GPointer): ...

class CellRendererSpin(CellRendererText):
    """
    :Constructors:

    ::

        CellRendererSpin(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererSpin

    Properties from GtkCellRendererSpin:
      adjustment -> GtkAdjustment: Adjustment
        The adjustment that holds the value of the spin button
      climb-rate -> gdouble: Climb rate
        The acceleration rate when you hold down a button
      digits -> guint: Digits
        The number of decimal places to display

    Signals from GtkCellRendererText:
      edited (gchararray, gchararray)

    Properties from GtkCellRendererText:
      text -> gchararray: Text
        Text to render
      markup -> gchararray: Markup
        Marked up text to render
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the renderer
      single-paragraph-mode -> gboolean: Single Paragraph Mode
        Whether to keep all text in a single paragraph
      width-chars -> gint: Width In Characters
        The desired width of the label, in characters
      max-width-chars -> gint: Maximum Width In Characters
        The maximum width of the cell, in characters
      wrap-width -> gint: Wrap width
        The width at which the text is wrapped
      alignment -> PangoAlignment: Alignment
        How to align the lines
      placeholder-text -> gchararray: Placeholder text
        Text rendered when an editable cell is empty
      background -> gchararray: Background color name
        Background color as a string
      foreground -> gchararray: Foreground color name
        Foreground color as a string
      background-gdk -> GdkColor: Background color
        Background color as a GdkColor
      foreground-gdk -> GdkColor: Foreground color
        Foreground color as a GdkColor
      background-rgba -> GdkRGBA: Background color as RGBA
        Background color as a GdkRGBA
      foreground-rgba -> GdkRGBA: Foreground color as RGBA
        Foreground color as a GdkRGBA
      font -> gchararray: Font
        Font description as a string, e.g. "Sans Italic 12"
      font-desc -> PangoFontDescription: Font
        Font description as a PangoFontDescription struct
      family -> gchararray: Font family
        Name of the font family, e.g. Sans, Helvetica, Times, Monospace
      style -> PangoStyle: Font style
        Font style
      variant -> PangoVariant: Font variant
        Font variant
      weight -> gint: Font weight
        Font weight
      stretch -> PangoStretch: Font stretch
        Font stretch
      size -> gint: Font size
        Font size
      size-points -> gdouble: Font points
        Font size in points
      scale -> gdouble: Font scale
        Font scaling factor
      editable -> gboolean: Editable
        Whether the text can be modified by the user
      strikethrough -> gboolean: Strikethrough
        Whether to strike through the text
      underline -> PangoUnderline: Underline
        Style of underline for this text
      rise -> gint: Rise
        Offset of text above the baseline (below the baseline if rise is negative)
      language -> gchararray: 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
      ellipsize -> PangoEllipsizeMode: Ellipsize
        The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string
      wrap-mode -> PangoWrapMode: Wrap mode
        How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string
      background-set -> gboolean: Background set
        Whether this tag affects the background color
      foreground-set -> gboolean: Foreground set
        Whether this tag affects the foreground color
      family-set -> gboolean: Font family set
        Whether this tag affects the font family
      style-set -> gboolean: Font style set
        Whether this tag affects the font style
      variant-set -> gboolean: Font variant set
        Whether this tag affects the font variant
      weight-set -> gboolean: Font weight set
        Whether this tag affects the font weight
      stretch-set -> gboolean: Font stretch set
        Whether this tag affects the font stretch
      size-set -> gboolean: Font size set
        Whether this tag affects the font size
      scale-set -> gboolean: Font scale set
        Whether this tag scales the font size by a factor
      editable-set -> gboolean: Editability set
        Whether this tag affects text editability
      strikethrough-set -> gboolean: Strikethrough set
        Whether this tag affects strikethrough
      underline-set -> gboolean: Underline set
        Whether this tag affects underlining
      rise-set -> gboolean: Rise set
        Whether this tag affects the rise
      language-set -> gboolean: Language set
        Whether this tag affects the language the text is rendered as
      ellipsize-set -> gboolean: Ellipsize set
        Whether this tag affects the ellipsize mode
      align-set -> gboolean: Align set
        Whether this tag affects the alignment mode

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        climb_rate: float
        digits: int
        align_set: bool
        alignment: Pango.Alignment
        attributes: Pango.AttrList
        background_gdk: Gdk.Color
        background_rgba: Gdk.RGBA
        background_set: bool
        editable: bool
        editable_set: bool
        ellipsize: Pango.EllipsizeMode
        ellipsize_set: bool
        family: str
        family_set: bool
        font: str
        font_desc: Pango.FontDescription
        foreground_gdk: Gdk.Color
        foreground_rgba: Gdk.RGBA
        foreground_set: bool
        language: str
        language_set: bool
        max_width_chars: int
        placeholder_text: str
        rise: int
        rise_set: bool
        scale: float
        scale_set: bool
        single_paragraph_mode: bool
        size: int
        size_points: float
        size_set: bool
        stretch: Pango.Stretch
        stretch_set: bool
        strikethrough: bool
        strikethrough_set: bool
        style: Pango.Style
        style_set: bool
        text: str
        underline: Pango.Underline
        underline_set: bool
        variant: Pango.Variant
        variant_set: bool
        weight: int
        weight_set: bool
        width_chars: int
        wrap_mode: Pango.WrapMode
        wrap_width: int
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        background: str
        foreground: str
        markup: str
        cell_background: str

    props: Props = ...
    parent: CellRendererText = ...
    priv: CellRendererSpinPrivate = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        climb_rate: float = ...,
        digits: int = ...,
        align_set: bool = ...,
        alignment: Pango.Alignment = ...,
        attributes: Pango.AttrList = ...,
        background: str = ...,
        background_gdk: Gdk.Color = ...,
        background_rgba: Gdk.RGBA = ...,
        background_set: bool = ...,
        editable: bool = ...,
        editable_set: bool = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        ellipsize_set: bool = ...,
        family: str = ...,
        family_set: bool = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        foreground: str = ...,
        foreground_gdk: Gdk.Color = ...,
        foreground_rgba: Gdk.RGBA = ...,
        foreground_set: bool = ...,
        language: str = ...,
        language_set: bool = ...,
        markup: str = ...,
        max_width_chars: int = ...,
        placeholder_text: str = ...,
        rise: int = ...,
        rise_set: bool = ...,
        scale: float = ...,
        scale_set: bool = ...,
        single_paragraph_mode: bool = ...,
        size: int = ...,
        size_points: float = ...,
        size_set: bool = ...,
        stretch: Pango.Stretch = ...,
        stretch_set: bool = ...,
        strikethrough: bool = ...,
        strikethrough_set: bool = ...,
        style: Pango.Style = ...,
        style_set: bool = ...,
        text: str = ...,
        underline: Pango.Underline = ...,
        underline_set: bool = ...,
        variant: Pango.Variant = ...,
        variant_set: bool = ...,
        weight: int = ...,
        weight_set: bool = ...,
        width_chars: int = ...,
        wrap_mode: Pango.WrapMode = ...,
        wrap_width: int = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    @classmethod
    def new(cls) -> CellRendererSpin: ...

class CellRendererSpinClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererSpinClass()
    """

    parent: CellRendererTextClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererSpinPrivate(GObject.GPointer): ...

class CellRendererSpinner(CellRenderer):
    """
    :Constructors:

    ::

        CellRendererSpinner(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererSpinner

    Properties from GtkCellRendererSpinner:
      active -> gboolean: Active
        Whether the spinner is active (ie. shown) in the cell
      pulse -> guint: Pulse
        Pulse of the spinner
      size -> GtkIconSize: Size
        The GtkIconSize value that specifies the size of the rendered spinner

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        pulse: int
        size: IconSize
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        cell_background: str

    props: Props = ...
    parent: CellRenderer = ...
    priv: CellRendererSpinnerPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        pulse: int = ...,
        size: IconSize = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    @classmethod
    def new(cls) -> CellRendererSpinner: ...

class CellRendererSpinnerClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererSpinnerClass()
    """

    parent_class: CellRendererClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererSpinnerPrivate(GObject.GPointer): ...

class CellRendererText(CellRenderer):
    """
    :Constructors:

    ::

        CellRendererText(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererText

    Signals from GtkCellRendererText:
      edited (gchararray, gchararray)

    Properties from GtkCellRendererText:
      text -> gchararray: Text
        Text to render
      markup -> gchararray: Markup
        Marked up text to render
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the renderer
      single-paragraph-mode -> gboolean: Single Paragraph Mode
        Whether to keep all text in a single paragraph
      width-chars -> gint: Width In Characters
        The desired width of the label, in characters
      max-width-chars -> gint: Maximum Width In Characters
        The maximum width of the cell, in characters
      wrap-width -> gint: Wrap width
        The width at which the text is wrapped
      alignment -> PangoAlignment: Alignment
        How to align the lines
      placeholder-text -> gchararray: Placeholder text
        Text rendered when an editable cell is empty
      background -> gchararray: Background color name
        Background color as a string
      foreground -> gchararray: Foreground color name
        Foreground color as a string
      background-gdk -> GdkColor: Background color
        Background color as a GdkColor
      foreground-gdk -> GdkColor: Foreground color
        Foreground color as a GdkColor
      background-rgba -> GdkRGBA: Background color as RGBA
        Background color as a GdkRGBA
      foreground-rgba -> GdkRGBA: Foreground color as RGBA
        Foreground color as a GdkRGBA
      font -> gchararray: Font
        Font description as a string, e.g. "Sans Italic 12"
      font-desc -> PangoFontDescription: Font
        Font description as a PangoFontDescription struct
      family -> gchararray: Font family
        Name of the font family, e.g. Sans, Helvetica, Times, Monospace
      style -> PangoStyle: Font style
        Font style
      variant -> PangoVariant: Font variant
        Font variant
      weight -> gint: Font weight
        Font weight
      stretch -> PangoStretch: Font stretch
        Font stretch
      size -> gint: Font size
        Font size
      size-points -> gdouble: Font points
        Font size in points
      scale -> gdouble: Font scale
        Font scaling factor
      editable -> gboolean: Editable
        Whether the text can be modified by the user
      strikethrough -> gboolean: Strikethrough
        Whether to strike through the text
      underline -> PangoUnderline: Underline
        Style of underline for this text
      rise -> gint: Rise
        Offset of text above the baseline (below the baseline if rise is negative)
      language -> gchararray: 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
      ellipsize -> PangoEllipsizeMode: Ellipsize
        The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string
      wrap-mode -> PangoWrapMode: Wrap mode
        How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string
      background-set -> gboolean: Background set
        Whether this tag affects the background color
      foreground-set -> gboolean: Foreground set
        Whether this tag affects the foreground color
      family-set -> gboolean: Font family set
        Whether this tag affects the font family
      style-set -> gboolean: Font style set
        Whether this tag affects the font style
      variant-set -> gboolean: Font variant set
        Whether this tag affects the font variant
      weight-set -> gboolean: Font weight set
        Whether this tag affects the font weight
      stretch-set -> gboolean: Font stretch set
        Whether this tag affects the font stretch
      size-set -> gboolean: Font size set
        Whether this tag affects the font size
      scale-set -> gboolean: Font scale set
        Whether this tag scales the font size by a factor
      editable-set -> gboolean: Editability set
        Whether this tag affects text editability
      strikethrough-set -> gboolean: Strikethrough set
        Whether this tag affects strikethrough
      underline-set -> gboolean: Underline set
        Whether this tag affects underlining
      rise-set -> gboolean: Rise set
        Whether this tag affects the rise
      language-set -> gboolean: Language set
        Whether this tag affects the language the text is rendered as
      ellipsize-set -> gboolean: Ellipsize set
        Whether this tag affects the ellipsize mode
      align-set -> gboolean: Align set
        Whether this tag affects the alignment mode

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        align_set: bool
        alignment: Pango.Alignment
        attributes: Pango.AttrList
        background_gdk: Gdk.Color
        background_rgba: Gdk.RGBA
        background_set: bool
        editable: bool
        editable_set: bool
        ellipsize: Pango.EllipsizeMode
        ellipsize_set: bool
        family: str
        family_set: bool
        font: str
        font_desc: Pango.FontDescription
        foreground_gdk: Gdk.Color
        foreground_rgba: Gdk.RGBA
        foreground_set: bool
        language: str
        language_set: bool
        max_width_chars: int
        placeholder_text: str
        rise: int
        rise_set: bool
        scale: float
        scale_set: bool
        single_paragraph_mode: bool
        size: int
        size_points: float
        size_set: bool
        stretch: Pango.Stretch
        stretch_set: bool
        strikethrough: bool
        strikethrough_set: bool
        style: Pango.Style
        style_set: bool
        text: str
        underline: Pango.Underline
        underline_set: bool
        variant: Pango.Variant
        variant_set: bool
        weight: int
        weight_set: bool
        width_chars: int
        wrap_mode: Pango.WrapMode
        wrap_width: int
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        background: str
        foreground: str
        markup: str
        cell_background: str

    props: Props = ...
    parent: CellRenderer = ...
    priv: CellRendererTextPrivate = ...
    def __init__(
        self,
        align_set: bool = ...,
        alignment: Pango.Alignment = ...,
        attributes: Pango.AttrList = ...,
        background: str = ...,
        background_gdk: Gdk.Color = ...,
        background_rgba: Gdk.RGBA = ...,
        background_set: bool = ...,
        editable: bool = ...,
        editable_set: bool = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        ellipsize_set: bool = ...,
        family: str = ...,
        family_set: bool = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        foreground: str = ...,
        foreground_gdk: Gdk.Color = ...,
        foreground_rgba: Gdk.RGBA = ...,
        foreground_set: bool = ...,
        language: str = ...,
        language_set: bool = ...,
        markup: str = ...,
        max_width_chars: int = ...,
        placeholder_text: str = ...,
        rise: int = ...,
        rise_set: bool = ...,
        scale: float = ...,
        scale_set: bool = ...,
        single_paragraph_mode: bool = ...,
        size: int = ...,
        size_points: float = ...,
        size_set: bool = ...,
        stretch: Pango.Stretch = ...,
        stretch_set: bool = ...,
        strikethrough: bool = ...,
        strikethrough_set: bool = ...,
        style: Pango.Style = ...,
        style_set: bool = ...,
        text: str = ...,
        underline: Pango.Underline = ...,
        underline_set: bool = ...,
        variant: Pango.Variant = ...,
        variant_set: bool = ...,
        weight: int = ...,
        weight_set: bool = ...,
        width_chars: int = ...,
        wrap_mode: Pango.WrapMode = ...,
        wrap_width: int = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    def do_edited(self, path: str, new_text: str) -> None: ...
    @classmethod
    def new(cls) -> CellRendererText: ...
    def set_fixed_height_from_font(self, number_of_rows: int) -> None: ...

class CellRendererTextClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererTextClass()
    """

    parent_class: CellRendererClass = ...
    edited: Callable[[CellRendererText, str, str], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererTextPrivate(GObject.GPointer): ...

class CellRendererToggle(CellRenderer):
    """
    :Constructors:

    ::

        CellRendererToggle(**properties)
        new() -> Gtk.CellRenderer

    Object GtkCellRendererToggle

    Signals from GtkCellRendererToggle:
      toggled (gchararray)

    Properties from GtkCellRendererToggle:
      activatable -> gboolean: Activatable
        The toggle button can be activated
      active -> gboolean: Toggle state
        The toggle state of the button
      radio -> gboolean: Radio state
        Draw the toggle button as a radio button
      inconsistent -> gboolean: Inconsistent state
        The inconsistent state of the button
      indicator-size -> gint: Indicator size
        Size of check or radio indicator

    Signals from GtkCellRenderer:
      editing-canceled ()
      editing-started (GtkCellEditable, gchararray)

    Properties from GtkCellRenderer:
      mode -> GtkCellRendererMode: mode
        Editable mode of the CellRenderer
      visible -> gboolean: visible
        Display the cell
      sensitive -> gboolean: Sensitive
        Display the cell sensitive
      xalign -> gfloat: xalign
        The x-align
      yalign -> gfloat: yalign
        The y-align
      xpad -> guint: xpad
        The xpad
      ypad -> guint: ypad
        The ypad
      width -> gint: width
        The fixed width
      height -> gint: height
        The fixed height
      is-expander -> gboolean: Is Expander
        Row has children
      is-expanded -> gboolean: Is Expanded
        Row is an expander row, and is expanded
      cell-background -> gchararray: Cell background color name
        Cell background color as a string
      cell-background-gdk -> GdkColor: Cell background color
        Cell background color as a GdkColor
      cell-background-rgba -> GdkRGBA: Cell background RGBA color
        Cell background color as a GdkRGBA
      cell-background-set -> gboolean: Cell background set
        Whether the cell background color is set
      editing -> gboolean: Editing
        Whether the cell renderer is currently in editing mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activatable: bool
        active: bool
        inconsistent: bool
        indicator_size: int
        radio: bool
        cell_background_gdk: Gdk.Color
        cell_background_rgba: Gdk.RGBA
        cell_background_set: bool
        editing: bool
        height: int
        is_expanded: bool
        is_expander: bool
        mode: CellRendererMode
        sensitive: bool
        visible: bool
        width: int
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        cell_background: str

    props: Props = ...
    parent: CellRenderer = ...
    priv: CellRendererTogglePrivate = ...
    def __init__(
        self,
        activatable: bool = ...,
        active: bool = ...,
        inconsistent: bool = ...,
        indicator_size: int = ...,
        radio: bool = ...,
        cell_background: str = ...,
        cell_background_gdk: Gdk.Color = ...,
        cell_background_rgba: Gdk.RGBA = ...,
        cell_background_set: bool = ...,
        height: int = ...,
        is_expanded: bool = ...,
        is_expander: bool = ...,
        mode: CellRendererMode = ...,
        sensitive: bool = ...,
        visible: bool = ...,
        width: int = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
    ): ...
    def do_toggled(self, path: str) -> None: ...
    def get_activatable(self) -> bool: ...
    def get_active(self) -> bool: ...
    def get_radio(self) -> bool: ...
    @classmethod
    def new(cls) -> CellRendererToggle: ...
    def set_activatable(self, setting: bool) -> None: ...
    def set_active(self, setting: bool) -> None: ...
    def set_radio(self, radio: bool) -> None: ...

class CellRendererToggleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellRendererToggleClass()
    """

    parent_class: CellRendererClass = ...
    toggled: Callable[[CellRendererToggle, str], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellRendererTogglePrivate(GObject.GPointer): ...

class CellView(Widget, Atk.ImplementorIface, Buildable, CellLayout, Orientable):
    """
    :Constructors:

    ::

        CellView(**properties)
        new() -> Gtk.Widget
        new_with_context(area:Gtk.CellArea, context:Gtk.CellAreaContext) -> Gtk.Widget
        new_with_markup(markup:str) -> Gtk.Widget
        new_with_pixbuf(pixbuf:GdkPixbuf.Pixbuf) -> Gtk.Widget
        new_with_text(text:str) -> Gtk.Widget

    Object GtkCellView

    Properties from GtkCellView:
      background -> gchararray: Background color name
        Background color as a string
      background-gdk -> GdkColor: Background color
        Background color as a GdkColor
      background-rgba -> GdkRGBA: Background RGBA color
        Background color as a GdkRGBA
      background-set -> gboolean: Background set
        Whether this tag affects the background color
      model -> GtkTreeModel: CellView model
        The model for cell view
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells
      cell-area-context -> GtkCellAreaContext: Cell Area Context
        The GtkCellAreaContext used to compute the geometry of the cell view
      draw-sensitive -> gboolean: Draw Sensitive
        Whether to force cells to be drawn in a sensitive state
      fit-model -> gboolean: Fit Model
        Whether to request enough space for every row in the model

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        background_gdk: Gdk.Color
        background_rgba: Gdk.RGBA
        background_set: bool
        cell_area: CellArea
        cell_area_context: CellAreaContext
        draw_sensitive: bool
        fit_model: bool
        model: Optional[TreeModel]
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        background: str

    props: Props = ...
    parent_instance: Widget = ...
    priv: CellViewPrivate = ...
    def __init__(
        self,
        background: str = ...,
        background_gdk: Gdk.Color = ...,
        background_rgba: Gdk.RGBA = ...,
        background_set: bool = ...,
        cell_area: CellArea = ...,
        cell_area_context: CellAreaContext = ...,
        draw_sensitive: bool = ...,
        fit_model: bool = ...,
        model: Optional[TreeModel] = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_displayed_row(self) -> Optional[TreePath]: ...
    def get_draw_sensitive(self) -> bool: ...
    def get_fit_model(self) -> bool: ...
    def get_model(self) -> Optional[TreeModel]: ...
    def get_size_of_row(self, path: TreePath) -> Tuple[bool, Requisition]: ...
    @classmethod
    def new(cls) -> CellView: ...
    @classmethod
    def new_with_context(cls, area: CellArea, context: CellAreaContext) -> CellView: ...
    @classmethod
    def new_with_markup(cls, markup: str) -> CellView: ...
    @classmethod
    def new_with_pixbuf(cls, pixbuf: GdkPixbuf.Pixbuf) -> CellView: ...
    @classmethod
    def new_with_text(cls, text: str) -> CellView: ...
    def set_background_color(self, color: Gdk.Color) -> None: ...
    def set_background_rgba(self, rgba: Gdk.RGBA) -> None: ...
    def set_displayed_row(self, path: Optional[TreePath] = None) -> None: ...
    def set_draw_sensitive(self, draw_sensitive: bool) -> None: ...
    def set_fit_model(self, fit_model: bool) -> None: ...
    def set_model(self, model: Optional[TreeModel] = None) -> None: ...

class CellViewClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CellViewClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CellViewPrivate(GObject.GPointer): ...

class CheckButton(
    ToggleButton, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        CheckButton(**properties)
        new() -> Gtk.Widget
        new_with_label(label:str) -> Gtk.Widget
        new_with_mnemonic(label:str) -> Gtk.Widget

    Object GtkCheckButton

    Signals from GtkToggleButton:
      toggled ()

    Properties from GtkToggleButton:
      active -> gboolean: Active
        If the toggle button should be pressed in
      inconsistent -> gboolean: Inconsistent
        If the toggle button is in an "in between" state
      draw-indicator -> gboolean: Draw Indicator
        If the toggle part of the button is displayed

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        draw_indicator: bool
        inconsistent: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    toggle_button: ToggleButton = ...
    def __init__(
        self,
        active: bool = ...,
        draw_indicator: bool = ...,
        inconsistent: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_draw_indicator(self, cr: cairo.Context[_SomeSurface]) -> None: ...
    @classmethod
    def new(cls) -> CheckButton: ...
    @classmethod
    def new_with_label(cls, label: str) -> CheckButton: ...
    @classmethod
    def new_with_mnemonic(cls, label: str) -> CheckButton: ...

class CheckButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CheckButtonClass()
    """

    parent_class: ToggleButtonClass = ...
    draw_indicator: Callable[[CheckButton, cairo.Context[_SomeSurface]], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CheckMenuItem(MenuItem, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        CheckMenuItem(**properties)
        new() -> Gtk.Widget
        new_with_label(label:str) -> Gtk.Widget
        new_with_mnemonic(label:str) -> Gtk.Widget

    Object GtkCheckMenuItem

    Signals from GtkCheckMenuItem:
      toggled ()

    Properties from GtkCheckMenuItem:
      active -> gboolean: Active
        Whether the menu item is checked
      inconsistent -> gboolean: Inconsistent
        Whether to display an "inconsistent" state
      draw-as-radio -> gboolean: Draw as radio menu item
        Whether the menu item looks like a radio menu item

    Signals from GtkMenuItem:
      activate ()
      activate-item ()
      toggle-size-request (gpointer)
      toggle-size-allocate (gint)
      select ()
      deselect ()

    Properties from GtkMenuItem:
      right-justified -> gboolean: Right Justified
        Sets whether the menu item appears justified at the right side of a menu bar
      submenu -> GtkMenu: Submenu
        The submenu attached to the menu item, or NULL if it has none
      accel-path -> gchararray: Accel Path
        Sets the accelerator path of the menu item
      label -> gchararray: Label
        The text for the child label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        draw_as_radio: bool
        inconsistent: bool
        accel_path: Optional[str]
        label: str
        right_justified: bool
        submenu: Optional[Menu]
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    menu_item: MenuItem = ...
    priv: CheckMenuItemPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        draw_as_radio: bool = ...,
        inconsistent: bool = ...,
        accel_path: Optional[str] = ...,
        label: str = ...,
        right_justified: bool = ...,
        submenu: Optional[Menu] = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_draw_indicator(self, cr: cairo.Context[_SomeSurface]) -> None: ...
    def do_toggled(self) -> None: ...
    def get_active(self) -> bool: ...
    def get_draw_as_radio(self) -> bool: ...
    def get_inconsistent(self) -> bool: ...
    @classmethod
    def new(cls) -> CheckMenuItem: ...
    @classmethod
    def new_with_label(cls, label: str) -> CheckMenuItem: ...
    @classmethod
    def new_with_mnemonic(cls, label: str) -> CheckMenuItem: ...
    def set_active(self, is_active: bool) -> None: ...
    def set_draw_as_radio(self, draw_as_radio: bool) -> None: ...
    def set_inconsistent(self, setting: bool) -> None: ...
    def toggled(self) -> None: ...

class CheckMenuItemAccessible(
    MenuItemAccessible, Atk.Action, Atk.Component, Atk.Selection
):
    """
    :Constructors:

    ::

        CheckMenuItemAccessible(**properties)

    Object GtkCheckMenuItemAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: MenuItemAccessible = ...
    priv: CheckMenuItemAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class CheckMenuItemAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CheckMenuItemAccessibleClass()
    """

    parent_class: MenuItemAccessibleClass = ...

class CheckMenuItemAccessiblePrivate(GObject.GPointer): ...

class CheckMenuItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CheckMenuItemClass()
    """

    parent_class: MenuItemClass = ...
    toggled: Callable[[CheckMenuItem], None] = ...
    draw_indicator: Callable[[CheckMenuItem, cairo.Context[_SomeSurface]], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CheckMenuItemPrivate(GObject.GPointer): ...

class Clipboard(GObject.Object):
    """
    :Constructors:

    ::

        Clipboard(**properties)

    Object GtkClipboard

    Signals from GtkClipboard:
      owner-change (GdkEvent)

    Signals from GObject:
      notify (GParam)
    """

    def clear(self) -> None: ...
    @staticmethod
    def get(selection: Gdk.Atom) -> Clipboard: ...
    @staticmethod
    def get_default(display: Gdk.Display) -> Clipboard: ...
    def get_display(self) -> Gdk.Display: ...
    @staticmethod
    def get_for_display(display: Gdk.Display, selection: Gdk.Atom) -> Clipboard: ...
    def get_owner(self) -> Optional[GObject.Object]: ...
    def get_selection(self) -> Gdk.Atom: ...
    def request_contents(
        self, target: Gdk.Atom, callback: Callable[..., None], *user_data: Any
    ) -> None: ...
    def request_image(self, callback: Callable[..., None], *user_data: Any) -> None: ...
    def request_rich_text(
        self, buffer: TextBuffer, callback: Callable[..., None], *user_data: Any
    ) -> None: ...
    def request_targets(
        self, callback: Callable[..., None], *user_data: Any
    ) -> None: ...
    def request_text(self, callback: Callable[..., None], *user_data: Any) -> None: ...
    def request_uris(self, callback: Callable[..., None], *user_data: Any) -> None: ...
    def set_can_store(
        self, targets: Optional[Sequence[TargetEntry]] = None
    ) -> None: ...
    def set_image(self, pixbuf: GdkPixbuf.Pixbuf) -> None: ...
    def set_text(self, text: str, len: int) -> None: ...
    def store(self) -> None: ...
    def wait_for_contents(self, target: Gdk.Atom) -> Optional[SelectionData]: ...
    def wait_for_image(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def wait_for_rich_text(
        self, buffer: TextBuffer
    ) -> Tuple[Optional[bytes], Gdk.Atom]: ...
    def wait_for_targets(self) -> Tuple[bool, list[Gdk.Atom]]: ...
    def wait_for_text(self) -> Optional[str]: ...
    def wait_for_uris(self) -> Optional[list[str]]: ...
    def wait_is_image_available(self) -> bool: ...
    def wait_is_rich_text_available(self, buffer: TextBuffer) -> bool: ...
    def wait_is_target_available(self, target: Gdk.Atom) -> bool: ...
    def wait_is_text_available(self) -> bool: ...
    def wait_is_uris_available(self) -> bool: ...

class ColorButton(
    Button, Atk.ImplementorIface, Actionable, Activatable, Buildable, ColorChooser
):
    """
    :Constructors:

    ::

        ColorButton(**properties)
        new() -> Gtk.Widget
        new_with_color(color:Gdk.Color) -> Gtk.Widget
        new_with_rgba(rgba:Gdk.RGBA) -> Gtk.Widget

    Object GtkColorButton

    Signals from GtkColorButton:
      color-set ()

    Properties from GtkColorButton:
      use-alpha -> gboolean: Use alpha
        Whether to give the color an alpha value
      title -> gchararray: Title
        The title of the color selection dialog
      color -> GdkColor: Current Color
        The selected color
      alpha -> guint: Current Alpha
        The selected opacity value (0 fully transparent, 65535 fully opaque)
      rgba -> GdkRGBA: Current RGBA Color
        The selected RGBA color
      show-editor -> gboolean: Show Editor
        Whether to show the color editor right away

    Signals from GtkColorChooser:
      color-activated (GdkRGBA)

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        alpha: int
        color: Gdk.Color
        rgba: Gdk.RGBA
        show_editor: bool
        title: str
        use_alpha: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    button: Button = ...
    priv: ColorButtonPrivate = ...
    def __init__(
        self,
        alpha: int = ...,
        color: Gdk.Color = ...,
        rgba: Gdk.RGBA = ...,
        show_editor: bool = ...,
        title: str = ...,
        use_alpha: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_color_set(self) -> None: ...
    def get_alpha(self) -> int: ...
    def get_color(self) -> Gdk.Color: ...
    def get_title(self) -> str: ...
    def get_use_alpha(self) -> bool: ...
    @classmethod
    def new(cls) -> ColorButton: ...
    @classmethod
    def new_with_color(cls, color: Gdk.Color) -> ColorButton: ...
    @classmethod
    def new_with_rgba(cls, rgba: Gdk.RGBA) -> ColorButton: ...
    def set_alpha(self, alpha: int) -> None: ...
    def set_color(self, color: Gdk.Color) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_use_alpha(self, use_alpha: bool) -> None: ...

class ColorButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ColorButtonClass()
    """

    parent_class: ButtonClass = ...
    color_set: Callable[[ColorButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ColorButtonPrivate(GObject.GPointer): ...

class ColorChooser(GObject.GInterface):
    """
    Interface GtkColorChooser

    Signals from GObject:
      notify (GParam)
    """

    def add_palette(
        self,
        orientation: Orientation,
        colors_per_line: int,
        colors: Optional[Sequence[Gdk.RGBA]] = None,
    ) -> None: ...
    def get_rgba(self) -> Gdk.RGBA: ...
    def get_use_alpha(self) -> bool: ...
    def set_rgba(self, color: Gdk.RGBA) -> None: ...
    def set_use_alpha(self, use_alpha: bool) -> None: ...

class ColorChooserDialog(Dialog, Atk.ImplementorIface, Buildable, ColorChooser):
    """
    :Constructors:

    ::

        ColorChooserDialog(**properties)
        new(title:str=None, parent:Gtk.Window=None) -> Gtk.Widget

    Object GtkColorChooserDialog

    Properties from GtkColorChooserDialog:
      show-editor -> gboolean: Show editor
        Show editor

    Signals from GtkColorChooser:
      color-activated (GdkRGBA)

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        show_editor: bool
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        rgba: Gdk.RGBA
        use_alpha: bool
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: ColorChooserDialogPrivate = ...
    def __init__(
        self,
        show_editor: bool = ...,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        rgba: Gdk.RGBA = ...,
        use_alpha: bool = ...,
    ): ...
    @classmethod
    def new(
        cls, title: Optional[str] = None, parent: Optional[Window] = None
    ) -> ColorChooserDialog: ...

class ColorChooserDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ColorChooserDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ColorChooserDialogPrivate(GObject.GPointer): ...

class ColorChooserInterface(GObject.GPointer):
    """
    :Constructors:

    ::

        ColorChooserInterface()
    """

    base_interface: GObject.TypeInterface = ...
    get_rgba: Callable[[ColorChooser], Gdk.RGBA] = ...
    set_rgba: Callable[[ColorChooser, Gdk.RGBA], None] = ...
    add_palette: Callable[
        [ColorChooser, Orientation, int, Optional[Sequence[Gdk.RGBA]]], None
    ] = ...
    color_activated: Callable[[ColorChooser, Gdk.RGBA], None] = ...
    padding: list[None] = ...

class ColorChooserWidget(
    Box, Atk.ImplementorIface, Buildable, ColorChooser, Orientable
):
    """
    :Constructors:

    ::

        ColorChooserWidget(**properties)
        new() -> Gtk.Widget

    Object GtkColorChooserWidget

    Properties from GtkColorChooserWidget:
      show-editor -> gboolean: Show editor
        Show editor

    Signals from GtkColorChooser:
      color-activated (GdkRGBA)

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        show_editor: bool
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        rgba: Gdk.RGBA
        use_alpha: bool
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent_instance: Box = ...
    priv: ColorChooserWidgetPrivate = ...
    def __init__(
        self,
        show_editor: bool = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        rgba: Gdk.RGBA = ...,
        use_alpha: bool = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> ColorChooserWidget: ...

class ColorChooserWidgetClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ColorChooserWidgetClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class ColorChooserWidgetPrivate(GObject.GPointer): ...

class ColorSelection(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ColorSelection(**properties)
        new() -> Gtk.Widget

    Object GtkColorSelection

    Signals from GtkColorSelection:
      color-changed ()

    Properties from GtkColorSelection:
      has-palette -> gboolean: Has palette
        Whether a palette should be used
      has-opacity-control -> gboolean: Has Opacity Control
        Whether the color selector should allow setting opacity
      current-color -> GdkColor: Current Color
        The current color
      current-alpha -> guint: Current Alpha
        The current opacity value (0 fully transparent, 65535 fully opaque)
      current-rgba -> GdkRGBA: Current RGBA
        The current RGBA color

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        current_alpha: int
        current_color: Gdk.Color
        current_rgba: Gdk.RGBA
        has_opacity_control: bool
        has_palette: bool
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent_instance: Box = ...
    private_data: ColorSelectionPrivate = ...
    def __init__(
        self,
        current_alpha: int = ...,
        current_color: Gdk.Color = ...,
        current_rgba: Gdk.RGBA = ...,
        has_opacity_control: bool = ...,
        has_palette: bool = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def do_color_changed(self) -> None: ...
    def get_current_alpha(self) -> int: ...
    def get_current_color(self) -> Gdk.Color: ...
    def get_current_rgba(self) -> Gdk.RGBA: ...
    def get_has_opacity_control(self) -> bool: ...
    def get_has_palette(self) -> bool: ...
    def get_previous_alpha(self) -> int: ...
    def get_previous_color(self) -> Gdk.Color: ...
    def get_previous_rgba(self) -> Gdk.RGBA: ...
    def is_adjusting(self) -> bool: ...
    @classmethod
    def new(cls) -> ColorSelection: ...
    @staticmethod
    def palette_from_string(str: str) -> Tuple[bool, list[Gdk.Color]]: ...
    @staticmethod
    def palette_to_string(colors: Sequence[Gdk.Color]) -> str: ...
    def set_current_alpha(self, alpha: int) -> None: ...
    def set_current_color(self, color: Gdk.Color) -> None: ...
    def set_current_rgba(self, rgba: Gdk.RGBA) -> None: ...
    def set_has_opacity_control(self, has_opacity: bool) -> None: ...
    def set_has_palette(self, has_palette: bool) -> None: ...
    def set_previous_alpha(self, alpha: int) -> None: ...
    def set_previous_color(self, color: Gdk.Color) -> None: ...
    def set_previous_rgba(self, rgba: Gdk.RGBA) -> None: ...

class ColorSelectionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ColorSelectionClass()
    """

    parent_class: BoxClass = ...
    color_changed: Callable[[ColorSelection], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ColorSelectionDialog(Dialog, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        ColorSelectionDialog(**properties)
        new(title:str) -> Gtk.Widget

    Object GtkColorSelectionDialog

    Properties from GtkColorSelectionDialog:
      color-selection -> GtkWidget: Color Selection
        The color selection embedded in the dialog.
      ok-button -> GtkWidget: OK Button
        The OK button of the dialog.
      cancel-button -> GtkWidget: Cancel Button
        The cancel button of the dialog.
      help-button -> GtkWidget: Help Button
        The help button of the dialog.

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        cancel_button: Widget
        color_selection: Widget
        help_button: Widget
        ok_button: Widget
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: ColorSelectionDialogPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_color_selection(self) -> Widget: ...
    @classmethod
    def new(cls, title: str) -> ColorSelectionDialog: ...

class ColorSelectionDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ColorSelectionDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ColorSelectionDialogPrivate(GObject.GPointer): ...
class ColorSelectionPrivate(GObject.GPointer): ...

class ComboBox(Bin, Atk.ImplementorIface, Buildable, CellEditable, CellLayout):
    """
    :Constructors:

    ::

        ComboBox(**properties)
        new() -> Gtk.Widget
        new_with_area(area:Gtk.CellArea) -> Gtk.Widget
        new_with_area_and_entry(area:Gtk.CellArea) -> Gtk.Widget
        new_with_entry() -> Gtk.Widget
        new_with_model(model:Gtk.TreeModel) -> Gtk.Widget
        new_with_model_and_entry(model:Gtk.TreeModel) -> Gtk.Widget

    Object GtkComboBox

    Signals from GtkComboBox:
      changed ()
      move-active (GtkScrollType)
      popup ()
      popdown () -> gboolean
      format-entry-text (gchararray) -> gchararray

    Properties from GtkComboBox:
      model -> GtkTreeModel: ComboBox model
        The model for the combo box
      wrap-width -> gint: Wrap width
        Wrap width for laying out the items in a grid
      row-span-column -> gint: Row span column
        TreeModel column containing the row span values
      column-span-column -> gint: Column span column
        TreeModel column containing the column span values
      active -> gint: Active item
        The item which is currently active
      add-tearoffs -> gboolean: Add tearoffs to menus
        Whether dropdowns should have a tearoff menu item
      tearoff-title -> gchararray: Tearoff Title
        A title that may be displayed by the window manager when the popup is torn-off
      has-frame -> gboolean: Has Frame
        Whether the combo box draws a frame around the child
      popup-shown -> gboolean: Popup shown
        Whether the combo's dropdown is shown
      button-sensitivity -> GtkSensitivityType: Button Sensitivity
        Whether the dropdown button is sensitive when the model is empty
      has-entry -> gboolean: Has Entry
        Whether combo box has an entry
      entry-text-column -> gint: 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
      popup-fixed-width -> gboolean: Popup Fixed Width
        Whether the popup's width should be a fixed width matching the allocated width of the combo box
      id-column -> gint: ID Column
        The column in the combo box's model that provides string IDs for the values in the model
      active-id -> gchararray: Active id
        The value of the id column for the active row
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: int
        active_id: Optional[str]
        add_tearoffs: bool
        button_sensitivity: SensitivityType
        cell_area: CellArea
        column_span_column: int
        entry_text_column: int
        has_entry: bool
        has_frame: bool
        id_column: int
        model: TreeModel
        popup_fixed_width: bool
        popup_shown: bool
        row_span_column: int
        tearoff_title: str
        wrap_width: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        editing_canceled: bool
        child: Widget

    props: Props = ...
    parent_instance: Bin = ...
    priv: ComboBoxPrivate = ...
    def __init__(
        self,
        active: int = ...,
        active_id: Optional[str] = ...,
        add_tearoffs: bool = ...,
        button_sensitivity: SensitivityType = ...,
        cell_area: CellArea = ...,
        column_span_column: int = ...,
        entry_text_column: int = ...,
        has_entry: bool = ...,
        has_frame: bool = ...,
        id_column: int = ...,
        model: Optional[TreeModel] = ...,
        popup_fixed_width: bool = ...,
        row_span_column: int = ...,
        tearoff_title: str = ...,
        wrap_width: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        editing_canceled: bool = ...,
    ): ...
    def do_changed(self) -> None: ...
    def do_format_entry_text(self, path: str) -> str: ...
    def get_active(self) -> int: ...
    def get_active_id(self) -> Optional[str]: ...
    def get_active_iter(self) -> Optional[TreeIter]: ...  # CHECK Wrapped function
    def get_add_tearoffs(self) -> bool: ...
    def get_button_sensitivity(self) -> SensitivityType: ...
    def get_column_span_column(self) -> int: ...
    def get_entry_text_column(self) -> int: ...
    def get_focus_on_click(self) -> bool: ...
    def get_has_entry(self) -> bool: ...
    def get_id_column(self) -> int: ...
    def get_model(self) -> TreeModel: ...
    def get_popup_accessible(self) -> Atk.Object: ...
    def get_popup_fixed_width(self) -> bool: ...
    def get_row_span_column(self) -> int: ...
    def get_title(self) -> str: ...
    def get_wrap_width(self) -> int: ...
    @classmethod
    def new(cls) -> ComboBox: ...
    @classmethod
    def new_with_area(cls, area: CellArea) -> ComboBox: ...
    @classmethod
    def new_with_area_and_entry(cls, area: CellArea) -> ComboBox: ...
    @classmethod
    def new_with_entry(cls) -> ComboBox: ...
    @classmethod
    def new_with_model(cls, model: TreeModel) -> ComboBox: ...
    @classmethod
    def new_with_model_and_entry(cls, model: TreeModel) -> ComboBox: ...
    def popdown(self) -> None: ...
    def popup(self) -> None: ...
    def popup_for_device(self, device: Gdk.Device) -> None: ...
    def set_active(self, index_: int) -> None: ...
    def set_active_id(self, active_id: Optional[str] = None) -> bool: ...
    def set_active_iter(self, iter: Optional[TreeIter] = None) -> None: ...
    def set_add_tearoffs(self, add_tearoffs: bool) -> None: ...
    def set_button_sensitivity(self, sensitivity: SensitivityType) -> None: ...
    def set_column_span_column(self, column_span: int) -> None: ...
    def set_entry_text_column(self, text_column: int) -> None: ...
    def set_focus_on_click(self, focus_on_click: bool) -> None: ...
    def set_id_column(self, id_column: int) -> None: ...
    def set_model(self, model: Optional[TreeModel] = None) -> None: ...
    def set_popup_fixed_width(self, fixed: bool) -> None: ...
    def set_row_separator_func(self, func: Callable[..., bool], *data: Any) -> None: ...
    def set_row_span_column(self, row_span: int) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_wrap_width(self, width: int) -> None: ...

class ComboBoxAccessible(ContainerAccessible, Atk.Action, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        ComboBoxAccessible(**properties)

    Object GtkComboBoxAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: ComboBoxAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ComboBoxAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ComboBoxAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class ComboBoxAccessiblePrivate(GObject.GPointer): ...

class ComboBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ComboBoxClass()
    """

    parent_class: BinClass = ...
    changed: Callable[[ComboBox], None] = ...
    format_entry_text: Callable[[ComboBox, str], str] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...

class ComboBoxPrivate(GObject.GPointer): ...

class ComboBoxText(ComboBox, Atk.ImplementorIface, Buildable, CellEditable, CellLayout):
    """
    :Constructors:

    ::

        ComboBoxText(**properties)
        new() -> Gtk.Widget
        new_with_entry() -> Gtk.Widget

    Object GtkComboBoxText

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkComboBox:
      changed ()
      move-active (GtkScrollType)
      popup ()
      popdown () -> gboolean
      format-entry-text (gchararray) -> gchararray

    Properties from GtkComboBox:
      model -> GtkTreeModel: ComboBox model
        The model for the combo box
      wrap-width -> gint: Wrap width
        Wrap width for laying out the items in a grid
      row-span-column -> gint: Row span column
        TreeModel column containing the row span values
      column-span-column -> gint: Column span column
        TreeModel column containing the column span values
      active -> gint: Active item
        The item which is currently active
      add-tearoffs -> gboolean: Add tearoffs to menus
        Whether dropdowns should have a tearoff menu item
      tearoff-title -> gchararray: Tearoff Title
        A title that may be displayed by the window manager when the popup is torn-off
      has-frame -> gboolean: Has Frame
        Whether the combo box draws a frame around the child
      popup-shown -> gboolean: Popup shown
        Whether the combo's dropdown is shown
      button-sensitivity -> GtkSensitivityType: Button Sensitivity
        Whether the dropdown button is sensitive when the model is empty
      has-entry -> gboolean: Has Entry
        Whether combo box has an entry
      entry-text-column -> gint: 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
      popup-fixed-width -> gboolean: Popup Fixed Width
        Whether the popup's width should be a fixed width matching the allocated width of the combo box
      id-column -> gint: ID Column
        The column in the combo box's model that provides string IDs for the values in the model
      active-id -> gchararray: Active id
        The value of the id column for the active row
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: int
        active_id: Optional[str]
        add_tearoffs: bool
        button_sensitivity: SensitivityType
        cell_area: CellArea
        column_span_column: int
        entry_text_column: int
        has_entry: bool
        has_frame: bool
        id_column: int
        model: TreeModel
        popup_fixed_width: bool
        popup_shown: bool
        row_span_column: int
        tearoff_title: str
        wrap_width: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        editing_canceled: bool
        child: Widget

    props: Props = ...
    parent_instance: ComboBox = ...
    priv: ComboBoxTextPrivate = ...
    def __init__(
        self,
        active: int = ...,
        active_id: Optional[str] = ...,
        add_tearoffs: bool = ...,
        button_sensitivity: SensitivityType = ...,
        cell_area: CellArea = ...,
        column_span_column: int = ...,
        entry_text_column: int = ...,
        has_entry: bool = ...,
        has_frame: bool = ...,
        id_column: int = ...,
        model: Optional[TreeModel] = ...,
        popup_fixed_width: bool = ...,
        row_span_column: int = ...,
        tearoff_title: str = ...,
        wrap_width: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        editing_canceled: bool = ...,
    ): ...
    def append(self, id: Optional[str], text: str) -> None: ...
    def append_text(self, text: str) -> None: ...
    # override
    def get_active_text(self) -> Optional[str]: ...
    def insert(self, position: int, id: Optional[str], text: str) -> None: ...
    def insert_text(self, position: int, text: str) -> None: ...
    @classmethod
    def new(cls) -> ComboBoxText: ...
    @classmethod
    def new_with_entry(cls) -> ComboBoxText: ...
    def prepend(self, id: Optional[str], text: str) -> None: ...
    def prepend_text(self, text: str) -> None: ...
    def remove(self, position: int) -> None: ...
    def remove_all(self) -> None: ...

class ComboBoxTextClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ComboBoxTextClass()
    """

    parent_class: ComboBoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ComboBoxTextPrivate(GObject.GPointer): ...

class Container(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Container(**properties)

    Object GtkContainer

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    widget: Widget = ...
    priv: ContainerPrivate = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add(self, widget: Widget) -> None: ...
    def check_resize(self) -> None: ...
    def child_get(self, child, *prop_names): ...  # FIXME Function
    def child_get_property(
        self, child, property_name, value=None
    ): ...  # FIXME Function
    def child_notify(self, child: Widget, child_property: str) -> None: ...
    def child_notify_by_pspec(
        self, child: Widget, pspec: GObject.ParamSpec
    ) -> None: ...
    def child_set(self, child, **kwargs): ...  # FIXME Function
    def child_set_property(
        self, child: Widget, property_name: str, value: Any
    ) -> None: ...
    def child_type(self) -> Type: ...
    def do_add(self, widget: Widget) -> None: ...
    def do_check_resize(self) -> None: ...
    def do_child_type(self) -> Type: ...
    def do_composite_name(self, child: Widget) -> str: ...
    def do_forall(
        self,
        include_internals: bool,
        callback: Callable[..., None],
        *callback_data: Any,
    ) -> None: ...
    def do_get_child_property(
        self, child: Widget, property_id: int, value: Any, pspec: GObject.ParamSpec
    ) -> None: ...
    def do_get_path_for_child(self, child: Widget) -> WidgetPath: ...
    def do_remove(self, widget: Widget) -> None: ...
    def do_set_child_property(
        self, child: Widget, property_id: int, value: Any, pspec: GObject.ParamSpec
    ) -> None: ...
    def do_set_focus_child(self, child: Optional[Widget] = None) -> None: ...
    def find_child_property(
        self, property_name: str
    ) -> Optional[GObject.ParamSpec]: ...
    def forall(self, callback: Callable[..., None], *callback_data: Any) -> None: ...
    def foreach(self, callback: Callable[..., None], *callback_data: Any) -> None: ...
    def get_border_width(self) -> int: ...
    def get_children(self) -> list[Widget]: ...
    def get_focus_chain(self) -> Optional[list[Widget]]: ...  # CHECK Wrapped function
    def get_focus_child(self) -> Optional[Widget]: ...
    def get_focus_hadjustment(self) -> Optional[Adjustment]: ...
    def get_focus_vadjustment(self) -> Optional[Adjustment]: ...
    def get_path_for_child(self, child: Widget) -> WidgetPath: ...
    def get_resize_mode(self) -> ResizeMode: ...
    def handle_border_width(self) -> None: ...
    def install_child_properties(self, pspecs: Sequence[GObject.ParamSpec]) -> None: ...
    def install_child_property(
        self, property_id: int, pspec: GObject.ParamSpec
    ) -> None: ...
    def list_child_properties(self) -> list[GObject.ParamSpec]: ...
    def propagate_draw(
        self, child: Widget, cr: cairo.Context[_SomeSurface]
    ) -> None: ...
    def remove(self, widget: Widget) -> None: ...
    def resize_children(self) -> None: ...
    def set_border_width(self, border_width: int) -> None: ...
    def set_focus_chain(self, focusable_widgets: list[Widget]) -> None: ...
    def set_focus_child(self, child: Optional[Widget] = None) -> None: ...
    def set_focus_hadjustment(self, adjustment: Adjustment) -> None: ...
    def set_focus_vadjustment(self, adjustment: Adjustment) -> None: ...
    def set_reallocate_redraws(self, needs_redraws: bool) -> None: ...
    def set_resize_mode(self, resize_mode: ResizeMode) -> None: ...
    def unset_focus_chain(self) -> None: ...

class ContainerAccessible(WidgetAccessible, Atk.Component):
    """
    :Constructors:

    ::

        ContainerAccessible(**properties)

    Object GtkContainerAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: ContainerAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ContainerAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ContainerAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...
    add_gtk: Callable[[Container, Widget, None], int] = ...
    remove_gtk: Callable[[Container, Widget, None], int] = ...

class ContainerAccessiblePrivate(GObject.GPointer): ...

class ContainerCellAccessible(CellAccessible, Atk.Action, Atk.Component, Atk.TableCell):
    """
    :Constructors:

    ::

        ContainerCellAccessible(**properties)
        new() -> Gtk.ContainerCellAccessible

    Object GtkContainerCellAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: CellAccessible = ...
    priv: ContainerCellAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def add_child(self, child: CellAccessible) -> None: ...
    def get_children(self) -> list[CellAccessible]: ...
    @classmethod
    def new(cls) -> ContainerCellAccessible: ...
    def remove_child(self, child: CellAccessible) -> None: ...

class ContainerCellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ContainerCellAccessibleClass()
    """

    parent_class: CellAccessibleClass = ...

class ContainerCellAccessiblePrivate(GObject.GPointer): ...

class ContainerClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ContainerClass()
    """

    parent_class: WidgetClass = ...
    add: Callable[[Container, Widget], None] = ...
    remove: Callable[[Container, Widget], None] = ...
    check_resize: Callable[[Container], None] = ...
    forall: Callable[..., None] = ...
    set_focus_child: Callable[[Container, Optional[Widget]], None] = ...
    child_type: Callable[[Container], Type] = ...
    composite_name: Callable[[Container, Widget], str] = ...
    set_child_property: Callable[
        [Container, Widget, int, Any, GObject.ParamSpec], None
    ] = ...
    get_child_property: Callable[
        [Container, Widget, int, Any, GObject.ParamSpec], None
    ] = ...
    get_path_for_child: Callable[[Container, Widget], WidgetPath] = ...
    _handle_border_width: int = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...
    def find_child_property(
        self, property_name: str
    ) -> Optional[GObject.ParamSpec]: ...
    def handle_border_width(self) -> None: ...
    def install_child_properties(self, pspecs: Sequence[GObject.ParamSpec]) -> None: ...
    def install_child_property(
        self, property_id: int, pspec: GObject.ParamSpec
    ) -> None: ...
    def list_child_properties(self) -> list[GObject.ParamSpec]: ...

class ContainerPrivate(GObject.GPointer): ...

class CssProvider(GObject.Object, StyleProvider):
    """
    :Constructors:

    ::

        CssProvider(**properties)
        new() -> Gtk.CssProvider

    Object GtkCssProvider

    Signals from GtkCssProvider:
      parsing-error (GtkCssSection, GError)

    Signals from GtkStyleProviderPrivate:
      -gtk-private-changed ()

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    priv: CssProviderPrivate = ...
    def do_parsing_error(self, section: CssSection, error: GLib.Error) -> None: ...
    @staticmethod
    def get_default() -> CssProvider: ...
    @staticmethod
    def get_named(name: str, variant: Optional[str] = None) -> CssProvider: ...
    # override
    def load_from_data(self, data: bytes) -> bool: ...
    def load_from_file(self, file: Gio.File) -> bool: ...
    def load_from_path(self, path: str) -> bool: ...
    def load_from_resource(self, resource_path: str) -> None: ...
    @classmethod
    def new(cls) -> CssProvider: ...
    def to_string(self) -> str: ...

class CssProviderClass(GObject.GPointer):
    """
    :Constructors:

    ::

        CssProviderClass()
    """

    parent_class: GObject.ObjectClass = ...
    parsing_error: Callable[[CssProvider, CssSection, GLib.Error], None] = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class CssProviderPrivate(GObject.GPointer): ...

class CssSection(GObject.GBoxed):
    def get_end_line(self) -> int: ...
    def get_end_position(self) -> int: ...
    def get_file(self) -> Gio.File: ...
    def get_parent(self) -> Optional[CssSection]: ...
    def get_section_type(self) -> CssSectionType: ...
    def get_start_line(self) -> int: ...
    def get_start_position(self) -> int: ...
    def ref(self) -> CssSection: ...
    def unref(self) -> None: ...

class Dialog(Window, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Dialog(**properties)
        new() -> Gtk.Widget

    Object GtkDialog

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    window: Window = ...
    priv: DialogPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    _old_arg_names = ...  # FIXME Constant
    action_area = ...  # FIXME Constant
    vbox = ...  # FIXME Constant

    def add_action_widget(self, child: Widget, response_id: int) -> None: ...
    def add_button(self, button_text: str, response_id: int) -> Widget: ...
    def add_buttons(self, *args): ...  # FIXME Function
    def do_close(self) -> None: ...
    def do_response(self, response_id: int) -> None: ...
    def get_action_area(self) -> Box: ...
    def get_content_area(self) -> Box: ...
    def get_header_bar(self) -> HeaderBar: ...
    def get_response_for_widget(self, widget: Widget) -> int: ...
    def get_widget_for_response(self, response_id: int) -> Optional[Widget]: ...
    @classmethod
    def new(cls) -> Dialog: ...
    def response(self, response_id: int) -> None: ...
    def run(self, *args, **kwargs): ...  # FIXME Function
    def set_alternative_button_order_from_array(
        self, new_order: Sequence[int]
    ) -> None: ...
    def set_default_response(self, response_id: int) -> None: ...
    def set_response_sensitive(self, response_id: int, setting: bool) -> None: ...

class DialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        DialogClass()
    """

    parent_class: WindowClass = ...
    response: Callable[[Dialog, int], None] = ...
    close: Callable[[Dialog], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class DialogPrivate(GObject.GPointer): ...

class DrawingArea(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        DrawingArea(**properties)
        new() -> Gtk.Widget

    Object GtkDrawingArea

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    widget: Widget = ...
    dummy: None = ...
    def __init__(
        self,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    @classmethod
    def new(cls) -> DrawingArea: ...

class DrawingAreaClass(GObject.GPointer):
    """
    :Constructors:

    ::

        DrawingAreaClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class Editable(GObject.GInterface):
    """
    Interface GtkEditable
    """

    def copy_clipboard(self) -> None: ...
    def cut_clipboard(self) -> None: ...
    def delete_selection(self) -> None: ...
    def delete_text(self, start_pos: int, end_pos: int) -> None: ...
    def get_chars(self, start_pos: int, end_pos: int) -> str: ...
    def get_editable(self) -> bool: ...
    def get_position(self) -> int: ...
    def get_selection_bounds(
        self,
    ) -> Tuple[int, int] | Tuple[()]: ...  # CHECK Wrapped function
    def insert_text(self, text, position): ...  # FIXME Function
    def paste_clipboard(self) -> None: ...
    def select_region(self, start_pos: int, end_pos: int) -> None: ...
    def set_editable(self, is_editable: bool) -> None: ...
    def set_position(self, position: int) -> None: ...

class EditableInterface(GObject.GPointer):
    """
    :Constructors:

    ::

        EditableInterface()
    """

    base_iface: GObject.TypeInterface = ...
    insert_text: Callable[[Editable, str, int], int] = ...
    delete_text: Callable[[Editable, int, int], None] = ...
    changed: Callable[[Editable], None] = ...
    do_insert_text: Callable[[Editable, str, int], int] = ...
    do_delete_text: Callable[[Editable, int, int], None] = ...
    get_chars: Callable[[Editable, int, int], str] = ...
    set_selection_bounds: Callable[[Editable, int, int], None] = ...
    get_selection_bounds: Callable[[Editable], Tuple[bool, int, int]] = ...
    set_position: Callable[[Editable, int], None] = ...
    get_position: Callable[[Editable], int] = ...

class Entry(Widget, Atk.ImplementorIface, Buildable, CellEditable, Editable):
    """
    :Constructors:

    ::

        Entry(**properties)
        new() -> Gtk.Widget
        new_with_buffer(buffer:Gtk.EntryBuffer) -> Gtk.Widget

    Object GtkEntry

    Signals from GtkEntry:
      activate ()
      move-cursor (GtkMovementStep, gint, gboolean)
      copy-clipboard ()
      populate-popup (GtkWidget)
      insert-at-cursor (gchararray)
      delete-from-cursor (GtkDeleteType, gint)
      backspace ()
      cut-clipboard ()
      paste-clipboard ()
      toggle-overwrite ()
      icon-press (GtkEntryIconPosition, GdkEvent)
      icon-release (GtkEntryIconPosition, GdkEvent)
      preedit-changed (gchararray)
      insert-emoji ()

    Properties from GtkEntry:
      buffer -> GtkEntryBuffer: Text Buffer
        Text buffer object which actually stores entry text
      cursor-position -> gint: Cursor Position
        The current position of the insertion cursor in chars
      selection-bound -> gint: Selection Bound
        The position of the opposite end of the selection from the cursor in chars
      editable -> gboolean: Editable
        Whether the entry contents can be edited
      max-length -> gint: Maximum length
        Maximum number of characters for this entry. Zero if no maximum
      visibility -> gboolean: Visibility
        FALSE displays the "invisible char" instead of the actual text (password mode)
      has-frame -> gboolean: Has Frame
        FALSE removes outside bevel from entry
      inner-border -> GtkBorder: Inner Border
        Border between text and frame. Overrides the inner-border style property
      invisible-char -> guint: Invisible character
        The character to use when masking entry contents (in "password mode")
      activates-default -> gboolean: Activates default
        Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed
      width-chars -> gint: Width in chars
        Number of characters to leave space for in the entry
      max-width-chars -> gint: Maximum width in characters
        The desired maximum width of the entry, in characters
      scroll-offset -> gint: Scroll offset
        Number of pixels of the entry scrolled off the screen to the left
      text -> gchararray: Text
        The contents of the entry
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      truncate-multiline -> gboolean: Truncate multiline
        Whether to truncate multiline pastes to one line.
      shadow-type -> GtkShadowType: Shadow type
        Which kind of shadow to draw around the entry when has-frame is set
      overwrite-mode -> gboolean: Overwrite mode
        Whether new text overwrites existing text
      text-length -> guint: Text length
        Length of the text currently in the entry
      invisible-char-set -> gboolean: Invisible character set
        Whether the invisible character has been set
      caps-lock-warning -> gboolean: Caps Lock warning
        Whether password entries will show a warning when Caps Lock is on
      progress-fraction -> gdouble: Progress Fraction
        The current fraction of the task that's been completed
      progress-pulse-step -> gdouble: Progress Pulse Step
        The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse()
      primary-icon-pixbuf -> GdkPixbuf: Primary pixbuf
        Primary pixbuf for the entry
      secondary-icon-pixbuf -> GdkPixbuf: Secondary pixbuf
        Secondary pixbuf for the entry
      primary-icon-stock -> gchararray: Primary stock ID
        Stock ID for primary icon
      secondary-icon-stock -> gchararray: Secondary stock ID
        Stock ID for secondary icon
      primary-icon-name -> gchararray: Primary icon name
        Icon name for primary icon
      secondary-icon-name -> gchararray: Secondary icon name
        Icon name for secondary icon
      primary-icon-gicon -> GIcon: Primary GIcon
        GIcon for primary icon
      secondary-icon-gicon -> GIcon: Secondary GIcon
        GIcon for secondary icon
      primary-icon-storage-type -> GtkImageType: Primary storage type
        The representation being used for primary icon
      secondary-icon-storage-type -> GtkImageType: Secondary storage type
        The representation being used for secondary icon
      primary-icon-activatable -> gboolean: Primary icon activatable
        Whether the primary icon is activatable
      secondary-icon-activatable -> gboolean: Secondary icon activatable
        Whether the secondary icon is activatable
      primary-icon-sensitive -> gboolean: Primary icon sensitive
        Whether the primary icon is sensitive
      secondary-icon-sensitive -> gboolean: Secondary icon sensitive
        Whether the secondary icon is sensitive
      primary-icon-tooltip-text -> gchararray: Primary icon tooltip text
        The contents of the tooltip on the primary icon
      secondary-icon-tooltip-text -> gchararray: Secondary icon tooltip text
        The contents of the tooltip on the secondary icon
      primary-icon-tooltip-markup -> gchararray: Primary icon tooltip markup
        The contents of the tooltip on the primary icon
      secondary-icon-tooltip-markup -> gchararray: Secondary icon tooltip markup
        The contents of the tooltip on the secondary icon
      im-module -> gchararray: IM module
        Which IM module should be used
      placeholder-text -> gchararray: Placeholder text
        Show text in the entry when it's empty and unfocused
      completion -> GtkEntryCompletion: Completion
        The auxiliary completion object
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the label
      populate-all -> gboolean: Populate all
        Whether to emit ::populate-popup for touch popups
      tabs -> PangoTabArray: Tabs
        A list of tabstop locations to apply to the text of the entry
      show-emoji-icon -> gboolean: Emoji icon
        Whether to show an icon for Emoji
      enable-emoji-completion -> gboolean: Enable Emoji completion
        Whether to suggest Emoji replacements

    Signals from GtkEditable:
      changed ()
      insert-text (gchararray, gint, gpointer)
      delete-text (gint, gint)

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activates_default: bool
        attributes: Optional[Pango.AttrList]
        buffer: EntryBuffer
        caps_lock_warning: bool
        completion: EntryCompletion
        cursor_position: int
        editable: bool
        enable_emoji_completion: bool
        has_frame: bool
        im_module: str
        inner_border: Optional[Border]
        input_hints: InputHints
        input_purpose: InputPurpose
        invisible_char: int
        invisible_char_set: bool
        max_length: int
        max_width_chars: int
        overwrite_mode: bool
        placeholder_text: str
        populate_all: bool
        primary_icon_activatable: bool
        primary_icon_gicon: Gio.Icon
        primary_icon_name: str
        primary_icon_pixbuf: GdkPixbuf.Pixbuf
        primary_icon_sensitive: bool
        primary_icon_stock: str
        primary_icon_storage_type: ImageType
        primary_icon_tooltip_markup: str
        primary_icon_tooltip_text: str
        progress_fraction: float
        progress_pulse_step: float
        scroll_offset: int
        secondary_icon_activatable: bool
        secondary_icon_gicon: Gio.Icon
        secondary_icon_name: str
        secondary_icon_pixbuf: GdkPixbuf.Pixbuf
        secondary_icon_sensitive: bool
        secondary_icon_stock: str
        secondary_icon_storage_type: ImageType
        secondary_icon_tooltip_markup: str
        secondary_icon_tooltip_text: str
        selection_bound: int
        shadow_type: ShadowType
        show_emoji_icon: bool
        tabs: Optional[Pango.TabArray]
        text: str
        text_length: int
        truncate_multiline: bool
        visibility: bool
        width_chars: int
        xalign: float
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        editing_canceled: bool

    props: Props = ...
    parent_instance: Widget = ...
    priv: EntryPrivate = ...
    def __init__(
        self,
        activates_default: bool = ...,
        attributes: Pango.AttrList = ...,
        buffer: EntryBuffer = ...,
        caps_lock_warning: bool = ...,
        completion: Optional[EntryCompletion] = ...,
        editable: bool = ...,
        enable_emoji_completion: bool = ...,
        has_frame: bool = ...,
        im_module: str = ...,
        inner_border: Optional[Border] = ...,
        input_hints: InputHints = ...,
        input_purpose: InputPurpose = ...,
        invisible_char: int = ...,
        invisible_char_set: bool = ...,
        max_length: int = ...,
        max_width_chars: int = ...,
        overwrite_mode: bool = ...,
        placeholder_text: Optional[str] = ...,
        populate_all: bool = ...,
        primary_icon_activatable: bool = ...,
        primary_icon_gicon: Gio.Icon = ...,
        primary_icon_name: str = ...,
        primary_icon_pixbuf: GdkPixbuf.Pixbuf = ...,
        primary_icon_sensitive: bool = ...,
        primary_icon_stock: str = ...,
        primary_icon_tooltip_markup: str = ...,
        primary_icon_tooltip_text: str = ...,
        progress_fraction: float = ...,
        progress_pulse_step: float = ...,
        secondary_icon_activatable: bool = ...,
        secondary_icon_gicon: Gio.Icon = ...,
        secondary_icon_name: str = ...,
        secondary_icon_pixbuf: GdkPixbuf.Pixbuf = ...,
        secondary_icon_sensitive: bool = ...,
        secondary_icon_stock: str = ...,
        secondary_icon_tooltip_markup: str = ...,
        secondary_icon_tooltip_text: str = ...,
        shadow_type: ShadowType = ...,
        show_emoji_icon: bool = ...,
        tabs: Pango.TabArray = ...,
        text: str = ...,
        truncate_multiline: bool = ...,
        visibility: bool = ...,
        width_chars: int = ...,
        xalign: float = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        editing_canceled: bool = ...,
    ): ...
    def do_activate(self) -> None: ...
    def do_backspace(self) -> None: ...
    def do_copy_clipboard(self) -> None: ...
    def do_cut_clipboard(self) -> None: ...
    def do_delete_from_cursor(self, type: DeleteType, count: int) -> None: ...
    def do_get_frame_size(self, x: int, y: int, width: int, height: int) -> None: ...
    def do_get_text_area_size(
        self, x: int, y: int, width: int, height: int
    ) -> None: ...
    def do_insert_at_cursor(self, str: str) -> None: ...
    def do_insert_emoji(self) -> None: ...
    def do_move_cursor(
        self, step: MovementStep, count: int, extend_selection: bool
    ) -> None: ...
    def do_paste_clipboard(self) -> None: ...
    def do_populate_popup(self, popup: Widget) -> None: ...
    def do_toggle_overwrite(self) -> None: ...
    def get_activates_default(self) -> bool: ...
    def get_alignment(self) -> float: ...
    def get_attributes(self) -> Optional[Pango.AttrList]: ...
    def get_buffer(self) -> EntryBuffer: ...
    def get_completion(self) -> EntryCompletion: ...
    def get_current_icon_drag_source(self) -> int: ...
    def get_cursor_hadjustment(self) -> Optional[Adjustment]: ...
    def get_has_frame(self) -> bool: ...
    def get_icon_activatable(self, icon_pos: EntryIconPosition) -> bool: ...
    def get_icon_area(self, icon_pos: EntryIconPosition) -> Gdk.Rectangle: ...
    def get_icon_at_pos(self, x: int, y: int) -> int: ...
    def get_icon_gicon(self, icon_pos: EntryIconPosition) -> Optional[Gio.Icon]: ...
    def get_icon_name(self, icon_pos: EntryIconPosition) -> Optional[str]: ...
    def get_icon_pixbuf(
        self, icon_pos: EntryIconPosition
    ) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_icon_sensitive(self, icon_pos: EntryIconPosition) -> bool: ...
    def get_icon_stock(self, icon_pos: EntryIconPosition) -> str: ...
    def get_icon_storage_type(self, icon_pos: EntryIconPosition) -> ImageType: ...
    def get_icon_tooltip_markup(self, icon_pos: EntryIconPosition) -> Optional[str]: ...
    def get_icon_tooltip_text(self, icon_pos: EntryIconPosition) -> Optional[str]: ...
    def get_inner_border(self) -> Optional[Border]: ...
    def get_input_hints(self) -> InputHints: ...
    def get_input_purpose(self) -> InputPurpose: ...
    def get_invisible_char(self) -> str: ...
    def get_layout(self) -> Pango.Layout: ...
    def get_layout_offsets(self) -> Tuple[int, int]: ...
    def get_max_length(self) -> int: ...
    def get_max_width_chars(self) -> int: ...
    def get_overwrite_mode(self) -> bool: ...
    def get_placeholder_text(self) -> str: ...
    def get_progress_fraction(self) -> float: ...
    def get_progress_pulse_step(self) -> float: ...
    def get_tabs(self) -> Optional[Pango.TabArray]: ...
    def get_text(self) -> str: ...
    def get_text_area(self) -> Gdk.Rectangle: ...
    def get_text_length(self) -> int: ...
    def get_visibility(self) -> bool: ...
    def get_width_chars(self) -> int: ...
    def grab_focus_without_selecting(self) -> None: ...
    def im_context_filter_keypress(self, event: Gdk.EventKey) -> bool: ...
    def layout_index_to_text_index(self, layout_index: int) -> int: ...
    @classmethod
    def new(cls) -> Entry: ...
    @classmethod
    def new_with_buffer(cls, buffer: EntryBuffer) -> Entry: ...
    def progress_pulse(self) -> None: ...
    def reset_im_context(self) -> None: ...
    def set_activates_default(self, setting: bool) -> None: ...
    def set_alignment(self, xalign: float) -> None: ...
    def set_attributes(self, attrs: Pango.AttrList) -> None: ...
    def set_buffer(self, buffer: EntryBuffer) -> None: ...
    def set_completion(self, completion: Optional[EntryCompletion] = None) -> None: ...
    def set_cursor_hadjustment(
        self, adjustment: Optional[Adjustment] = None
    ) -> None: ...
    def set_has_frame(self, setting: bool) -> None: ...
    def set_icon_activatable(
        self, icon_pos: EntryIconPosition, activatable: bool
    ) -> None: ...
    def set_icon_drag_source(
        self,
        icon_pos: EntryIconPosition,
        target_list: TargetList,
        actions: Gdk.DragAction,
    ) -> None: ...
    def set_icon_from_gicon(
        self, icon_pos: EntryIconPosition, icon: Optional[Gio.Icon] = None
    ) -> None: ...
    def set_icon_from_icon_name(
        self, icon_pos: EntryIconPosition, icon_name: Optional[str] = None
    ) -> None: ...
    def set_icon_from_pixbuf(
        self, icon_pos: EntryIconPosition, pixbuf: Optional[GdkPixbuf.Pixbuf] = None
    ) -> None: ...
    def set_icon_from_stock(
        self, icon_pos: EntryIconPosition, stock_id: Optional[str] = None
    ) -> None: ...
    def set_icon_sensitive(
        self, icon_pos: EntryIconPosition, sensitive: bool
    ) -> None: ...
    def set_icon_tooltip_markup(
        self, icon_pos: EntryIconPosition, tooltip: Optional[str] = None
    ) -> None: ...
    def set_icon_tooltip_text(
        self, icon_pos: EntryIconPosition, tooltip: Optional[str] = None
    ) -> None: ...
    def set_inner_border(self, border: Optional[Border] = None) -> None: ...
    def set_input_hints(self, hints: InputHints) -> None: ...
    def set_input_purpose(self, purpose: InputPurpose) -> None: ...
    def set_invisible_char(self, ch: str) -> None: ...
    def set_max_length(self, max: int) -> None: ...
    def set_max_width_chars(self, n_chars: int) -> None: ...
    def set_overwrite_mode(self, overwrite: bool) -> None: ...
    def set_placeholder_text(self, text: Optional[str] = None) -> None: ...
    def set_progress_fraction(self, fraction: float) -> None: ...
    def set_progress_pulse_step(self, fraction: float) -> None: ...
    def set_tabs(self, tabs: Pango.TabArray) -> None: ...
    def set_text(self, text: str) -> None: ...
    def set_visibility(self, visible: bool) -> None: ...
    def set_width_chars(self, n_chars: int) -> None: ...
    def text_index_to_layout_index(self, text_index: int) -> int: ...
    def unset_invisible_char(self) -> None: ...

class EntryAccessible(
    WidgetAccessible, Atk.Action, Atk.Component, Atk.EditableText, Atk.Text
):
    """
    :Constructors:

    ::

        EntryAccessible(**properties)

    Object GtkEntryAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkText:
      text-changed (gint, gint)
      text-insert (gint, gint, gchararray)
      text-remove (gint, gint, gchararray)
      text-caret-moved (gint)
      text-selection-changed ()
      text-attributes-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: EntryAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class EntryAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        EntryAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class EntryAccessiblePrivate(GObject.GPointer): ...

class EntryBuffer(GObject.Object):
    """
    :Constructors:

    ::

        EntryBuffer(**properties)
        new(initial_chars:str=None, n_initial_chars:int) -> Gtk.EntryBuffer

    Object GtkEntryBuffer

    Signals from GtkEntryBuffer:
      inserted-text (guint, gchararray, guint)
      deleted-text (guint, guint)

    Properties from GtkEntryBuffer:
      text -> gchararray: Text
        The contents of the buffer
      length -> guint: Text length
        Length of the text currently in the buffer
      max-length -> gint: Maximum length
        Maximum number of characters for this entry. Zero if no maximum

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        length: int
        max_length: int
        text: str

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: EntryBufferPrivate = ...
    def __init__(self, max_length: int = ..., text: str = ...): ...
    def delete_text(self, position: int, n_chars: int) -> int: ...
    def do_delete_text(self, position: int, n_chars: int) -> int: ...
    def do_deleted_text(self, position: int, n_chars: int) -> None: ...
    def do_get_length(self) -> int: ...
    def do_get_text(self, n_bytes: int) -> str: ...
    def do_insert_text(self, position: int, chars: str, n_chars: int) -> int: ...
    def do_inserted_text(self, position: int, chars: str, n_chars: int) -> None: ...
    def emit_deleted_text(self, position: int, n_chars: int) -> None: ...
    def emit_inserted_text(self, position: int, chars: str, n_chars: int) -> None: ...
    def get_bytes(self) -> int: ...
    def get_length(self) -> int: ...
    def get_max_length(self) -> int: ...
    def get_text(self) -> str: ...
    def insert_text(self, position: int, chars: str, n_chars: int) -> int: ...
    @classmethod
    def new(cls, initial_chars: Optional[str], n_initial_chars: int) -> EntryBuffer: ...
    def set_max_length(self, max_length: int) -> None: ...
    def set_text(self, chars: str, n_chars: int) -> None: ...

class EntryBufferClass(GObject.GPointer):
    """
    :Constructors:

    ::

        EntryBufferClass()
    """

    parent_class: GObject.ObjectClass = ...
    inserted_text: Callable[[EntryBuffer, int, str, int], None] = ...
    deleted_text: Callable[[EntryBuffer, int, int], None] = ...
    get_text: Callable[[EntryBuffer, int], str] = ...
    get_length: Callable[[EntryBuffer], int] = ...
    insert_text: Callable[[EntryBuffer, int, str, int], int] = ...
    delete_text: Callable[[EntryBuffer, int, int], int] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class EntryBufferPrivate(GObject.GPointer): ...

class EntryClass(GObject.GPointer):
    """
    :Constructors:

    ::

        EntryClass()
    """

    parent_class: WidgetClass = ...
    populate_popup: Callable[[Entry, Widget], None] = ...
    activate: Callable[[Entry], None] = ...
    move_cursor: Callable[[Entry, MovementStep, int, bool], None] = ...
    insert_at_cursor: Callable[[Entry, str], None] = ...
    delete_from_cursor: Callable[[Entry, DeleteType, int], None] = ...
    backspace: Callable[[Entry], None] = ...
    cut_clipboard: Callable[[Entry], None] = ...
    copy_clipboard: Callable[[Entry], None] = ...
    paste_clipboard: Callable[[Entry], None] = ...
    toggle_overwrite: Callable[[Entry], None] = ...
    get_text_area_size: Callable[[Entry, int, int, int, int], None] = ...
    get_frame_size: Callable[[Entry, int, int, int, int], None] = ...
    insert_emoji: Callable[[Entry], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...

class EntryCompletion(GObject.Object, Buildable, CellLayout):
    """
    :Constructors:

    ::

        EntryCompletion(**properties)
        new() -> Gtk.EntryCompletion
        new_with_area(area:Gtk.CellArea) -> Gtk.EntryCompletion

    Object GtkEntryCompletion

    Signals from GtkEntryCompletion:
      insert-prefix (gchararray) -> gboolean
      match-selected (GtkTreeModel, GtkTreeIter) -> gboolean
      cursor-on-match (GtkTreeModel, GtkTreeIter) -> gboolean
      no-matches ()
      action-activated (gint)

    Properties from GtkEntryCompletion:
      model -> GtkTreeModel: Completion Model
        The model to find matches in
      minimum-key-length -> gint: Minimum Key Length
        Minimum length of the search key in order to look up matches
      text-column -> gint: Text column
        The column of the model containing the strings.
      inline-completion -> gboolean: Inline completion
        Whether the common prefix should be inserted automatically
      popup-completion -> gboolean: Popup completion
        Whether the completions should be shown in a popup window
      popup-set-width -> gboolean: Popup set width
        If TRUE, the popup window will have the same size as the entry
      popup-single-match -> gboolean: Popup single match
        If TRUE, the popup window will appear for a single match.
      inline-selection -> gboolean: Inline selection
        Your description here
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        cell_area: CellArea
        inline_completion: bool
        inline_selection: bool
        minimum_key_length: int
        model: Optional[TreeModel]
        popup_completion: bool
        popup_set_width: bool
        popup_single_match: bool
        text_column: int

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: EntryCompletionPrivate = ...
    def __init__(
        self,
        cell_area: CellArea = ...,
        inline_completion: bool = ...,
        inline_selection: bool = ...,
        minimum_key_length: int = ...,
        model: Optional[TreeModel] = ...,
        popup_completion: bool = ...,
        popup_set_width: bool = ...,
        popup_single_match: bool = ...,
        text_column: int = ...,
    ): ...
    def complete(self) -> None: ...
    def compute_prefix(self, key: str) -> Optional[str]: ...
    def delete_action(self, index_: int) -> None: ...
    def do_action_activated(self, index_: int) -> None: ...
    def do_cursor_on_match(self, model: TreeModel, iter: TreeIter) -> bool: ...
    def do_insert_prefix(self, prefix: str) -> bool: ...
    def do_match_selected(self, model: TreeModel, iter: TreeIter) -> bool: ...
    def do_no_matches(self) -> None: ...
    def get_completion_prefix(self) -> str: ...
    def get_entry(self) -> Widget: ...
    def get_inline_completion(self) -> bool: ...
    def get_inline_selection(self) -> bool: ...
    def get_minimum_key_length(self) -> int: ...
    def get_model(self) -> Optional[TreeModel]: ...
    def get_popup_completion(self) -> bool: ...
    def get_popup_set_width(self) -> bool: ...
    def get_popup_single_match(self) -> bool: ...
    def get_text_column(self) -> int: ...
    def insert_action_markup(self, index_: int, markup: str) -> None: ...
    def insert_action_text(self, index_: int, text: str) -> None: ...
    def insert_prefix(self) -> None: ...
    @classmethod
    def new(cls) -> EntryCompletion: ...
    @classmethod
    def new_with_area(cls, area: CellArea) -> EntryCompletion: ...
    def set_inline_completion(self, inline_completion: bool) -> None: ...
    def set_inline_selection(self, inline_selection: bool) -> None: ...
    def set_match_func(self, func: Callable[..., bool], *func_data: Any) -> None: ...
    def set_minimum_key_length(self, length: int) -> None: ...
    def set_model(self, model: Optional[TreeModel] = None) -> None: ...
    def set_popup_completion(self, popup_completion: bool) -> None: ...
    def set_popup_set_width(self, popup_set_width: bool) -> None: ...
    def set_popup_single_match(self, popup_single_match: bool) -> None: ...
    def set_text_column(self, column: int) -> None: ...

class EntryCompletionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        EntryCompletionClass()
    """

    parent_class: GObject.ObjectClass = ...
    match_selected: Callable[[EntryCompletion, TreeModel, TreeIter], bool] = ...
    action_activated: Callable[[EntryCompletion, int], None] = ...
    insert_prefix: Callable[[EntryCompletion, str], bool] = ...
    cursor_on_match: Callable[[EntryCompletion, TreeModel, TreeIter], bool] = ...
    no_matches: Callable[[EntryCompletion], None] = ...
    _gtk_reserved0: None = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...

class EntryCompletionPrivate(GObject.GPointer): ...

class EntryIconAccessible(Atk.Object, Atk.Action, Atk.Component):
    """
    :Constructors:

    ::

        EntryIconAccessible(**properties)

    Object GtkEntryIconAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    def __init__(
        self,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class EntryPrivate(GObject.GPointer): ...

class EventBox(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        EventBox(**properties)
        new() -> Gtk.Widget

    Object GtkEventBox

    Properties from GtkEventBox:
      visible-window -> gboolean: Visible Window
        Whether the event box is visible, as opposed to invisible and only used to trap events.
      above-child -> gboolean: Above child
        Whether the event-trapping window of the eventbox is above the window of the child widget as opposed to below it.

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        above_child: bool
        visible_window: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: EventBoxPrivate = ...
    def __init__(
        self,
        above_child: bool = ...,
        visible_window: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_above_child(self) -> bool: ...
    def get_visible_window(self) -> bool: ...
    @classmethod
    def new(cls) -> EventBox: ...
    def set_above_child(self, above_child: bool) -> None: ...
    def set_visible_window(self, visible_window: bool) -> None: ...

class EventBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        EventBoxClass()
    """

    parent_class: BinClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class EventBoxPrivate(GObject.GPointer): ...

class EventController(GObject.Object):
    """
    :Constructors:

    ::

        EventController(**properties)

    Object GtkEventController

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self, propagation_phase: PropagationPhase = ..., widget: Widget = ...
    ): ...
    def get_propagation_phase(self) -> PropagationPhase: ...
    def get_widget(self) -> Widget: ...
    def handle_event(self, event: Gdk.Event) -> bool: ...
    def reset(self) -> None: ...
    def set_propagation_phase(self, phase: PropagationPhase) -> None: ...

class EventControllerClass(GObject.GPointer): ...

class EventControllerKey(EventController):
    """
    :Constructors:

    ::

        EventControllerKey(**properties)
        new(widget:Gtk.Widget) -> Gtk.EventController

    Object GtkEventControllerKey

    Signals from GtkEventControllerKey:
      key-pressed (guint, guint, GdkModifierType) -> gboolean
      key-released (guint, guint, GdkModifierType)
      modifiers (GdkModifierType) -> gboolean
      im-update ()
      focus-in ()
      focus-out ()

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self, propagation_phase: PropagationPhase = ..., widget: Widget = ...
    ): ...
    def forward(self, widget: Widget) -> bool: ...
    def get_group(self) -> int: ...
    def get_im_context(self) -> IMContext: ...
    @classmethod
    def new(cls, widget: Widget) -> EventControllerKey: ...
    def set_im_context(self, im_context: IMContext) -> None: ...

class EventControllerKeyClass(GObject.GPointer): ...

class EventControllerMotion(EventController):
    """
    :Constructors:

    ::

        EventControllerMotion(**properties)
        new(widget:Gtk.Widget) -> Gtk.EventController

    Object GtkEventControllerMotion

    Signals from GtkEventControllerMotion:
      enter (gdouble, gdouble)
      leave ()
      motion (gdouble, gdouble)

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self, propagation_phase: PropagationPhase = ..., widget: Widget = ...
    ): ...
    @classmethod
    def new(cls, widget: Widget) -> EventControllerMotion: ...

class EventControllerMotionClass(GObject.GPointer): ...

class EventControllerScroll(EventController):
    """
    :Constructors:

    ::

        EventControllerScroll(**properties)
        new(widget:Gtk.Widget, flags:Gtk.EventControllerScrollFlags) -> Gtk.EventController

    Object GtkEventControllerScroll

    Signals from GtkEventControllerScroll:
      scroll-begin ()
      scroll (gdouble, gdouble)
      scroll-end ()
      decelerate (gdouble, gdouble)

    Properties from GtkEventControllerScroll:
      flags -> GtkEventControllerScrollFlags: Flags
        Flags

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        flags: EventControllerScrollFlags
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        flags: EventControllerScrollFlags = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_flags(self) -> EventControllerScrollFlags: ...
    @classmethod
    def new(
        cls, widget: Widget, flags: EventControllerScrollFlags
    ) -> EventControllerScroll: ...
    def set_flags(self, flags: EventControllerScrollFlags) -> None: ...

class EventControllerScrollClass(GObject.GPointer): ...

class Expander(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Expander(**properties)
        new(label:str=None) -> Gtk.Widget
        new_with_mnemonic(label:str=None) -> Gtk.Widget

    Object GtkExpander

    Signals from GtkExpander:
      activate ()

    Properties from GtkExpander:
      expanded -> gboolean: Expanded
        Whether the expander has been opened to reveal the child widget
      label -> gchararray: Label
        Text of the expander's label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-markup -> gboolean: Use markup
        The text of the label includes XML markup. See pango_parse_markup()
      spacing -> gint: Spacing
        Space to put between the label and the child
      label-widget -> GtkWidget: Label widget
        A widget to display in place of the usual expander label
      label-fill -> gboolean: Label fill
        Whether the label widget should fill all available horizontal space
      resize-toplevel -> gboolean: Resize toplevel
        Whether the expander will resize the toplevel window upon expanding and collapsing

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        expanded: bool
        label: Optional[str]
        label_fill: bool
        label_widget: Optional[Widget]
        resize_toplevel: bool
        spacing: int
        use_markup: bool
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: ExpanderPrivate = ...
    def __init__(
        self,
        expanded: bool = ...,
        label: Optional[str] = ...,
        label_fill: bool = ...,
        label_widget: Optional[Widget] = ...,
        resize_toplevel: bool = ...,
        spacing: int = ...,
        use_markup: bool = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def do_activate(self) -> None: ...
    def get_expanded(self) -> bool: ...
    def get_label(self) -> Optional[str]: ...
    def get_label_fill(self) -> bool: ...
    def get_label_widget(self) -> Optional[Widget]: ...
    def get_resize_toplevel(self) -> bool: ...
    def get_spacing(self) -> int: ...
    def get_use_markup(self) -> bool: ...
    def get_use_underline(self) -> bool: ...
    @classmethod
    def new(cls, label: Optional[str] = None) -> Expander: ...
    @classmethod
    def new_with_mnemonic(cls, label: Optional[str] = None) -> Expander: ...
    def set_expanded(self, expanded: bool) -> None: ...
    def set_label(self, label: Optional[str] = None) -> None: ...
    def set_label_fill(self, label_fill: bool) -> None: ...
    def set_label_widget(self, label_widget: Optional[Widget] = None) -> None: ...
    def set_resize_toplevel(self, resize_toplevel: bool) -> None: ...
    def set_spacing(self, spacing: int) -> None: ...
    def set_use_markup(self, use_markup: bool) -> None: ...
    def set_use_underline(self, use_underline: bool) -> None: ...

class ExpanderAccessible(ContainerAccessible, Atk.Action, Atk.Component):
    """
    :Constructors:

    ::

        ExpanderAccessible(**properties)

    Object GtkExpanderAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: ExpanderAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ExpanderAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ExpanderAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class ExpanderAccessiblePrivate(GObject.GPointer): ...

class ExpanderClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ExpanderClass()
    """

    parent_class: BinClass = ...
    activate: Callable[[Expander], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ExpanderPrivate(GObject.GPointer): ...

class FileChooser(GObject.GInterface):
    """
    Interface GtkFileChooser

    Signals from GObject:
      notify (GParam)
    """

    def add_choice(
        self,
        id: str,
        label: str,
        options: Optional[Sequence[str]] = None,
        option_labels: Optional[Sequence[str]] = None,
    ) -> None: ...
    def add_filter(self, filter: FileFilter) -> None: ...
    def add_shortcut_folder(self, folder: str) -> bool: ...
    def add_shortcut_folder_uri(self, uri: str) -> bool: ...
    def get_action(self) -> FileChooserAction: ...
    def get_choice(self, id: str) -> str: ...
    def get_create_folders(self) -> bool: ...
    def get_current_folder(self) -> Optional[str]: ...
    def get_current_folder_file(self) -> Optional[Gio.File]: ...
    def get_current_folder_uri(self) -> Optional[str]: ...
    def get_current_name(self) -> str: ...
    def get_do_overwrite_confirmation(self) -> bool: ...
    def get_extra_widget(self) -> Optional[Widget]: ...
    def get_file(self) -> Gio.File: ...
    def get_filename(self) -> Optional[str]: ...
    def get_filenames(self) -> list[str]: ...
    def get_files(self) -> list[Gio.File]: ...
    def get_filter(self) -> Optional[FileFilter]: ...
    def get_local_only(self) -> bool: ...
    def get_preview_file(self) -> Optional[Gio.File]: ...
    def get_preview_filename(self) -> Optional[str]: ...
    def get_preview_uri(self) -> Optional[str]: ...
    def get_preview_widget(self) -> Optional[Widget]: ...
    def get_preview_widget_active(self) -> bool: ...
    def get_select_multiple(self) -> bool: ...
    def get_show_hidden(self) -> bool: ...
    def get_uri(self) -> Optional[str]: ...
    def get_uris(self) -> list[str]: ...
    def get_use_preview_label(self) -> bool: ...
    def list_filters(self) -> list[FileFilter]: ...
    def list_shortcut_folder_uris(self) -> Optional[list[str]]: ...
    def list_shortcut_folders(self) -> Optional[list[str]]: ...
    def remove_choice(self, id: str) -> None: ...
    def remove_filter(self, filter: FileFilter) -> None: ...
    def remove_shortcut_folder(self, folder: str) -> bool: ...
    def remove_shortcut_folder_uri(self, uri: str) -> bool: ...
    def select_all(self) -> None: ...
    def select_file(self, file: Gio.File) -> bool: ...
    def select_filename(self, filename: str) -> bool: ...
    def select_uri(self, uri: str) -> bool: ...
    def set_action(self, action: FileChooserAction) -> None: ...
    def set_choice(self, id: str, option: str) -> None: ...
    def set_create_folders(self, create_folders: bool) -> None: ...
    def set_current_folder(self, filename: str) -> bool: ...
    def set_current_folder_file(self, file: Gio.File) -> bool: ...
    def set_current_folder_uri(self, uri: str) -> bool: ...
    def set_current_name(self, name: str) -> None: ...
    def set_do_overwrite_confirmation(
        self, do_overwrite_confirmation: bool
    ) -> None: ...
    def set_extra_widget(self, extra_widget: Widget) -> None: ...
    def set_file(self, file: Gio.File) -> bool: ...
    def set_filename(self, filename: str) -> bool: ...
    def set_filter(self, filter: FileFilter) -> None: ...
    def set_local_only(self, local_only: bool) -> None: ...
    def set_preview_widget(self, preview_widget: Widget) -> None: ...
    def set_preview_widget_active(self, active: bool) -> None: ...
    def set_select_multiple(self, select_multiple: bool) -> None: ...
    def set_show_hidden(self, show_hidden: bool) -> None: ...
    def set_uri(self, uri: str) -> bool: ...
    def set_use_preview_label(self, use_label: bool) -> None: ...
    def unselect_all(self) -> None: ...
    def unselect_file(self, file: Gio.File) -> None: ...
    def unselect_filename(self, filename: str) -> None: ...
    def unselect_uri(self, uri: str) -> None: ...

class FileChooserButton(Box, Atk.ImplementorIface, Buildable, FileChooser, Orientable):
    """
    :Constructors:

    ::

        FileChooserButton(**properties)
        new(title:str, action:Gtk.FileChooserAction) -> Gtk.Widget
        new_with_dialog(dialog:Gtk.Dialog) -> Gtk.Widget

    Object GtkFileChooserButton

    Signals from GtkFileChooserButton:
      file-set ()

    Properties from GtkFileChooserButton:
      dialog -> GtkFileChooser: Dialog
        The file chooser dialog to use.
      title -> gchararray: Title
        The title of the file chooser dialog.
      width-chars -> gint: Width In Characters
        The desired width of the button widget, in characters.

    Signals from GtkFileChooser:
      selection-changed ()
      current-folder-changed ()
      update-preview ()
      file-activated ()
      confirm-overwrite () -> GtkFileChooserConfirmation

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        title: str
        width_chars: int
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action: FileChooserAction
        create_folders: bool
        do_overwrite_confirmation: bool
        extra_widget: Optional[Widget]
        filter: Optional[FileFilter]
        local_only: bool
        preview_widget: Optional[Widget]
        preview_widget_active: bool
        select_multiple: bool
        show_hidden: bool
        use_preview_label: bool
        orientation: Orientation
        dialog: FileChooser
        child: Widget

    props: Props = ...
    parent: Box = ...
    priv: FileChooserButtonPrivate = ...
    def __init__(
        self,
        dialog: FileChooser = ...,
        title: str = ...,
        width_chars: int = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action: FileChooserAction = ...,
        create_folders: bool = ...,
        do_overwrite_confirmation: bool = ...,
        extra_widget: Widget = ...,
        filter: FileFilter = ...,
        local_only: bool = ...,
        preview_widget: Widget = ...,
        preview_widget_active: bool = ...,
        select_multiple: bool = ...,
        show_hidden: bool = ...,
        use_preview_label: bool = ...,
        orientation: Orientation = ...,
    ): ...
    def do_file_set(self) -> None: ...
    def get_focus_on_click(self) -> bool: ...
    def get_title(self) -> str: ...
    def get_width_chars(self) -> int: ...
    @classmethod
    def new(cls, title: str, action: FileChooserAction) -> FileChooserButton: ...
    @classmethod
    def new_with_dialog(cls, dialog: Dialog) -> FileChooserButton: ...
    def set_focus_on_click(self, focus_on_click: bool) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_width_chars(self, n_chars: int) -> None: ...

class FileChooserButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FileChooserButtonClass()
    """

    parent_class: BoxClass = ...
    file_set: Callable[[FileChooserButton], None] = ...
    __gtk_reserved1: None = ...
    __gtk_reserved2: None = ...
    __gtk_reserved3: None = ...
    __gtk_reserved4: None = ...

class FileChooserButtonPrivate(GObject.GPointer): ...

class FileChooserDialog(Dialog, Atk.ImplementorIface, Buildable, FileChooser):
    """
    :Constructors:

    ::

        FileChooserDialog(**properties)

    Object GtkFileChooserDialog

    Signals from GtkFileChooser:
      selection-changed ()
      current-folder-changed ()
      update-preview ()
      file-activated ()
      confirm-overwrite () -> GtkFileChooserConfirmation

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action: FileChooserAction
        create_folders: bool
        do_overwrite_confirmation: bool
        extra_widget: Optional[Widget]
        filter: Optional[FileFilter]
        local_only: bool
        preview_widget: Optional[Widget]
        preview_widget_active: bool
        select_multiple: bool
        show_hidden: bool
        use_preview_label: bool
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: FileChooserDialogPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action: FileChooserAction = ...,
        create_folders: bool = ...,
        do_overwrite_confirmation: bool = ...,
        extra_widget: Widget = ...,
        filter: FileFilter = ...,
        local_only: bool = ...,
        preview_widget: Widget = ...,
        preview_widget_active: bool = ...,
        select_multiple: bool = ...,
        show_hidden: bool = ...,
        use_preview_label: bool = ...,
    ): ...

class FileChooserDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FileChooserDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FileChooserDialogPrivate(GObject.GPointer): ...

class FileChooserNative(NativeDialog, FileChooser):
    """
    :Constructors:

    ::

        FileChooserNative(**properties)
        new(title:str=None, parent:Gtk.Window=None, action:Gtk.FileChooserAction, accept_label:str=None, cancel_label:str=None) -> Gtk.FileChooserNative

    Object GtkFileChooserNative

    Properties from GtkFileChooserNative:
      accept-label -> gchararray: Accept label
        The label on the accept button
      cancel-label -> gchararray: Cancel label
        The label on the cancel button

    Signals from GtkFileChooser:
      selection-changed ()
      current-folder-changed ()
      update-preview ()
      file-activated ()
      confirm-overwrite () -> GtkFileChooserConfirmation

    Signals from GtkNativeDialog:
      response (gint)

    Properties from GtkNativeDialog:
      title -> gchararray: Dialog Title
        The title of the file chooser dialog
      visible -> gboolean: Visible
        Whether the dialog is currently visible
      modal -> gboolean: Modal
        If TRUE, the dialog is modal (other windows are not usable while this one is up)
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accept_label: Optional[str]
        cancel_label: Optional[str]
        modal: bool
        title: Optional[str]
        transient_for: Optional[Window]
        visible: bool
        action: FileChooserAction
        create_folders: bool
        do_overwrite_confirmation: bool
        extra_widget: Optional[Widget]
        filter: Optional[FileFilter]
        local_only: bool
        preview_widget: Optional[Widget]
        preview_widget_active: bool
        select_multiple: bool
        show_hidden: bool
        use_preview_label: bool

    props: Props = ...
    def __init__(
        self,
        accept_label: Optional[str] = ...,
        cancel_label: Optional[str] = ...,
        modal: bool = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        visible: bool = ...,
        action: FileChooserAction = ...,
        create_folders: bool = ...,
        do_overwrite_confirmation: bool = ...,
        extra_widget: Widget = ...,
        filter: FileFilter = ...,
        local_only: bool = ...,
        preview_widget: Widget = ...,
        preview_widget_active: bool = ...,
        select_multiple: bool = ...,
        show_hidden: bool = ...,
        use_preview_label: bool = ...,
    ): ...
    def get_accept_label(self) -> Optional[str]: ...
    def get_cancel_label(self) -> Optional[str]: ...
    @classmethod
    def new(
        cls,
        title: Optional[str],
        parent: Optional[Window],
        action: FileChooserAction,
        accept_label: Optional[str] = None,
        cancel_label: Optional[str] = None,
    ) -> FileChooserNative: ...
    def set_accept_label(self, accept_label: Optional[str] = None) -> None: ...
    def set_cancel_label(self, cancel_label: Optional[str] = None) -> None: ...

class FileChooserNativeClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FileChooserNativeClass()
    """

    parent_class: NativeDialogClass = ...

class FileChooserWidget(Box, Atk.ImplementorIface, Buildable, FileChooser, Orientable):
    """
    :Constructors:

    ::

        FileChooserWidget(**properties)
        new(action:Gtk.FileChooserAction) -> Gtk.Widget

    Object GtkFileChooserWidget

    Signals from GtkFileChooserWidget:
      show-hidden ()
      location-popup (gchararray)
      location-popup-on-paste ()
      location-toggle-popup ()
      up-folder ()
      down-folder ()
      home-folder ()
      desktop-folder ()
      quick-bookmark (gint)
      search-shortcut ()
      recent-shortcut ()
      places-shortcut ()

    Properties from GtkFileChooserWidget:
      search-mode -> gboolean: Search mode
        Search mode
      subtitle -> gchararray: Subtitle
        Subtitle

    Signals from GtkFileChooser:
      selection-changed ()
      current-folder-changed ()
      update-preview ()
      file-activated ()
      confirm-overwrite () -> GtkFileChooserConfirmation

    Signals from GtkFileChooserEmbed:
      default-size-changed ()
      response-requested ()

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        search_mode: bool
        subtitle: str
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action: FileChooserAction
        create_folders: bool
        do_overwrite_confirmation: bool
        extra_widget: Optional[Widget]
        filter: Optional[FileFilter]
        local_only: bool
        preview_widget: Optional[Widget]
        preview_widget_active: bool
        select_multiple: bool
        show_hidden: bool
        use_preview_label: bool
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent_instance: Box = ...
    priv: FileChooserWidgetPrivate = ...
    def __init__(
        self,
        search_mode: bool = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action: FileChooserAction = ...,
        create_folders: bool = ...,
        do_overwrite_confirmation: bool = ...,
        extra_widget: Widget = ...,
        filter: FileFilter = ...,
        local_only: bool = ...,
        preview_widget: Widget = ...,
        preview_widget_active: bool = ...,
        select_multiple: bool = ...,
        show_hidden: bool = ...,
        use_preview_label: bool = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, action: FileChooserAction) -> FileChooserWidget: ...

class FileChooserWidgetAccessible(ContainerAccessible, Atk.Action, Atk.Component):
    """
    :Constructors:

    ::

        FileChooserWidgetAccessible(**properties)

    Object GtkFileChooserWidgetAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: FileChooserWidgetAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class FileChooserWidgetAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FileChooserWidgetAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class FileChooserWidgetAccessiblePrivate(GObject.GPointer): ...

class FileChooserWidgetClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FileChooserWidgetClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FileChooserWidgetPrivate(GObject.GPointer): ...

class FileFilter(GObject.InitiallyUnowned, Buildable):
    """
    :Constructors:

    ::

        FileFilter(**properties)
        new() -> Gtk.FileFilter
        new_from_gvariant(variant:GLib.Variant) -> Gtk.FileFilter

    Object GtkFileFilter

    Signals from GObject:
      notify (GParam)
    """

    def add_custom(
        self, needed: FileFilterFlags, func: Callable[..., bool], *data: Any
    ) -> None: ...
    def add_mime_type(self, mime_type: str) -> None: ...
    def add_pattern(self, pattern: str) -> None: ...
    def add_pixbuf_formats(self) -> None: ...
    def filter(self, filter_info: FileFilterInfo) -> bool: ...
    def get_name(self) -> Optional[str]: ...
    def get_needed(self) -> FileFilterFlags: ...
    @classmethod
    def new(cls) -> FileFilter: ...
    @classmethod
    def new_from_gvariant(cls, variant: GLib.Variant) -> FileFilter: ...
    def set_name(self, name: Optional[str] = None) -> None: ...
    def to_gvariant(self) -> GLib.Variant: ...

class FileFilterInfo(GObject.GPointer):
    """
    :Constructors:

    ::

        FileFilterInfo()
    """

    contains: FileFilterFlags = ...
    filename: str = ...
    uri: str = ...
    display_name: str = ...
    mime_type: str = ...

class Fixed(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Fixed(**properties)
        new() -> Gtk.Widget

    Object GtkFixed

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: FixedPrivate = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def move(self, widget: Widget, x: int, y: int) -> None: ...
    @classmethod
    def new(cls) -> Fixed: ...
    def put(self, widget: Widget, x: int, y: int) -> None: ...

class FixedChild(GObject.GPointer):
    """
    :Constructors:

    ::

        FixedChild()
    """

    widget: Widget = ...
    x: int = ...
    y: int = ...

class FixedClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FixedClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FixedPrivate(GObject.GPointer): ...

class FlowBox(Container, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        FlowBox(**properties)
        new() -> Gtk.Widget

    Object GtkFlowBox

    Signals from GtkFlowBox:
      move-cursor (GtkMovementStep, gint) -> gboolean
      child-activated (GtkFlowBoxChild)
      selected-children-changed ()
      activate-cursor-child ()
      toggle-cursor-child ()
      select-all ()
      unselect-all ()

    Properties from GtkFlowBox:
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      column-spacing -> guint: Horizontal spacing
        The amount of horizontal space between two children
      row-spacing -> guint: Vertical spacing
        The amount of vertical space between two children
      min-children-per-line -> guint: Minimum Children Per Line
        The minimum number of children to allocate consecutively in the given orientation.
      max-children-per-line -> guint: Maximum Children Per Line
        The maximum amount of children to request space for consecutively in the given orientation.
      selection-mode -> GtkSelectionMode: Selection mode
        The selection mode
      activate-on-single-click -> gboolean: Activate on Single Click
        Activate row on a single click

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activate_on_single_click: bool
        column_spacing: int
        homogeneous: bool
        max_children_per_line: int
        min_children_per_line: int
        row_spacing: int
        selection_mode: SelectionMode
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    container: Container = ...
    def __init__(
        self,
        activate_on_single_click: bool = ...,
        column_spacing: int = ...,
        homogeneous: bool = ...,
        max_children_per_line: int = ...,
        min_children_per_line: int = ...,
        row_spacing: int = ...,
        selection_mode: SelectionMode = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    # override
    def bind_model(
        self,
        model: Optional[Gio.ListModel[Any]],
        create_widget_func: Callable[..., Widget],
        *user_data: Any,
    ) -> None: ...
    def do_activate_cursor_child(self) -> None: ...
    def do_child_activated(self, child: FlowBoxChild) -> None: ...
    def do_move_cursor(self, step: MovementStep, count: int) -> bool: ...
    def do_select_all(self) -> None: ...
    def do_selected_children_changed(self) -> None: ...
    def do_toggle_cursor_child(self) -> None: ...
    def do_unselect_all(self) -> None: ...
    def get_activate_on_single_click(self) -> bool: ...
    def get_child_at_index(self, idx: int) -> Optional[FlowBoxChild]: ...
    def get_child_at_pos(self, x: int, y: int) -> Optional[FlowBoxChild]: ...
    def get_column_spacing(self) -> int: ...
    def get_homogeneous(self) -> bool: ...
    def get_max_children_per_line(self) -> int: ...
    def get_min_children_per_line(self) -> int: ...
    def get_row_spacing(self) -> int: ...
    def get_selected_children(self) -> list[FlowBoxChild]: ...
    def get_selection_mode(self) -> SelectionMode: ...
    def insert(self, widget: Widget, position: int) -> None: ...
    def invalidate_filter(self) -> None: ...
    def invalidate_sort(self) -> None: ...
    @classmethod
    def new(cls) -> FlowBox: ...
    def select_all(self) -> None: ...
    def select_child(self, child: FlowBoxChild) -> None: ...
    def selected_foreach(self, func: Callable[..., None], *data: Any) -> None: ...
    def set_activate_on_single_click(self, single: bool) -> None: ...
    def set_column_spacing(self, spacing: int) -> None: ...
    def set_filter_func(
        self, filter_func: Optional[Callable[..., bool]] = None, *user_data: Any
    ) -> None: ...
    def set_hadjustment(self, adjustment: Adjustment) -> None: ...
    def set_homogeneous(self, homogeneous: bool) -> None: ...
    def set_max_children_per_line(self, n_children: int) -> None: ...
    def set_min_children_per_line(self, n_children: int) -> None: ...
    def set_row_spacing(self, spacing: int) -> None: ...
    def set_selection_mode(self, mode: SelectionMode) -> None: ...
    def set_sort_func(
        self, sort_func: Optional[Callable[..., int]] = None, *user_data: Any
    ) -> None: ...
    def set_vadjustment(self, adjustment: Adjustment) -> None: ...
    def unselect_all(self) -> None: ...
    def unselect_child(self, child: FlowBoxChild) -> None: ...

class FlowBoxAccessible(ContainerAccessible, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        FlowBoxAccessible(**properties)

    Object GtkFlowBoxAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: FlowBoxAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class FlowBoxAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FlowBoxAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class FlowBoxAccessiblePrivate(GObject.GPointer): ...

class FlowBoxChild(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        FlowBoxChild(**properties)
        new() -> Gtk.Widget

    Object GtkFlowBoxChild

    Signals from GtkFlowBoxChild:
      activate ()

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent_instance: Bin = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def changed(self) -> None: ...
    def do_activate(self) -> None: ...
    def get_index(self) -> int: ...
    def is_selected(self) -> bool: ...
    @classmethod
    def new(cls) -> FlowBoxChild: ...

class FlowBoxChildAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        FlowBoxChildAccessible(**properties)

    Object GtkFlowBoxChildAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class FlowBoxChildAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FlowBoxChildAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class FlowBoxChildClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FlowBoxChildClass()
    """

    parent_class: BinClass = ...
    activate: Callable[[FlowBoxChild], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...

class FlowBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FlowBoxClass()
    """

    parent_class: ContainerClass = ...
    child_activated: Callable[[FlowBox, FlowBoxChild], None] = ...
    selected_children_changed: Callable[[FlowBox], None] = ...
    activate_cursor_child: Callable[[FlowBox], None] = ...
    toggle_cursor_child: Callable[[FlowBox], None] = ...
    move_cursor: Callable[[FlowBox, MovementStep, int], bool] = ...
    select_all: Callable[[FlowBox], None] = ...
    unselect_all: Callable[[FlowBox], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...

class FontButton(
    Button, Atk.ImplementorIface, Actionable, Activatable, Buildable, FontChooser
):
    """
    :Constructors:

    ::

        FontButton(**properties)
        new() -> Gtk.Widget
        new_with_font(fontname:str) -> Gtk.Widget

    Object GtkFontButton

    Signals from GtkFontButton:
      font-set ()

    Properties from GtkFontButton:
      title -> gchararray: Title
        The title of the font chooser dialog
      font-name -> gchararray: Font name
        The name of the selected font
      use-font -> gboolean: Use font in label
        Whether the label is drawn in the selected font
      use-size -> gboolean: Use size in label
        Whether the label is drawn with the selected font size
      show-style -> gboolean: Show style
        Whether the selected font style is shown in the label
      show-size -> gboolean: Show size
        Whether selected font size is shown in the label

    Signals from GtkFontChooser:
      font-activated (gchararray)

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        font_name: str
        show_size: bool
        show_style: bool
        title: str
        use_font: bool
        use_size: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        font: Optional[str]
        font_desc: Optional[Pango.FontDescription]
        font_features: str
        language: str
        level: FontChooserLevel
        preview_text: str
        show_preview_entry: bool
        child: Widget

    props: Props = ...
    button: Button = ...
    priv: FontButtonPrivate = ...
    def __init__(
        self,
        font_name: str = ...,
        show_size: bool = ...,
        show_style: bool = ...,
        title: str = ...,
        use_font: bool = ...,
        use_size: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        language: str = ...,
        level: FontChooserLevel = ...,
        preview_text: str = ...,
        show_preview_entry: bool = ...,
    ): ...
    def do_font_set(self) -> None: ...
    def get_font_name(self) -> str: ...
    def get_show_size(self) -> bool: ...
    def get_show_style(self) -> bool: ...
    def get_title(self) -> str: ...
    def get_use_font(self) -> bool: ...
    def get_use_size(self) -> bool: ...
    @classmethod
    def new(cls) -> FontButton: ...
    @classmethod
    def new_with_font(cls, fontname: str) -> FontButton: ...
    def set_font_name(self, fontname: str) -> bool: ...
    def set_show_size(self, show_size: bool) -> None: ...
    def set_show_style(self, show_style: bool) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_use_font(self, use_font: bool) -> None: ...
    def set_use_size(self, use_size: bool) -> None: ...

class FontButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FontButtonClass()
    """

    parent_class: ButtonClass = ...
    font_set: Callable[[FontButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FontButtonPrivate(GObject.GPointer): ...

class FontChooser(GObject.GInterface):
    """
    Interface GtkFontChooser

    Signals from GObject:
      notify (GParam)
    """

    def get_font(self) -> Optional[str]: ...
    def get_font_desc(self) -> Optional[Pango.FontDescription]: ...
    def get_font_face(self) -> Optional[Pango.FontFace]: ...
    def get_font_family(self) -> Optional[Pango.FontFamily]: ...
    def get_font_features(self) -> str: ...
    def get_font_map(self) -> Optional[Pango.FontMap]: ...
    def get_font_size(self) -> int: ...
    def get_language(self) -> str: ...
    def get_level(self) -> FontChooserLevel: ...
    def get_preview_text(self) -> str: ...
    def get_show_preview_entry(self) -> bool: ...
    def set_filter_func(
        self, filter: Optional[Callable[..., bool]] = None, *user_data: Any
    ) -> None: ...
    def set_font(self, fontname: str) -> None: ...
    def set_font_desc(self, font_desc: Pango.FontDescription) -> None: ...
    def set_font_map(self, fontmap: Optional[Pango.FontMap] = None) -> None: ...
    def set_language(self, language: str) -> None: ...
    def set_level(self, level: FontChooserLevel) -> None: ...
    def set_preview_text(self, text: str) -> None: ...
    def set_show_preview_entry(self, show_preview_entry: bool) -> None: ...

class FontChooserDialog(Dialog, Atk.ImplementorIface, Buildable, FontChooser):
    """
    :Constructors:

    ::

        FontChooserDialog(**properties)
        new(title:str=None, parent:Gtk.Window=None) -> Gtk.Widget

    Object GtkFontChooserDialog

    Signals from GtkFontChooser:
      font-activated (gchararray)

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        font: Optional[str]
        font_desc: Optional[Pango.FontDescription]
        font_features: str
        language: str
        level: FontChooserLevel
        preview_text: str
        show_preview_entry: bool
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: FontChooserDialogPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        language: str = ...,
        level: FontChooserLevel = ...,
        preview_text: str = ...,
        show_preview_entry: bool = ...,
    ): ...
    @classmethod
    def new(
        cls, title: Optional[str] = None, parent: Optional[Window] = None
    ) -> FontChooserDialog: ...

class FontChooserDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FontChooserDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FontChooserDialogPrivate(GObject.GPointer): ...

class FontChooserIface(GObject.GPointer):
    """
    :Constructors:

    ::

        FontChooserIface()
    """

    base_iface: GObject.TypeInterface = ...
    get_font_family: Callable[[FontChooser], Optional[Pango.FontFamily]] = ...
    get_font_face: Callable[[FontChooser], Optional[Pango.FontFace]] = ...
    get_font_size: Callable[[FontChooser], int] = ...
    set_filter_func: Callable[..., None] = ...
    font_activated: Callable[[FontChooser, str], None] = ...
    set_font_map: Callable[[FontChooser, Optional[Pango.FontMap]], None] = ...
    get_font_map: Callable[[FontChooser], Optional[Pango.FontMap]] = ...
    padding: list[None] = ...

class FontChooserWidget(Box, Atk.ImplementorIface, Buildable, FontChooser, Orientable):
    """
    :Constructors:

    ::

        FontChooserWidget(**properties)
        new() -> Gtk.Widget

    Object GtkFontChooserWidget

    Properties from GtkFontChooserWidget:
      tweak-action -> GAction: The tweak action
        The toggle action to switch to the tweak page

    Signals from GtkFontChooser:
      font-activated (gchararray)

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        tweak_action: Gio.Action
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        font: Optional[str]
        font_desc: Optional[Pango.FontDescription]
        font_features: str
        language: str
        level: FontChooserLevel
        preview_text: str
        show_preview_entry: bool
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent_instance: Box = ...
    priv: FontChooserWidgetPrivate = ...
    def __init__(
        self,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        language: str = ...,
        level: FontChooserLevel = ...,
        preview_text: str = ...,
        show_preview_entry: bool = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> FontChooserWidget: ...

class FontChooserWidgetClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FontChooserWidgetClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class FontChooserWidgetPrivate(GObject.GPointer): ...

class FontSelection(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        FontSelection(**properties)
        new() -> Gtk.Widget

    Object GtkFontSelection

    Properties from GtkFontSelection:
      font-name -> gchararray: Font name
        The string that represents this font
      preview-text -> gchararray: Preview text
        The text to display in order to demonstrate the selected font

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        font_name: str
        preview_text: str
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent_instance: Box = ...
    priv: FontSelectionPrivate = ...
    def __init__(
        self,
        font_name: str = ...,
        preview_text: str = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_face(self) -> Pango.FontFace: ...
    def get_face_list(self) -> Widget: ...
    def get_family(self) -> Pango.FontFamily: ...
    def get_family_list(self) -> Widget: ...
    def get_font_name(self) -> str: ...
    def get_preview_entry(self) -> Widget: ...
    def get_preview_text(self) -> str: ...
    def get_size(self) -> int: ...
    def get_size_entry(self) -> Widget: ...
    def get_size_list(self) -> Widget: ...
    @classmethod
    def new(cls) -> FontSelection: ...
    def set_font_name(self, fontname: str) -> bool: ...
    def set_preview_text(self, text: str) -> None: ...

class FontSelectionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FontSelectionClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FontSelectionDialog(Dialog, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        FontSelectionDialog(**properties)
        new(title:str) -> Gtk.Widget

    Object GtkFontSelectionDialog

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: FontSelectionDialogPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_cancel_button(self) -> Widget: ...
    def get_font_name(self) -> str: ...
    def get_font_selection(self) -> Widget: ...
    def get_ok_button(self) -> Widget: ...
    def get_preview_text(self) -> str: ...
    @classmethod
    def new(cls, title: str) -> FontSelectionDialog: ...
    def set_font_name(self, fontname: str) -> bool: ...
    def set_preview_text(self, text: str) -> None: ...

class FontSelectionDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FontSelectionDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FontSelectionDialogPrivate(GObject.GPointer): ...
class FontSelectionPrivate(GObject.GPointer): ...

class Frame(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Frame(**properties)
        new(label:str=None) -> Gtk.Widget

    Object GtkFrame

    Properties from GtkFrame:
      label -> gchararray: Label
        Text of the frame's label
      label-xalign -> gfloat: Label xalign
        The horizontal alignment of the label
      label-yalign -> gfloat: Label yalign
        The vertical alignment of the label
      shadow-type -> GtkShadowType: Frame shadow
        Appearance of the frame border
      label-widget -> GtkWidget: Label widget
        A widget to display in place of the usual frame label

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        label: Optional[str]
        label_widget: Optional[Widget]
        label_xalign: float
        label_yalign: float
        shadow_type: ShadowType
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: FramePrivate = ...
    def __init__(
        self,
        label: Optional[str] = ...,
        label_widget: Optional[Widget] = ...,
        label_xalign: float = ...,
        label_yalign: float = ...,
        shadow_type: ShadowType = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def do_compute_child_allocation(self, allocation: Gdk.Rectangle) -> None: ...
    def get_label(self) -> Optional[str]: ...
    def get_label_align(self) -> Tuple[float, float]: ...
    def get_label_widget(self) -> Optional[Widget]: ...
    def get_shadow_type(self) -> ShadowType: ...
    @classmethod
    def new(cls, label: Optional[str] = None) -> Frame: ...
    def set_label(self, label: Optional[str] = None) -> None: ...
    def set_label_align(self, xalign: float, yalign: float) -> None: ...
    def set_label_widget(self, label_widget: Optional[Widget] = None) -> None: ...
    def set_shadow_type(self, type: ShadowType) -> None: ...

class FrameAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        FrameAccessible(**properties)

    Object GtkFrameAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: FrameAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class FrameAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FrameAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class FrameAccessiblePrivate(GObject.GPointer): ...

class FrameClass(GObject.GPointer):
    """
    :Constructors:

    ::

        FrameClass()
    """

    parent_class: BinClass = ...
    compute_child_allocation: Callable[[Frame, Gdk.Rectangle], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class FramePrivate(GObject.GPointer): ...

class GLArea(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        GLArea(**properties)
        new() -> Gtk.Widget

    Object GtkGLArea

    Signals from GtkGLArea:
      resize (gint, gint)
      render (GdkGLContext) -> gboolean
      create-context () -> GdkGLContext

    Properties from GtkGLArea:
      context -> GdkGLContext: Context
        The GL context
      has-alpha -> gboolean: Has alpha
        Whether the color buffer has an alpha component
      has-depth-buffer -> gboolean: Has depth buffer
        Whether a depth buffer is allocated
      has-stencil-buffer -> gboolean: Has stencil buffer
        Whether a stencil buffer is allocated
      use-es -> gboolean: Use OpenGL ES
        Whether the context uses OpenGL or OpenGL ES
      auto-render -> gboolean: Auto render
        Whether the GtkGLArea renders on each redraw

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        auto_render: bool
        context: Gdk.GLContext
        has_alpha: bool
        has_depth_buffer: bool
        has_stencil_buffer: bool
        use_es: bool
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    parent_instance: Widget = ...
    def __init__(
        self,
        auto_render: bool = ...,
        has_alpha: bool = ...,
        has_depth_buffer: bool = ...,
        has_stencil_buffer: bool = ...,
        use_es: bool = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def attach_buffers(self) -> None: ...
    def do_render(self, context: Gdk.GLContext) -> bool: ...
    def do_resize(self, width: int, height: int) -> None: ...
    def get_auto_render(self) -> bool: ...
    def get_context(self) -> Gdk.GLContext: ...
    def get_error(self) -> Optional[GLib.Error]: ...
    def get_has_alpha(self) -> bool: ...
    def get_has_depth_buffer(self) -> bool: ...
    def get_has_stencil_buffer(self) -> bool: ...
    def get_required_version(self) -> Tuple[int, int]: ...
    def get_use_es(self) -> bool: ...
    def make_current(self) -> None: ...
    @classmethod
    def new(cls) -> GLArea: ...
    def queue_render(self) -> None: ...
    def set_auto_render(self, auto_render: bool) -> None: ...
    def set_error(self, error: Optional[GLib.Error] = None) -> None: ...
    def set_has_alpha(self, has_alpha: bool) -> None: ...
    def set_has_depth_buffer(self, has_depth_buffer: bool) -> None: ...
    def set_has_stencil_buffer(self, has_stencil_buffer: bool) -> None: ...
    def set_required_version(self, major: int, minor: int) -> None: ...
    def set_use_es(self, use_es: bool) -> None: ...

class GLAreaClass(GObject.GPointer):
    """
    :Constructors:

    ::

        GLAreaClass()
    """

    parent_class: WidgetClass = ...
    render: Callable[[GLArea, Gdk.GLContext], bool] = ...
    resize: Callable[[GLArea, int, int], None] = ...
    create_context: None = ...
    _padding: list[None] = ...

class Gesture(EventController):
    """
    :Constructors:

    ::

        Gesture(**properties)

    Object GtkGesture

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_bounding_box(self) -> Tuple[bool, Gdk.Rectangle]: ...
    def get_bounding_box_center(self) -> Tuple[bool, float, float]: ...
    def get_device(self) -> Optional[Gdk.Device]: ...
    def get_group(self) -> list[Gesture]: ...
    def get_last_event(
        self, sequence: Optional[Gdk.EventSequence] = None
    ) -> Optional[Gdk.Event]: ...
    def get_last_updated_sequence(self) -> Optional[Gdk.EventSequence]: ...
    def get_point(
        self, sequence: Optional[Gdk.EventSequence] = None
    ) -> Tuple[bool, float, float]: ...
    def get_sequence_state(self, sequence: Gdk.EventSequence) -> EventSequenceState: ...
    def get_sequences(self) -> list[Gdk.EventSequence]: ...
    def get_window(self) -> Optional[Gdk.Window]: ...
    def group(self, gesture: Gesture) -> None: ...
    def handles_sequence(
        self, sequence: Optional[Gdk.EventSequence] = None
    ) -> bool: ...
    def is_active(self) -> bool: ...
    def is_grouped_with(self, other: Gesture) -> bool: ...
    def is_recognized(self) -> bool: ...
    def set_sequence_state(
        self, sequence: Gdk.EventSequence, state: EventSequenceState
    ) -> bool: ...
    def set_state(self, state: EventSequenceState) -> bool: ...
    def set_window(self, window: Optional[Gdk.Window] = None) -> None: ...
    def ungroup(self) -> None: ...

class GestureClass(GObject.GPointer): ...

class GestureDrag(GestureSingle):
    """
    :Constructors:

    ::

        GestureDrag(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureDrag

    Signals from GtkGestureDrag:
      drag-begin (gdouble, gdouble)
      drag-end (gdouble, gdouble)
      drag-update (gdouble, gdouble)

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_offset(self) -> Tuple[bool, float, float]: ...
    def get_start_point(self) -> Tuple[bool, float, float]: ...
    @classmethod
    def new(cls, widget: Widget) -> GestureDrag: ...

class GestureDragClass(GObject.GPointer): ...

class GestureLongPress(GestureSingle):
    """
    :Constructors:

    ::

        GestureLongPress(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureLongPress

    Signals from GtkGestureLongPress:
      cancelled ()
      pressed (gdouble, gdouble)

    Properties from GtkGestureLongPress:
      delay-factor -> gdouble: Delay factor
        Factor by which to modify the default timeout

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        delay_factor: float
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        delay_factor: float = ...,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    @classmethod
    def new(cls, widget: Widget) -> GestureLongPress: ...

class GestureLongPressClass(GObject.GPointer): ...

class GestureMultiPress(GestureSingle):
    """
    :Constructors:

    ::

        GestureMultiPress(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureMultiPress

    Signals from GtkGestureMultiPress:
      pressed (gint, gdouble, gdouble)
      released (gint, gdouble, gdouble)
      stopped ()

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_area(self) -> Tuple[bool, Gdk.Rectangle]: ...
    @classmethod
    def new(cls, widget: Widget) -> GestureMultiPress: ...
    def set_area(self, rect: Optional[Gdk.Rectangle] = None) -> None: ...

class GestureMultiPressClass(GObject.GPointer): ...

class GesturePan(GestureDrag):
    """
    :Constructors:

    ::

        GesturePan(**properties)
        new(widget:Gtk.Widget, orientation:Gtk.Orientation) -> Gtk.Gesture

    Object GtkGesturePan

    Signals from GtkGesturePan:
      pan (GtkPanDirection, gdouble)

    Properties from GtkGesturePan:
      orientation -> GtkOrientation: Orientation
        Allowed orientations

    Signals from GtkGestureDrag:
      drag-begin (gdouble, gdouble)
      drag-end (gdouble, gdouble)
      drag-update (gdouble, gdouble)

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        orientation: Orientation
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        orientation: Orientation = ...,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_orientation(self) -> Orientation: ...
    @classmethod
    def new(cls, widget: Widget, orientation: Orientation) -> GesturePan: ...
    def set_orientation(self, orientation: Orientation) -> None: ...

class GesturePanClass(GObject.GPointer): ...

class GestureRotate(Gesture):
    """
    :Constructors:

    ::

        GestureRotate(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureRotate

    Signals from GtkGestureRotate:
      angle-changed (gdouble, gdouble)

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_angle_delta(self) -> float: ...
    @classmethod
    def new(cls, widget: Widget) -> GestureRotate: ...

class GestureRotateClass(GObject.GPointer): ...

class GestureSingle(Gesture):
    """
    :Constructors:

    ::

        GestureSingle(**properties)

    Object GtkGestureSingle

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_button(self) -> int: ...
    def get_current_button(self) -> int: ...
    def get_current_sequence(self) -> Optional[Gdk.EventSequence]: ...
    def get_exclusive(self) -> bool: ...
    def get_touch_only(self) -> bool: ...
    def set_button(self, button: int) -> None: ...
    def set_exclusive(self, exclusive: bool) -> None: ...
    def set_touch_only(self, touch_only: bool) -> None: ...

class GestureSingleClass(GObject.GPointer): ...

class GestureStylus(GestureSingle):
    """
    :Constructors:

    ::

        GestureStylus(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureStylus

    Signals from GtkGestureStylus:
      motion (gdouble, gdouble)
      proximity (gdouble, gdouble)
      down (gdouble, gdouble)
      up (gdouble, gdouble)

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_axes(self, axes: Sequence[Gdk.AxisUse]) -> Tuple[bool, list[float]]: ...
    def get_axis(self, axis: Gdk.AxisUse) -> Tuple[bool, float]: ...
    def get_device_tool(self) -> Optional[Gdk.DeviceTool]: ...
    @classmethod
    def new(cls, widget: Widget) -> GestureStylus: ...

class GestureStylusClass(GObject.GPointer): ...

class GestureSwipe(GestureSingle):
    """
    :Constructors:

    ::

        GestureSwipe(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureSwipe

    Signals from GtkGestureSwipe:
      swipe (gdouble, gdouble)

    Properties from GtkGestureSingle:
      touch-only -> gboolean: Handle only touch events
        Whether the gesture handles only touch events
      exclusive -> gboolean: Whether the gesture is exclusive
        Whether the gesture is exclusive
      button -> guint: Button number
        Button number to listen to

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        button: int
        exclusive: bool
        touch_only: bool
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        button: int = ...,
        exclusive: bool = ...,
        touch_only: bool = ...,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_velocity(self) -> Tuple[bool, float, float]: ...
    @classmethod
    def new(cls, widget: Widget) -> GestureSwipe: ...

class GestureSwipeClass(GObject.GPointer): ...

class GestureZoom(Gesture):
    """
    :Constructors:

    ::

        GestureZoom(**properties)
        new(widget:Gtk.Widget) -> Gtk.Gesture

    Object GtkGestureZoom

    Signals from GtkGestureZoom:
      scale-changed (gdouble)

    Signals from GtkGesture:
      update (GdkEventSequence)
      cancel (GdkEventSequence)
      begin (GdkEventSequence)
      end (GdkEventSequence)
      sequence-state-changed (GdkEventSequence, GtkEventSequenceState)

    Properties from GtkGesture:
      n-points -> guint: Number of points
        Number of points needed to trigger the gesture
      window -> GdkWindow: GdkWindow to receive events about
        GdkWindow to receive events about

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        n_points: int
        window: Optional[Gdk.Window]
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        n_points: int = ...,
        window: Optional[Gdk.Window] = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    def get_scale_delta(self) -> float: ...
    @classmethod
    def new(cls, widget: Widget) -> GestureZoom: ...

class GestureZoomClass(GObject.GPointer): ...

class Gradient(GObject.GBoxed):
    """
    :Constructors:

    ::

        new_linear(x0:float, y0:float, x1:float, y1:float) -> Gtk.Gradient
        new_radial(x0:float, y0:float, radius0:float, x1:float, y1:float, radius1:float) -> Gtk.Gradient
    """

    def add_color_stop(self, offset: float, color: SymbolicColor) -> None: ...
    @classmethod
    def new_linear(cls, x0: float, y0: float, x1: float, y1: float) -> Gradient: ...
    @classmethod
    def new_radial(
        cls, x0: float, y0: float, radius0: float, x1: float, y1: float, radius1: float
    ) -> Gradient: ...
    def ref(self) -> Gradient: ...
    def resolve(self, props: StyleProperties) -> Tuple[bool, cairo.Pattern]: ...
    def resolve_for_context(self, context: StyleContext) -> cairo.Pattern: ...
    def to_string(self) -> str: ...
    def unref(self) -> None: ...

class Grid(Container, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Grid(**properties)
        new() -> Gtk.Widget

    Object GtkGrid

    Properties from GtkGrid:
      row-spacing -> gint: Row spacing
        The amount of space between two consecutive rows
      column-spacing -> gint: Column spacing
        The amount of space between two consecutive columns
      row-homogeneous -> gboolean: Row Homogeneous
        If TRUE, the rows are all the same height
      column-homogeneous -> gboolean: Column Homogeneous
        If TRUE, the columns are all the same width
      baseline-row -> gint: Baseline Row
        The row to align the to the baseline when valign is GTK_ALIGN_BASELINE

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        baseline_row: int
        column_homogeneous: bool
        column_spacing: int
        row_homogeneous: bool
        row_spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: GridPrivate = ...
    def __init__(
        self,
        baseline_row: int = ...,
        column_homogeneous: bool = ...,
        column_spacing: int = ...,
        row_homogeneous: bool = ...,
        row_spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def attach(
        self, child: Widget, left: int, top: int, width: int, height: int
    ) -> None: ...
    def attach_next_to(
        self,
        child: Widget,
        sibling: Optional[Widget],
        side: PositionType,
        width: int,
        height: int,
    ) -> None: ...
    def get_baseline_row(self) -> int: ...
    def get_child_at(self, left: int, top: int) -> Optional[Widget]: ...
    def get_column_homogeneous(self) -> bool: ...
    def get_column_spacing(self) -> int: ...
    def get_row_baseline_position(self, row: int) -> BaselinePosition: ...
    def get_row_homogeneous(self) -> bool: ...
    def get_row_spacing(self) -> int: ...
    def insert_column(self, position: int) -> None: ...
    def insert_next_to(self, sibling: Widget, side: PositionType) -> None: ...
    def insert_row(self, position: int) -> None: ...
    @classmethod
    def new(cls) -> Grid: ...
    def remove_column(self, position: int) -> None: ...
    def remove_row(self, position: int) -> None: ...
    def set_baseline_row(self, row: int) -> None: ...
    def set_column_homogeneous(self, homogeneous: bool) -> None: ...
    def set_column_spacing(self, spacing: int) -> None: ...
    def set_row_baseline_position(self, row: int, pos: BaselinePosition) -> None: ...
    def set_row_homogeneous(self, homogeneous: bool) -> None: ...
    def set_row_spacing(self, spacing: int) -> None: ...

class GridClass(GObject.GPointer):
    """
    :Constructors:

    ::

        GridClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class GridPrivate(GObject.GPointer): ...

class HBox(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        HBox(**properties)
        new(homogeneous:bool, spacing:int) -> Gtk.Widget

    Object GtkHBox

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    box: Box = ...
    def __init__(
        self,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, homogeneous: bool, spacing: int) -> HBox: ...

class HBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HBoxClass()
    """

    parent_class: BoxClass = ...

class HButtonBox(ButtonBox, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        HButtonBox(**properties)
        new() -> Gtk.Widget

    Object GtkHButtonBox

    Properties from GtkButtonBox:
      layout-style -> GtkButtonBoxStyle: Layout style
        How to lay out the buttons in the box. Possible values are: spread, edge, start and end

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        layout_style: ButtonBoxStyle
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    button_box: ButtonBox = ...
    def __init__(
        self,
        layout_style: ButtonBoxStyle = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> HButtonBox: ...

class HButtonBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HButtonBoxClass()
    """

    parent_class: ButtonBoxClass = ...

class HPaned(Paned, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        HPaned(**properties)
        new() -> Gtk.Widget

    Object GtkHPaned

    Signals from GtkPaned:
      cycle-child-focus (gboolean) -> gboolean
      toggle-handle-focus () -> gboolean
      move-handle (GtkScrollType) -> gboolean
      cycle-handle-focus (gboolean) -> gboolean
      accept-position () -> gboolean
      cancel-position () -> gboolean

    Properties from GtkPaned:
      position -> gint: Position
        Position of paned separator in pixels (0 means all the way to the left/top)
      position-set -> gboolean: Position Set
        TRUE if the Position property should be used
      min-position -> gint: Minimal Position
        Smallest possible value for the "position" property
      max-position -> gint: Maximal Position
        Largest possible value for the "position" property
      wide-handle -> gboolean: Wide Handle
        Whether the paned should have a prominent handle

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        max_position: int
        min_position: int
        position: int
        position_set: bool
        wide_handle: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    paned: Paned = ...
    def __init__(
        self,
        position: int = ...,
        position_set: bool = ...,
        wide_handle: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> HPaned: ...

class HPanedClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HPanedClass()
    """

    parent_class: PanedClass = ...

class HSV(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        HSV(**properties)
        new() -> Gtk.Widget

    Object GtkHSV

    Signals from GtkHSV:
      changed ()
      move (GtkDirectionType)

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    parent_instance: Widget = ...
    priv: HSVPrivate = ...
    def __init__(
        self,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def do_changed(self) -> None: ...
    def do_move(self, type: DirectionType) -> None: ...
    def get_color(self) -> Tuple[float, float, float]: ...
    def get_metrics(self) -> Tuple[int, int]: ...
    def is_adjusting(self) -> bool: ...
    @classmethod
    def new(cls) -> HSV: ...
    def set_color(self, h: float, s: float, v: float) -> None: ...
    def set_metrics(self, size: int, ring_width: int) -> None: ...
    @staticmethod
    def to_rgb(h: float, s: float, v: float) -> Tuple[float, float, float]: ...

class HSVClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HSVClass()
    """

    parent_class: WidgetClass = ...
    changed: Callable[[HSV], None] = ...
    move: Callable[[HSV, DirectionType], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class HSVPrivate(GObject.GPointer): ...

class HScale(Scale, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        HScale(**properties)
        new(adjustment:Gtk.Adjustment=None) -> Gtk.Widget
        new_with_range(min:float, max:float, step:float) -> Gtk.Widget

    Object GtkHScale

    Signals from GtkScale:
      format-value (gdouble) -> gchararray

    Properties from GtkScale:
      digits -> gint: Digits
        The number of decimal places that are displayed in the value
      draw-value -> gboolean: Draw Value
        Whether the current value is displayed as a string next to the slider
      has-origin -> gboolean: Has Origin
        Whether the scale has an origin
      value-pos -> GtkPositionType: Value Position
        The position in which the current value is displayed

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        digits: int
        draw_value: bool
        has_origin: bool
        value_pos: PositionType
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    scale: Scale = ...
    def __init__(
        self,
        digits: int = ...,
        draw_value: bool = ...,
        has_origin: bool = ...,
        value_pos: PositionType = ...,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, adjustment: Optional[Adjustment] = None) -> HScale: ...
    @classmethod
    def new_with_range(cls, min: float, max: float, step: float) -> HScale: ...

class HScaleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HScaleClass()
    """

    parent_class: ScaleClass = ...

class HScrollbar(Scrollbar, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        HScrollbar(**properties)
        new(adjustment:Gtk.Adjustment=None) -> Gtk.Widget

    Object GtkHScrollbar

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    scrollbar: Scrollbar = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, adjustment: Optional[Adjustment] = None) -> HScrollbar: ...

class HScrollbarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HScrollbarClass()
    """

    parent_class: ScrollbarClass = ...

class HSeparator(Separator, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        HSeparator(**properties)
        new() -> Gtk.Widget

    Object GtkHSeparator

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    separator: Separator = ...
    def __init__(
        self,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> HSeparator: ...

class HSeparatorClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HSeparatorClass()
    """

    parent_class: SeparatorClass = ...

class HandleBox(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        HandleBox(**properties)
        new() -> Gtk.Widget

    Object GtkHandleBox

    Signals from GtkHandleBox:
      child-detached (GtkWidget)
      child-attached (GtkWidget)

    Properties from GtkHandleBox:
      shadow-type -> GtkShadowType: Shadow type
        Appearance of the shadow that surrounds the container
      handle-position -> GtkPositionType: Handle position
        Position of the handle relative to the child widget
      snap-edge -> GtkPositionType: Snap edge
        Side of the handlebox that's lined up with the docking point to dock the handlebox
      snap-edge-set -> gboolean: Snap edge set
        Whether to use the value from the snap_edge property or a value derived from handle_position
      child-detached -> gboolean: Child Detached
        A boolean value indicating whether the handlebox's child is attached or detached.

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        child_detached: bool
        handle_position: PositionType
        shadow_type: ShadowType
        snap_edge: PositionType
        snap_edge_set: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: HandleBoxPrivate = ...
    def __init__(
        self,
        handle_position: PositionType = ...,
        shadow_type: ShadowType = ...,
        snap_edge: PositionType = ...,
        snap_edge_set: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def do_child_attached(self, child: Widget) -> None: ...
    def do_child_detached(self, child: Widget) -> None: ...
    def get_child_detached(self) -> bool: ...
    def get_handle_position(self) -> PositionType: ...
    def get_shadow_type(self) -> ShadowType: ...
    def get_snap_edge(self) -> PositionType: ...
    @classmethod
    def new(cls) -> HandleBox: ...
    def set_handle_position(self, position: PositionType) -> None: ...
    def set_shadow_type(self, type: ShadowType) -> None: ...
    def set_snap_edge(self, edge: PositionType) -> None: ...

class HandleBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HandleBoxClass()
    """

    parent_class: BinClass = ...
    child_attached: Callable[[HandleBox, Widget], None] = ...
    child_detached: Callable[[HandleBox, Widget], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class HandleBoxPrivate(GObject.GPointer): ...

class HeaderBar(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        HeaderBar(**properties)
        new() -> Gtk.Widget

    Object GtkHeaderBar

    Properties from GtkHeaderBar:
      title -> gchararray: Title
        The title to display
      subtitle -> gchararray: Subtitle
        The subtitle to display
      has-subtitle -> gboolean: Has Subtitle
        Whether to reserve space for a subtitle
      custom-title -> GtkWidget: Custom Title
        Custom title widget to display
      spacing -> gint: Spacing
        The amount of space between children
      show-close-button -> gboolean: Show decorations
        Whether to show window decorations
      decoration-layout -> gchararray: Decoration Layout
        The layout for window decorations
      decoration-layout-set -> gboolean: Decoration Layout Set
        Whether the decoration-layout property has been set

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        custom_title: Optional[Widget]
        decoration_layout: str
        decoration_layout_set: bool
        has_subtitle: bool
        show_close_button: bool
        spacing: int
        subtitle: Optional[str]
        title: Optional[str]
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    def __init__(
        self,
        custom_title: Optional[Widget] = ...,
        decoration_layout: Optional[str] = ...,
        decoration_layout_set: bool = ...,
        has_subtitle: bool = ...,
        show_close_button: bool = ...,
        spacing: int = ...,
        subtitle: Optional[str] = ...,
        title: Optional[str] = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_custom_title(self) -> Optional[Widget]: ...
    def get_decoration_layout(self) -> str: ...
    def get_has_subtitle(self) -> bool: ...
    def get_show_close_button(self) -> bool: ...
    def get_subtitle(self) -> Optional[str]: ...
    def get_title(self) -> Optional[str]: ...
    @classmethod
    def new(cls) -> HeaderBar: ...
    def pack_end(self, child: Widget) -> None: ...
    def pack_start(self, child: Widget) -> None: ...
    def set_custom_title(self, title_widget: Optional[Widget] = None) -> None: ...
    def set_decoration_layout(self, layout: Optional[str] = None) -> None: ...
    def set_has_subtitle(self, setting: bool) -> None: ...
    def set_show_close_button(self, setting: bool) -> None: ...
    def set_subtitle(self, subtitle: Optional[str] = None) -> None: ...
    def set_title(self, title: Optional[str] = None) -> None: ...

class HeaderBarAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        HeaderBarAccessible(**properties)

    Object GtkHeaderBarAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class HeaderBarAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HeaderBarAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class HeaderBarAccessiblePrivate(GObject.GPointer): ...

class HeaderBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        HeaderBarClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class HeaderBarPrivate(GObject.GPointer): ...

class IMContext(GObject.Object):
    """
    :Constructors:

    ::

        IMContext(**properties)

    Object GtkIMContext

    Signals from GtkIMContext:
      preedit-changed ()
      preedit-start ()
      preedit-end ()
      commit (gchararray)
      retrieve-surrounding () -> gboolean
      delete-surrounding (gint, gint) -> gboolean

    Properties from GtkIMContext:
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        input_hints: InputHints
        input_purpose: InputPurpose

    props: Props = ...
    parent_instance: GObject.Object = ...
    def __init__(
        self, input_hints: InputHints = ..., input_purpose: InputPurpose = ...
    ): ...
    def delete_surrounding(self, offset: int, n_chars: int) -> bool: ...
    def do_commit(self, str: str) -> None: ...
    def do_delete_surrounding(self, offset: int, n_chars: int) -> bool: ...
    def do_filter_keypress(self, event: Gdk.EventKey) -> bool: ...
    def do_focus_in(self) -> None: ...
    def do_focus_out(self) -> None: ...
    def do_get_preedit_string(self) -> Tuple[str, Pango.AttrList, int]: ...
    def do_get_surrounding(self) -> Tuple[bool, str, int]: ...
    def do_preedit_changed(self) -> None: ...
    def do_preedit_end(self) -> None: ...
    def do_preedit_start(self) -> None: ...
    def do_reset(self) -> None: ...
    def do_retrieve_surrounding(self) -> bool: ...
    def do_set_client_window(self, window: Optional[Gdk.Window] = None) -> None: ...
    def do_set_cursor_location(self, area: Gdk.Rectangle) -> None: ...
    def do_set_surrounding(self, text: str, len: int, cursor_index: int) -> None: ...
    def do_set_use_preedit(self, use_preedit: bool) -> None: ...
    def filter_keypress(self, event: Gdk.EventKey) -> bool: ...
    def focus_in(self) -> None: ...
    def focus_out(self) -> None: ...
    def get_preedit_string(self) -> Tuple[str, Pango.AttrList, int]: ...
    def get_surrounding(
        self,
    ) -> Optional[Tuple[str, int]]: ...  # CHECK Wrapped function
    def reset(self) -> None: ...
    def set_client_window(self, window: Optional[Gdk.Window] = None) -> None: ...
    def set_cursor_location(self, area: Gdk.Rectangle) -> None: ...
    def set_surrounding(self, text: str, len: int, cursor_index: int) -> None: ...
    def set_use_preedit(self, use_preedit: bool) -> None: ...

class IMContextClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IMContextClass()
    """

    parent_class: GObject.ObjectClass = ...
    preedit_start: Callable[[IMContext], None] = ...
    preedit_end: Callable[[IMContext], None] = ...
    preedit_changed: Callable[[IMContext], None] = ...
    commit: Callable[[IMContext, str], None] = ...
    retrieve_surrounding: Callable[[IMContext], bool] = ...
    delete_surrounding: Callable[[IMContext, int, int], bool] = ...
    set_client_window: Callable[[IMContext, Optional[Gdk.Window]], None] = ...
    get_preedit_string: Callable[[IMContext], Tuple[str, Pango.AttrList, int]] = ...
    filter_keypress: Callable[[IMContext, Gdk.EventKey], bool] = ...
    focus_in: Callable[[IMContext], None] = ...
    focus_out: Callable[[IMContext], None] = ...
    reset: Callable[[IMContext], None] = ...
    set_cursor_location: Callable[[IMContext, Gdk.Rectangle], None] = ...
    set_use_preedit: Callable[[IMContext, bool], None] = ...
    set_surrounding: Callable[[IMContext, str, int, int], None] = ...
    get_surrounding: Callable[[IMContext], Tuple[bool, str, int]] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...

class IMContextInfo(GObject.GPointer):
    """
    :Constructors:

    ::

        IMContextInfo()
    """

    context_id: str = ...
    context_name: str = ...
    domain: str = ...
    domain_dirname: str = ...
    default_locales: str = ...

class IMContextSimple(IMContext):
    """
    :Constructors:

    ::

        IMContextSimple(**properties)
        new() -> Gtk.IMContext

    Object GtkIMContextSimple

    Signals from GtkIMContext:
      preedit-changed ()
      preedit-start ()
      preedit-end ()
      commit (gchararray)
      retrieve-surrounding () -> gboolean
      delete-surrounding (gint, gint) -> gboolean

    Properties from GtkIMContext:
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        input_hints: InputHints
        input_purpose: InputPurpose

    props: Props = ...
    object: IMContext = ...
    priv: IMContextSimplePrivate = ...
    def __init__(
        self, input_hints: InputHints = ..., input_purpose: InputPurpose = ...
    ): ...
    def add_compose_file(self, compose_file: str) -> None: ...
    @classmethod
    def new(cls) -> IMContextSimple: ...

class IMContextSimpleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IMContextSimpleClass()
    """

    parent_class: IMContextClass = ...

class IMContextSimplePrivate(GObject.GPointer): ...

class IMMulticontext(IMContext):
    """
    :Constructors:

    ::

        IMMulticontext(**properties)
        new() -> Gtk.IMContext

    Object GtkIMMulticontext

    Signals from GtkIMContext:
      preedit-changed ()
      preedit-start ()
      preedit-end ()
      commit (gchararray)
      retrieve-surrounding () -> gboolean
      delete-surrounding (gint, gint) -> gboolean

    Properties from GtkIMContext:
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        input_hints: InputHints
        input_purpose: InputPurpose

    props: Props = ...
    object: IMContext = ...
    priv: IMMulticontextPrivate = ...
    def __init__(
        self, input_hints: InputHints = ..., input_purpose: InputPurpose = ...
    ): ...
    def append_menuitems(self, menushell: MenuShell) -> None: ...
    def get_context_id(self) -> str: ...
    @classmethod
    def new(cls) -> IMMulticontext: ...
    def set_context_id(self, context_id: str) -> None: ...

class IMMulticontextClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IMMulticontextClass()
    """

    parent_class: IMContextClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class IMMulticontextPrivate(GObject.GPointer): ...

class IconFactory(GObject.Object, Buildable):
    """
    :Constructors:

    ::

        IconFactory(**properties)
        new() -> Gtk.IconFactory

    Object GtkIconFactory

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    priv: IconFactoryPrivate = ...
    def add(self, stock_id: str, icon_set: IconSet) -> None: ...
    def add_default(self) -> None: ...
    def lookup(self, stock_id: str) -> IconSet: ...
    @staticmethod
    def lookup_default(stock_id: str) -> IconSet: ...
    @classmethod
    def new(cls) -> IconFactory: ...
    def remove_default(self) -> None: ...

class IconFactoryClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IconFactoryClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class IconFactoryPrivate(GObject.GPointer): ...

class IconInfo(GObject.Object):
    """
    :Constructors:

    ::

        IconInfo(**properties)
        new_for_pixbuf(icon_theme:Gtk.IconTheme, pixbuf:GdkPixbuf.Pixbuf) -> Gtk.IconInfo

    Object GtkIconInfo

    Signals from GObject:
      notify (GParam)
    """

    def get_attach_points(self) -> Tuple[bool, list[Gdk.Point]]: ...
    def get_base_scale(self) -> int: ...
    def get_base_size(self) -> int: ...
    def get_builtin_pixbuf(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_display_name(self) -> str: ...
    def get_embedded_rect(self) -> Tuple[bool, Gdk.Rectangle]: ...
    def get_filename(self) -> Optional[str]: ...
    def is_symbolic(self) -> bool: ...
    def load_icon(self) -> GdkPixbuf.Pixbuf: ...
    def load_icon_async(
        self,
        cancellable: Optional[Gio.Cancellable] = None,
        callback: Optional[Callable[..., None]] = None,
        *user_data: Any,
    ) -> None: ...
    def load_icon_finish(self, res: Gio.AsyncResult) -> GdkPixbuf.Pixbuf: ...
    # override
    def load_surface(
        self, for_window: Optional[Gdk.Window] = None
    ) -> cairo.ImageSurface: ...
    def load_symbolic(
        self,
        fg: Gdk.RGBA,
        success_color: Optional[Gdk.RGBA] = None,
        warning_color: Optional[Gdk.RGBA] = None,
        error_color: Optional[Gdk.RGBA] = None,
    ) -> Tuple[GdkPixbuf.Pixbuf, bool]: ...
    def load_symbolic_async(
        self,
        fg: Gdk.RGBA,
        success_color: Optional[Gdk.RGBA] = None,
        warning_color: Optional[Gdk.RGBA] = None,
        error_color: Optional[Gdk.RGBA] = None,
        cancellable: Optional[Gio.Cancellable] = None,
        callback: Optional[Callable[..., None]] = None,
        *user_data: Any,
    ) -> None: ...
    def load_symbolic_finish(
        self, res: Gio.AsyncResult
    ) -> Tuple[GdkPixbuf.Pixbuf, bool]: ...
    def load_symbolic_for_context(
        self, context: StyleContext
    ) -> Tuple[GdkPixbuf.Pixbuf, bool]: ...
    def load_symbolic_for_context_async(
        self,
        context: StyleContext,
        cancellable: Optional[Gio.Cancellable] = None,
        callback: Optional[Callable[..., None]] = None,
        *user_data: Any,
    ) -> None: ...
    def load_symbolic_for_context_finish(
        self, res: Gio.AsyncResult
    ) -> Tuple[GdkPixbuf.Pixbuf, bool]: ...
    def load_symbolic_for_style(
        self, style: Style, state: StateType
    ) -> Tuple[GdkPixbuf.Pixbuf, bool]: ...
    @classmethod
    def new_for_pixbuf(
        cls, icon_theme: IconTheme, pixbuf: GdkPixbuf.Pixbuf
    ) -> IconInfo: ...
    def set_raw_coordinates(self, raw_coordinates: bool) -> None: ...

class IconInfoClass(GObject.GPointer): ...

class IconSet(GObject.GBoxed):
    """
    :Constructors:

    ::

        new() -> Gtk.IconSet
        new_from_pixbuf(pixbuf:GdkPixbuf.Pixbuf) -> Gtk.IconSet
    """

    def add_source(self, source: IconSource) -> None: ...
    def copy(self) -> IconSet: ...
    def get_sizes(self) -> list[int]: ...
    @classmethod
    def new(cls) -> IconSet: ...
    @classmethod
    def new_from_pixbuf(cls, pixbuf: GdkPixbuf.Pixbuf) -> IconSet: ...
    def ref(self) -> IconSet: ...
    def render_icon(
        self,
        style: Optional[Style],
        direction: TextDirection,
        state: StateType,
        size: int,
        widget: Optional[Widget] = None,
        detail: Optional[str] = None,
    ) -> GdkPixbuf.Pixbuf: ...
    def render_icon_pixbuf(
        self, context: StyleContext, size: int
    ) -> GdkPixbuf.Pixbuf: ...
    def render_icon_surface(
        self,
        context: StyleContext,
        size: int,
        scale: int,
        for_window: Optional[Gdk.Window] = None,
    ) -> cairo.Surface: ...
    def unref(self) -> None: ...

class IconSource(GObject.GBoxed):
    """
    :Constructors:

    ::

        new() -> Gtk.IconSource
    """

    def copy(self) -> IconSource: ...
    def free(self) -> None: ...
    def get_direction(self) -> TextDirection: ...
    def get_direction_wildcarded(self) -> bool: ...
    def get_filename(self) -> str: ...
    def get_icon_name(self) -> str: ...
    def get_pixbuf(self) -> GdkPixbuf.Pixbuf: ...
    def get_size(self) -> int: ...
    def get_size_wildcarded(self) -> bool: ...
    def get_state(self) -> StateType: ...
    def get_state_wildcarded(self) -> bool: ...
    @classmethod
    def new(cls) -> IconSource: ...
    def set_direction(self, direction: TextDirection) -> None: ...
    def set_direction_wildcarded(self, setting: bool) -> None: ...
    def set_filename(self, filename: str) -> None: ...
    def set_icon_name(self, icon_name: Optional[str] = None) -> None: ...
    def set_pixbuf(self, pixbuf: GdkPixbuf.Pixbuf) -> None: ...
    def set_size(self, size: int) -> None: ...
    def set_size_wildcarded(self, setting: bool) -> None: ...
    def set_state(self, state: StateType) -> None: ...
    def set_state_wildcarded(self, setting: bool) -> None: ...

class IconTheme(GObject.Object):
    """
    :Constructors:

    ::

        IconTheme(**properties)
        new() -> Gtk.IconTheme

    Object GtkIconTheme

    Signals from GtkIconTheme:
      changed ()

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    priv: IconThemePrivate = ...
    @staticmethod
    def add_builtin_icon(
        icon_name: str, size: int, pixbuf: GdkPixbuf.Pixbuf
    ) -> None: ...
    def add_resource_path(self, path: str) -> None: ...
    def append_search_path(self, path: str) -> None: ...
    def choose_icon(
        self, icon_names: Sequence[str], size: int, flags: IconLookupFlags
    ) -> Optional[IconInfo]: ...
    def choose_icon_for_scale(
        self, icon_names: Sequence[str], size: int, scale: int, flags: IconLookupFlags
    ) -> Optional[IconInfo]: ...
    def do_changed(self) -> None: ...
    @staticmethod
    def get_default() -> IconTheme: ...
    def get_example_icon_name(self) -> Optional[str]: ...
    @staticmethod
    def get_for_screen(screen: Gdk.Screen) -> IconTheme: ...
    def get_icon_sizes(self, icon_name: str) -> list[int]: ...
    def get_search_path(self) -> list[str]: ...
    def has_icon(self, icon_name: str) -> bool: ...
    def list_contexts(self) -> list[str]: ...
    def list_icons(self, context: Optional[str] = None) -> list[str]: ...
    def load_icon(
        self, icon_name: str, size: int, flags: IconLookupFlags
    ) -> Optional[GdkPixbuf.Pixbuf]: ...
    def load_icon_for_scale(
        self, icon_name: str, size: int, scale: int, flags: IconLookupFlags
    ) -> Optional[GdkPixbuf.Pixbuf]: ...
    # override
    def load_surface(
        self,
        icon_name: str,
        size: int,
        scale: int,
        for_window: Optional[Gdk.Window],
        flags: IconLookupFlags,
    ) -> Optional[cairo.ImageSurface]: ...
    def lookup_by_gicon(
        self, icon: Gio.Icon, size: int, flags: IconLookupFlags
    ) -> Optional[IconInfo]: ...
    def lookup_by_gicon_for_scale(
        self, icon: Gio.Icon, size: int, scale: int, flags: IconLookupFlags
    ) -> Optional[IconInfo]: ...
    def lookup_icon(
        self, icon_name: str, size: int, flags: IconLookupFlags
    ) -> Optional[IconInfo]: ...
    def lookup_icon_for_scale(
        self, icon_name: str, size: int, scale: int, flags: IconLookupFlags
    ) -> Optional[IconInfo]: ...
    @classmethod
    def new(cls) -> IconTheme: ...
    def prepend_search_path(self, path: str) -> None: ...
    def rescan_if_needed(self) -> bool: ...
    def set_custom_theme(self, theme_name: Optional[str] = None) -> None: ...
    def set_screen(self, screen: Gdk.Screen) -> None: ...
    def set_search_path(self, path: Sequence[str]) -> None: ...

class IconThemeClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IconThemeClass()
    """

    parent_class: GObject.ObjectClass = ...
    changed: Callable[[IconTheme], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class IconThemePrivate(GObject.GPointer): ...

class IconView(Container, Atk.ImplementorIface, Buildable, CellLayout, Scrollable):
    """
    :Constructors:

    ::

        IconView(**properties)
        new() -> Gtk.Widget
        new_with_area(area:Gtk.CellArea) -> Gtk.Widget
        new_with_model(model:Gtk.TreeModel) -> Gtk.Widget

    Object GtkIconView

    Signals from GtkIconView:
      move-cursor (GtkMovementStep, gint) -> gboolean
      selection-changed ()
      select-all ()
      unselect-all ()
      item-activated (GtkTreePath)
      select-cursor-item ()
      toggle-cursor-item ()
      activate-cursor-item () -> gboolean

    Properties from GtkIconView:
      pixbuf-column -> gint: Pixbuf column
        Model column used to retrieve the icon pixbuf from
      text-column -> gint: Text column
        Model column used to retrieve the text from
      markup-column -> gint: Markup column
        Model column used to retrieve the text if using Pango markup
      selection-mode -> GtkSelectionMode: Selection mode
        The selection mode
      item-orientation -> GtkOrientation: Item Orientation
        How the text and icon of each item are positioned relative to each other
      model -> GtkTreeModel: Icon View Model
        The model for the icon view
      columns -> gint: Number of columns
        Number of columns to display
      item-width -> gint: Width for each item
        The width used for each item
      spacing -> gint: Spacing
        Space which is inserted between cells of an item
      row-spacing -> gint: Row Spacing
        Space which is inserted between grid rows
      column-spacing -> gint: Column Spacing
        Space which is inserted between grid columns
      margin -> gint: Margin
        Space which is inserted at the edges of the icon view
      reorderable -> gboolean: Reorderable
        View is reorderable
      tooltip-column -> gint: Tooltip Column
        The column in the model containing the tooltip texts for the items
      item-padding -> gint: Item Padding
        Padding around icon view items
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells
      activate-on-single-click -> gboolean: Activate on Single Click
        Activate row on a single click

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activate_on_single_click: bool
        cell_area: CellArea
        column_spacing: int
        columns: int
        item_orientation: Orientation
        item_padding: int
        item_width: int
        margin: int
        markup_column: int
        model: Optional[TreeModel]
        pixbuf_column: int
        reorderable: bool
        row_spacing: int
        selection_mode: SelectionMode
        spacing: int
        text_column: int
        tooltip_column: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        hadjustment: Adjustment
        hscroll_policy: ScrollablePolicy
        vadjustment: Adjustment
        vscroll_policy: ScrollablePolicy
        child: Widget

    props: Props = ...
    parent: Container = ...
    priv: IconViewPrivate = ...
    def __init__(
        self,
        activate_on_single_click: bool = ...,
        cell_area: CellArea = ...,
        column_spacing: int = ...,
        columns: int = ...,
        item_orientation: Orientation = ...,
        item_padding: int = ...,
        item_width: int = ...,
        margin: int = ...,
        markup_column: int = ...,
        model: Optional[TreeModel] = ...,
        pixbuf_column: int = ...,
        reorderable: bool = ...,
        row_spacing: int = ...,
        selection_mode: SelectionMode = ...,
        spacing: int = ...,
        text_column: int = ...,
        tooltip_column: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscroll_policy: ScrollablePolicy = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscroll_policy: ScrollablePolicy = ...,
    ): ...
    def convert_widget_to_bin_window_coords(
        self, wx: int, wy: int
    ) -> Tuple[int, int]: ...
    def create_drag_icon(self, path: TreePath) -> cairo.Surface: ...
    def do_activate_cursor_item(self) -> bool: ...
    def do_item_activated(self, path: TreePath) -> None: ...
    def do_move_cursor(self, step: MovementStep, count: int) -> bool: ...
    def do_select_all(self) -> None: ...
    def do_select_cursor_item(self) -> None: ...
    def do_selection_changed(self) -> None: ...
    def do_toggle_cursor_item(self) -> None: ...
    def do_unselect_all(self) -> None: ...
    def enable_model_drag_dest(
        self, targets: Sequence[TargetEntry], actions: Gdk.DragAction
    ) -> None: ...
    def enable_model_drag_source(
        self,
        start_button_mask: Gdk.ModifierType,
        targets: Sequence[TargetEntry],
        actions: Gdk.DragAction,
    ) -> None: ...
    def get_activate_on_single_click(self) -> bool: ...
    def get_cell_rect(
        self, path: TreePath, cell: Optional[CellRenderer] = None
    ) -> Tuple[bool, Gdk.Rectangle]: ...
    def get_column_spacing(self) -> int: ...
    def get_columns(self) -> int: ...
    def get_cursor(self) -> Tuple[bool, TreePath, CellRenderer]: ...
    def get_dest_item_at_pos(
        self, drag_x: int, drag_y: int
    ) -> Optional[Tuple[TreePath, IconViewDropPosition]]: ...  # CHECK Wrapped function
    def get_drag_dest_item(self) -> Tuple[TreePath, IconViewDropPosition]: ...
    def get_item_at_pos(
        self, x: int, y: int
    ) -> Optional[Tuple[TreePath, CellRenderer]]: ...  # CHECK Wrapped function
    def get_item_column(self, path: TreePath) -> int: ...
    def get_item_orientation(self) -> Orientation: ...
    def get_item_padding(self) -> int: ...
    def get_item_row(self, path: TreePath) -> int: ...
    def get_item_width(self) -> int: ...
    def get_margin(self) -> int: ...
    def get_markup_column(self) -> int: ...
    def get_model(self) -> Optional[TreeModel]: ...
    def get_path_at_pos(self, x: int, y: int) -> Optional[TreePath]: ...
    def get_pixbuf_column(self) -> int: ...
    def get_reorderable(self) -> bool: ...
    def get_row_spacing(self) -> int: ...
    def get_selected_items(self) -> list[TreePath]: ...
    def get_selection_mode(self) -> SelectionMode: ...
    def get_spacing(self) -> int: ...
    def get_text_column(self) -> int: ...
    def get_tooltip_column(self) -> int: ...
    def get_tooltip_context(
        self, keyboard_tip: bool
    ) -> Tuple[bool, int, int, TreeModel, TreePath, TreeIter]: ...
    def get_visible_range(
        self,
    ) -> Optional[Tuple[TreePath, TreePath]]: ...  # CHECK Wrapped function
    def item_activated(self, path: TreePath) -> None: ...
    @classmethod
    def new(cls) -> IconView: ...
    @classmethod
    def new_with_area(cls, area: CellArea) -> IconView: ...
    @classmethod
    def new_with_model(cls, model: TreeModel) -> IconView: ...
    def path_is_selected(self, path: TreePath) -> bool: ...
    def scroll_to_path(
        self, path: TreePath, use_align: bool, row_align: float, col_align: float
    ) -> None: ...
    def select_all(self) -> None: ...
    def select_path(self, path: TreePath) -> None: ...
    def selected_foreach(self, func: Callable[..., None], *data: Any) -> None: ...
    def set_activate_on_single_click(self, single: bool) -> None: ...
    def set_column_spacing(self, column_spacing: int) -> None: ...
    def set_columns(self, columns: int) -> None: ...
    def set_cursor(
        self, path: TreePath, cell: Optional[CellRenderer], start_editing: bool
    ) -> None: ...
    def set_drag_dest_item(
        self, path: Optional[TreePath], pos: IconViewDropPosition
    ) -> None: ...
    def set_item_orientation(self, orientation: Orientation) -> None: ...
    def set_item_padding(self, item_padding: int) -> None: ...
    def set_item_width(self, item_width: int) -> None: ...
    def set_margin(self, margin: int) -> None: ...
    def set_markup_column(self, column: int) -> None: ...
    def set_model(self, model: Optional[TreeModel] = None) -> None: ...
    def set_pixbuf_column(self, column: int) -> None: ...
    def set_reorderable(self, reorderable: bool) -> None: ...
    def set_row_spacing(self, row_spacing: int) -> None: ...
    def set_selection_mode(self, mode: SelectionMode) -> None: ...
    def set_spacing(self, spacing: int) -> None: ...
    def set_text_column(self, column: int) -> None: ...
    def set_tooltip_cell(
        self, tooltip: Tooltip, path: TreePath, cell: Optional[CellRenderer] = None
    ) -> None: ...
    def set_tooltip_column(self, column: int) -> None: ...
    def set_tooltip_item(self, tooltip: Tooltip, path: TreePath) -> None: ...
    def unselect_all(self) -> None: ...
    def unselect_path(self, path: TreePath) -> None: ...
    def unset_model_drag_dest(self) -> None: ...
    def unset_model_drag_source(self) -> None: ...

class IconViewAccessible(ContainerAccessible, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        IconViewAccessible(**properties)

    Object GtkIconViewAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: IconViewAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class IconViewAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IconViewAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class IconViewAccessiblePrivate(GObject.GPointer): ...

class IconViewClass(GObject.GPointer):
    """
    :Constructors:

    ::

        IconViewClass()
    """

    parent_class: ContainerClass = ...
    item_activated: Callable[[IconView, TreePath], None] = ...
    selection_changed: Callable[[IconView], None] = ...
    select_all: Callable[[IconView], None] = ...
    unselect_all: Callable[[IconView], None] = ...
    select_cursor_item: Callable[[IconView], None] = ...
    toggle_cursor_item: Callable[[IconView], None] = ...
    move_cursor: Callable[[IconView, MovementStep, int], bool] = ...
    activate_cursor_item: Callable[[IconView], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class IconViewPrivate(GObject.GPointer): ...

class Image(Misc, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Image(**properties)
        new() -> Gtk.Widget
        new_from_animation(animation:GdkPixbuf.PixbufAnimation) -> Gtk.Widget
        new_from_file(filename:str) -> Gtk.Widget
        new_from_gicon(icon:Gio.Icon, size:int) -> Gtk.Widget
        new_from_icon_name(icon_name:str=None, size:int) -> Gtk.Widget
        new_from_icon_set(icon_set:Gtk.IconSet, size:int) -> Gtk.Widget
        new_from_pixbuf(pixbuf:GdkPixbuf.Pixbuf=None) -> Gtk.Widget
        new_from_resource(resource_path:str) -> Gtk.Widget
        new_from_stock(stock_id:str, size:int) -> Gtk.Widget
        new_from_surface(surface:cairo.Surface=None) -> Gtk.Widget

    Object GtkImage

    Properties from GtkImage:
      pixbuf -> GdkPixbuf: Pixbuf
        A GdkPixbuf to display
      surface -> CairoSurface: Surface
        A cairo_surface_t to display
      file -> gchararray: Filename
        Filename to load and display
      stock -> gchararray: Stock ID
        Stock ID for a stock image to display
      icon-set -> GtkIconSet: Icon set
        Icon set to display
      icon-size -> gint: Icon size
        Symbolic size to use for stock icon, icon set or named icon
      pixel-size -> gint: Pixel size
        Pixel size to use for named icon
      pixbuf-animation -> GdkPixbufAnimation: Animation
        GdkPixbufAnimation to display
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      storage-type -> GtkImageType: Storage type
        The representation being used for image data
      gicon -> GIcon: Icon
        The GIcon being displayed
      resource -> gchararray: Resource
        The resource path being displayed
      use-fallback -> gboolean: Use Fallback
        Whether to use icon names fallback

    Properties from GtkMisc:
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)
      xpad -> gint: X pad
        The amount of space to add on the left and right of the widget, in pixels
      ypad -> gint: Y pad
        The amount of space to add on the top and bottom of the widget, in pixels

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        file: str
        gicon: Gio.Icon
        icon_name: str
        icon_set: IconSet
        icon_size: int
        pixbuf: Optional[GdkPixbuf.Pixbuf]
        pixbuf_animation: GdkPixbuf.PixbufAnimation
        pixel_size: int
        resource: str
        stock: str
        storage_type: ImageType
        surface: cairo.Surface
        use_fallback: bool
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    misc: Misc = ...
    priv: ImagePrivate = ...
    def __init__(
        self,
        file: str = ...,
        gicon: Gio.Icon = ...,
        icon_name: str = ...,
        icon_set: IconSet = ...,
        icon_size: int = ...,
        pixbuf: GdkPixbuf.Pixbuf = ...,
        pixbuf_animation: GdkPixbuf.PixbufAnimation = ...,
        pixel_size: int = ...,
        resource: str = ...,
        stock: str = ...,
        surface: cairo.Surface = ...,
        use_fallback: bool = ...,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def clear(self) -> None: ...
    def get_animation(self) -> Optional[GdkPixbuf.PixbufAnimation]: ...
    def get_gicon(self) -> Tuple[Gio.Icon, int]: ...
    def get_icon_name(self) -> Tuple[str, int]: ...
    def get_icon_set(self) -> Tuple[IconSet, int]: ...
    def get_pixbuf(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_pixel_size(self) -> int: ...
    def get_stock(self) -> Tuple[str, int]: ...
    def get_storage_type(self) -> ImageType: ...
    @classmethod
    def new(cls) -> Image: ...
    @classmethod
    def new_from_animation(cls, animation: GdkPixbuf.PixbufAnimation) -> Image: ...
    @classmethod
    def new_from_file(cls, filename: str) -> Image: ...
    @classmethod
    def new_from_gicon(cls, icon: Gio.Icon, size: int) -> Image: ...
    @classmethod
    def new_from_icon_name(cls, icon_name: Optional[str], size: int) -> Image: ...
    @classmethod
    def new_from_icon_set(cls, icon_set: IconSet, size: int) -> Image: ...
    @classmethod
    def new_from_pixbuf(cls, pixbuf: Optional[GdkPixbuf.Pixbuf] = None) -> Image: ...
    @classmethod
    def new_from_resource(cls, resource_path: str) -> Image: ...
    @classmethod
    def new_from_stock(cls, stock_id: str, size: int) -> Image: ...
    @classmethod
    def new_from_surface(cls, surface: Optional[cairo.Surface] = None) -> Image: ...
    def set_from_animation(self, animation: GdkPixbuf.PixbufAnimation) -> None: ...
    def set_from_file(self, filename: Optional[str] = None) -> None: ...
    def set_from_gicon(self, icon: Gio.Icon, size: int) -> None: ...
    def set_from_icon_name(self, icon_name: Optional[str], size: int) -> None: ...
    def set_from_icon_set(self, icon_set: IconSet, size: int) -> None: ...
    def set_from_pixbuf(self, pixbuf: Optional[GdkPixbuf.Pixbuf] = None) -> None: ...
    def set_from_resource(self, resource_path: Optional[str] = None) -> None: ...
    def set_from_stock(self, stock_id: str, size: int) -> None: ...
    def set_from_surface(self, surface: Optional[cairo.Surface] = None) -> None: ...
    def set_pixel_size(self, pixel_size: int) -> None: ...

class ImageAccessible(WidgetAccessible, Atk.Component, Atk.Image):
    """
    :Constructors:

    ::

        ImageAccessible(**properties)

    Object GtkImageAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: ImageAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ImageAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ImageAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class ImageAccessiblePrivate(GObject.GPointer): ...

class ImageCellAccessible(
    RendererCellAccessible, Atk.Action, Atk.Component, Atk.Image, Atk.TableCell
):
    """
    :Constructors:

    ::

        ImageCellAccessible(**properties)

    Object GtkImageCellAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkRendererCellAccessible:
      renderer -> GtkCellRenderer: Cell renderer
        The cell renderer represented by this accessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        renderer: CellRenderer
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: RendererCellAccessible = ...
    priv: ImageCellAccessiblePrivate = ...
    def __init__(
        self,
        renderer: CellRenderer = ...,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ImageCellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ImageCellAccessibleClass()
    """

    parent_class: RendererCellAccessibleClass = ...

class ImageCellAccessiblePrivate(GObject.GPointer): ...

class ImageClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ImageClass()
    """

    parent_class: MiscClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ImageMenuItem(MenuItem, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        ImageMenuItem(**properties)
        new() -> Gtk.Widget
        new_from_stock(stock_id:str, accel_group:Gtk.AccelGroup=None) -> Gtk.Widget
        new_with_label(label:str) -> Gtk.Widget
        new_with_mnemonic(label:str) -> Gtk.Widget

    Object GtkImageMenuItem

    Properties from GtkImageMenuItem:
      image -> GtkWidget: Image widget
        Child widget to appear next to the menu text
      use-stock -> gboolean: Use stock
        Whether to use the label text to create a stock menu item
      accel-group -> GtkAccelGroup: Accel Group
        The Accel Group to use for stock accelerator keys
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkMenuItem:
      activate ()
      activate-item ()
      toggle-size-request (gpointer)
      toggle-size-allocate (gint)
      select ()
      deselect ()

    Properties from GtkMenuItem:
      right-justified -> gboolean: Right Justified
        Sets whether the menu item appears justified at the right side of a menu bar
      submenu -> GtkMenu: Submenu
        The submenu attached to the menu item, or NULL if it has none
      accel-path -> gchararray: Accel Path
        Sets the accelerator path of the menu item
      label -> gchararray: Label
        The text for the child label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        always_show_image: bool
        image: Widget
        use_stock: bool
        accel_path: Optional[str]
        label: str
        right_justified: bool
        submenu: Optional[Menu]
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        accel_group: AccelGroup
        child: Widget

    props: Props = ...
    menu_item: MenuItem = ...
    priv: ImageMenuItemPrivate = ...
    def __init__(
        self,
        accel_group: AccelGroup = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        use_stock: bool = ...,
        accel_path: Optional[str] = ...,
        label: str = ...,
        right_justified: bool = ...,
        submenu: Optional[Menu] = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def get_always_show_image(self) -> bool: ...
    def get_image(self) -> Widget: ...
    def get_use_stock(self) -> bool: ...
    @classmethod
    def new(cls) -> ImageMenuItem: ...
    @classmethod
    def new_from_stock(
        cls, stock_id: str, accel_group: Optional[AccelGroup] = None
    ) -> ImageMenuItem: ...
    @classmethod
    def new_with_label(cls, label: str) -> ImageMenuItem: ...
    @classmethod
    def new_with_mnemonic(cls, label: str) -> ImageMenuItem: ...
    def set_accel_group(self, accel_group: AccelGroup) -> None: ...
    def set_always_show_image(self, always_show: bool) -> None: ...
    def set_image(self, image: Optional[Widget] = None) -> None: ...
    def set_use_stock(self, use_stock: bool) -> None: ...

class ImageMenuItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ImageMenuItemClass()
    """

    parent_class: MenuItemClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ImageMenuItemPrivate(GObject.GPointer): ...
class ImagePrivate(GObject.GPointer): ...

class InfoBar(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        InfoBar(**properties)
        new() -> Gtk.Widget

    Object GtkInfoBar

    Signals from GtkInfoBar:
      response (gint)
      close ()

    Properties from GtkInfoBar:
      message-type -> GtkMessageType: Message Type
        The type of message
      show-close-button -> gboolean: Show Close Button
        Whether to include a standard close button
      revealed -> gboolean: Reveal
        Controls whether the action bar shows its contents or not

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        message_type: MessageType
        revealed: bool
        show_close_button: bool
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent: Box = ...
    priv: InfoBarPrivate = ...
    def __init__(
        self,
        message_type: MessageType = ...,
        revealed: bool = ...,
        show_close_button: bool = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def add_action_widget(self, child: Widget, response_id: int) -> None: ...
    def add_button(self, button_text: str, response_id: int) -> Button: ...
    def do_close(self) -> None: ...
    def do_response(self, response_id: int) -> None: ...
    def get_action_area(self) -> Box: ...
    def get_content_area(self) -> Box: ...
    def get_message_type(self) -> MessageType: ...
    def get_revealed(self) -> bool: ...
    def get_show_close_button(self) -> bool: ...
    @classmethod
    def new(cls) -> InfoBar: ...
    def response(self, response_id: int) -> None: ...
    def set_default_response(self, response_id: int) -> None: ...
    def set_message_type(self, message_type: MessageType) -> None: ...
    def set_response_sensitive(self, response_id: int, setting: bool) -> None: ...
    def set_revealed(self, revealed: bool) -> None: ...
    def set_show_close_button(self, setting: bool) -> None: ...

class InfoBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        InfoBarClass()
    """

    parent_class: BoxClass = ...
    response: Callable[[InfoBar, int], None] = ...
    close: Callable[[InfoBar], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class InfoBarPrivate(GObject.GPointer): ...

class Invisible(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Invisible(**properties)
        new() -> Gtk.Widget
        new_for_screen(screen:Gdk.Screen) -> Gtk.Widget

    Object GtkInvisible

    Properties from GtkInvisible:
      screen -> GdkScreen: Screen
        The screen where this window will be displayed

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        screen: Gdk.Screen
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    widget: Widget = ...
    priv: InvisiblePrivate = ...
    def __init__(
        self,
        screen: Gdk.Screen = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_screen(self) -> Gdk.Screen: ...
    @classmethod
    def new(cls) -> Invisible: ...
    @classmethod
    def new_for_screen(cls, screen: Gdk.Screen) -> Invisible: ...
    def set_screen(self, screen: Gdk.Screen) -> None: ...

class InvisibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        InvisibleClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class InvisiblePrivate(GObject.GPointer): ...

class Label(Misc, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Label(**properties)
        new(str:str=None) -> Gtk.Widget
        new_with_mnemonic(str:str=None) -> Gtk.Widget

    Object GtkLabel

    Signals from GtkLabel:
      activate-link (gchararray) -> gboolean
      move-cursor (GtkMovementStep, gint, gboolean)
      copy-clipboard ()
      populate-popup (GtkMenu)
      activate-current-link ()

    Properties from GtkLabel:
      label -> gchararray: Label
        The text of the label
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the label
      use-markup -> gboolean: Use markup
        The text of the label includes XML markup. See pango_parse_markup()
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      justify -> GtkJustification: 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
      pattern -> gchararray: Pattern
        A string with _ characters in positions correspond to characters in the text to underline
      wrap -> gboolean: Line wrap
        If set, wrap lines if the text becomes too wide
      wrap-mode -> PangoWrapMode: Line wrap mode
        If wrap is set, controls how linewrapping is done
      selectable -> gboolean: Selectable
        Whether the label text can be selected with the mouse
      mnemonic-keyval -> guint: Mnemonic key
        The mnemonic accelerator key for this label
      mnemonic-widget -> GtkWidget: Mnemonic widget
        The widget to be activated when the label's mnemonic key is pressed
      cursor-position -> gint: Cursor Position
        The current position of the insertion cursor in chars
      selection-bound -> gint: Selection Bound
        The position of the opposite end of the selection from the cursor in chars
      ellipsize -> PangoEllipsizeMode: Ellipsize
        The preferred place to ellipsize the string, if the label does not have enough room to display the entire string
      width-chars -> gint: Width In Characters
        The desired width of the label, in characters
      single-line-mode -> gboolean: Single Line Mode
        Whether the label is in single line mode
      angle -> gdouble: Angle
        Angle at which the label is rotated
      max-width-chars -> gint: Maximum Width In Characters
        The desired maximum width of the label, in characters
      track-visited-links -> gboolean: Track visited links
        Whether visited links should be tracked
      lines -> gint: Number of lines
        The desired number of lines, when ellipsizing a wrapping label
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)

    Properties from GtkMisc:
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)
      xpad -> gint: X pad
        The amount of space to add on the left and right of the widget, in pixels
      ypad -> gint: Y pad
        The amount of space to add on the top and bottom of the widget, in pixels

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        angle: float
        attributes: Optional[Pango.AttrList]
        cursor_position: int
        ellipsize: Pango.EllipsizeMode
        justify: Justification
        label: str
        lines: int
        max_width_chars: int
        mnemonic_keyval: int
        mnemonic_widget: Optional[Widget]
        selectable: bool
        selection_bound: int
        single_line_mode: bool
        track_visited_links: bool
        use_markup: bool
        use_underline: bool
        width_chars: int
        wrap: bool
        wrap_mode: Pango.WrapMode
        xalign: float
        yalign: float
        xpad: int
        ypad: int
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        pattern: str

    props: Props = ...
    misc: Misc = ...
    priv: LabelPrivate = ...
    def __init__(
        self,
        angle: float = ...,
        attributes: Optional[Pango.AttrList] = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        justify: Justification = ...,
        label: str = ...,
        lines: int = ...,
        max_width_chars: int = ...,
        mnemonic_widget: Optional[Widget] = ...,
        pattern: str = ...,
        selectable: bool = ...,
        single_line_mode: bool = ...,
        track_visited_links: bool = ...,
        use_markup: bool = ...,
        use_underline: bool = ...,
        width_chars: int = ...,
        wrap: bool = ...,
        wrap_mode: Pango.WrapMode = ...,
        xalign: float = ...,
        yalign: float = ...,
        xpad: int = ...,
        ypad: int = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def do_activate_link(self, uri: str) -> bool: ...
    def do_copy_clipboard(self) -> None: ...
    def do_move_cursor(
        self, step: MovementStep, count: int, extend_selection: bool
    ) -> None: ...
    def do_populate_popup(self, menu: Menu) -> None: ...
    def get_angle(self) -> float: ...
    def get_attributes(self) -> Optional[Pango.AttrList]: ...
    def get_current_uri(self) -> str: ...
    def get_ellipsize(self) -> Pango.EllipsizeMode: ...
    def get_justify(self) -> Justification: ...
    def get_label(self) -> str: ...
    def get_layout(self) -> Pango.Layout: ...
    def get_layout_offsets(self) -> Tuple[int, int]: ...
    def get_line_wrap(self) -> bool: ...
    def get_line_wrap_mode(self) -> Pango.WrapMode: ...
    def get_lines(self) -> int: ...
    def get_max_width_chars(self) -> int: ...
    def get_mnemonic_keyval(self) -> int: ...
    def get_mnemonic_widget(self) -> Optional[Widget]: ...
    def get_selectable(self) -> bool: ...
    def get_selection_bounds(self) -> Tuple[bool, int, int]: ...
    def get_single_line_mode(self) -> bool: ...
    def get_text(self) -> str: ...
    def get_track_visited_links(self) -> bool: ...
    def get_use_markup(self) -> bool: ...
    def get_use_underline(self) -> bool: ...
    def get_width_chars(self) -> int: ...
    def get_xalign(self) -> float: ...
    def get_yalign(self) -> float: ...
    @classmethod
    def new(cls, str: Optional[str] = None) -> Label: ...
    @classmethod
    def new_with_mnemonic(cls, str: Optional[str] = None) -> Label: ...
    def select_region(self, start_offset: int, end_offset: int) -> None: ...
    def set_angle(self, angle: float) -> None: ...
    def set_attributes(self, attrs: Optional[Pango.AttrList] = None) -> None: ...
    def set_ellipsize(self, mode: Pango.EllipsizeMode) -> None: ...
    def set_justify(self, jtype: Justification) -> None: ...
    def set_label(self, str: str) -> None: ...
    def set_line_wrap(self, wrap: bool) -> None: ...
    def set_line_wrap_mode(self, wrap_mode: Pango.WrapMode) -> None: ...
    def set_lines(self, lines: int) -> None: ...
    def set_markup(self, str: str) -> None: ...
    def set_markup_with_mnemonic(self, str: str) -> None: ...
    def set_max_width_chars(self, n_chars: int) -> None: ...
    def set_mnemonic_widget(self, widget: Optional[Widget] = None) -> None: ...
    def set_pattern(self, pattern: str) -> None: ...
    def set_selectable(self, setting: bool) -> None: ...
    def set_single_line_mode(self, single_line_mode: bool) -> None: ...
    def set_text(self, str: str) -> None: ...
    def set_text_with_mnemonic(self, str: str) -> None: ...
    def set_track_visited_links(self, track_links: bool) -> None: ...
    def set_use_markup(self, setting: bool) -> None: ...
    def set_use_underline(self, setting: bool) -> None: ...
    def set_width_chars(self, n_chars: int) -> None: ...
    def set_xalign(self, xalign: float) -> None: ...
    def set_yalign(self, yalign: float) -> None: ...

class LabelAccessible(WidgetAccessible, Atk.Component, Atk.Hypertext, Atk.Text):
    """
    :Constructors:

    ::

        LabelAccessible(**properties)

    Object GtkLabelAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkText:
      text-changed (gint, gint)
      text-insert (gint, gint, gchararray)
      text-remove (gint, gint, gchararray)
      text-caret-moved (gint)
      text-selection-changed ()
      text-attributes-changed ()

    Signals from AtkHypertext:
      link-selected (gint)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: LabelAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class LabelAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LabelAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class LabelAccessiblePrivate(GObject.GPointer): ...

class LabelClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LabelClass()
    """

    parent_class: MiscClass = ...
    move_cursor: Callable[[Label, MovementStep, int, bool], None] = ...
    copy_clipboard: Callable[[Label], None] = ...
    populate_popup: Callable[[Label, Menu], None] = ...
    activate_link: Callable[[Label, str], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class LabelPrivate(GObject.GPointer): ...
class LabelSelectionInfo(GObject.GPointer): ...

class Layout(Container, Atk.ImplementorIface, Buildable, Scrollable):
    """
    :Constructors:

    ::

        Layout(**properties)
        new(hadjustment:Gtk.Adjustment=None, vadjustment:Gtk.Adjustment=None) -> Gtk.Widget

    Object GtkLayout

    Properties from GtkLayout:
      width -> guint: Width
        The width of the layout
      height -> guint: Height
        The height of the layout

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        height: int
        width: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        hadjustment: Adjustment
        hscroll_policy: ScrollablePolicy
        vadjustment: Adjustment
        vscroll_policy: ScrollablePolicy
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: LayoutPrivate = ...
    def __init__(
        self,
        height: int = ...,
        width: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscroll_policy: ScrollablePolicy = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscroll_policy: ScrollablePolicy = ...,
    ): ...
    def get_bin_window(self) -> Gdk.Window: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_size(self) -> Tuple[int, int]: ...
    def get_vadjustment(self) -> Adjustment: ...
    def move(self, child_widget: Widget, x: int, y: int) -> None: ...
    @classmethod
    def new(
        cls,
        hadjustment: Optional[Adjustment] = None,
        vadjustment: Optional[Adjustment] = None,
    ) -> Layout: ...
    def put(self, child_widget: Widget, x: int, y: int) -> None: ...
    def set_hadjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...
    def set_size(self, width: int, height: int) -> None: ...
    def set_vadjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...

class LayoutClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LayoutClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class LayoutPrivate(GObject.GPointer): ...

class LevelBar(Widget, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        LevelBar(**properties)
        new() -> Gtk.Widget
        new_for_interval(min_value:float, max_value:float) -> Gtk.Widget

    Object GtkLevelBar

    Signals from GtkLevelBar:
      offset-changed (gchararray)

    Properties from GtkLevelBar:
      value -> gdouble: Currently filled value level
        Currently filled value level of the level bar
      min-value -> gdouble: Minimum value level for the bar
        Minimum value level that can be displayed by the bar
      max-value -> gdouble: Maximum value level for the bar
        Maximum value level that can be displayed by the bar
      mode -> GtkLevelBarMode: The mode of the value indicator
        The mode of the value indicator displayed by the bar
      inverted -> gboolean: Inverted
        Invert the direction in which the level bar grows

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        inverted: bool
        max_value: float
        min_value: float
        mode: LevelBarMode
        value: float
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    parent: Widget = ...
    priv: LevelBarPrivate = ...
    def __init__(
        self,
        inverted: bool = ...,
        max_value: float = ...,
        min_value: float = ...,
        mode: LevelBarMode = ...,
        value: float = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def add_offset_value(self, name: str, value: float) -> None: ...
    def do_offset_changed(self, name: str) -> None: ...
    def get_inverted(self) -> bool: ...
    def get_max_value(self) -> float: ...
    def get_min_value(self) -> float: ...
    def get_mode(self) -> LevelBarMode: ...
    def get_offset_value(self, name: Optional[str] = None) -> Tuple[bool, float]: ...
    def get_value(self) -> float: ...
    @classmethod
    def new(cls) -> LevelBar: ...
    @classmethod
    def new_for_interval(cls, min_value: float, max_value: float) -> LevelBar: ...
    def remove_offset_value(self, name: Optional[str] = None) -> None: ...
    def set_inverted(self, inverted: bool) -> None: ...
    def set_max_value(self, value: float) -> None: ...
    def set_min_value(self, value: float) -> None: ...
    def set_mode(self, mode: LevelBarMode) -> None: ...
    def set_value(self, value: float) -> None: ...

class LevelBarAccessible(WidgetAccessible, Atk.Component, Atk.Value):
    """
    :Constructors:

    ::

        LevelBarAccessible(**properties)

    Object GtkLevelBarAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: LevelBarAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class LevelBarAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LevelBarAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class LevelBarAccessiblePrivate(GObject.GPointer): ...

class LevelBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LevelBarClass()
    """

    parent_class: WidgetClass = ...
    offset_changed: Callable[[LevelBar, str], None] = ...
    padding: list[None] = ...

class LevelBarPrivate(GObject.GPointer): ...

class LinkButton(Button, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        LinkButton(**properties)
        new(uri:str) -> Gtk.Widget
        new_with_label(uri:str, label:str=None) -> Gtk.Widget

    Object GtkLinkButton

    Signals from GtkLinkButton:
      activate-link () -> gboolean

    Properties from GtkLinkButton:
      uri -> gchararray: URI
        The URI bound to this button
      visited -> gboolean: Visited
        Whether this link has been visited.

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        uri: str
        visited: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent_instance: Button = ...
    priv: LinkButtonPrivate = ...
    def __init__(
        self,
        uri: str = ...,
        visited: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_activate_link(self) -> bool: ...
    def get_uri(self) -> str: ...
    def get_visited(self) -> bool: ...
    @classmethod
    def new(cls, uri: str) -> LinkButton: ...
    @classmethod
    def new_with_label(cls, uri: str, label: Optional[str] = None) -> LinkButton: ...
    def set_uri(self, uri: str) -> None: ...
    def set_visited(self, visited: bool) -> None: ...

class LinkButtonAccessible(
    ButtonAccessible, Atk.Action, Atk.Component, Atk.HyperlinkImpl, Atk.Image
):
    """
    :Constructors:

    ::

        LinkButtonAccessible(**properties)

    Object GtkLinkButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ButtonAccessible = ...
    priv: LinkButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class LinkButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LinkButtonAccessibleClass()
    """

    parent_class: ButtonAccessibleClass = ...

class LinkButtonAccessiblePrivate(GObject.GPointer): ...

class LinkButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LinkButtonClass()
    """

    parent_class: ButtonClass = ...
    activate_link: Callable[[LinkButton], bool] = ...
    _gtk_padding1: None = ...
    _gtk_padding2: None = ...
    _gtk_padding3: None = ...
    _gtk_padding4: None = ...

class LinkButtonPrivate(GObject.GPointer): ...

class ListBox(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        ListBox(**properties)
        new() -> Gtk.Widget

    Object GtkListBox

    Signals from GtkListBox:
      move-cursor (GtkMovementStep, gint)
      select-all ()
      unselect-all ()
      row-selected (GtkListBoxRow)
      selected-rows-changed ()
      row-activated (GtkListBoxRow)
      activate-cursor-row ()
      toggle-cursor-row ()

    Properties from GtkListBox:
      selection-mode -> GtkSelectionMode: Selection mode
        The selection mode
      activate-on-single-click -> gboolean: Activate on Single Click
        Activate row on a single click

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activate_on_single_click: bool
        selection_mode: SelectionMode
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent_instance: Container = ...
    def __init__(
        self,
        activate_on_single_click: bool = ...,
        selection_mode: SelectionMode = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    # override
    def bind_model(
        self,
        model: Optional[Gio.ListModel[Any]] = None,
        create_widget_func: Optional[Callable[..., Widget]] = None,
        *user_data: Any,
    ) -> None: ...
    def do_activate_cursor_row(self) -> None: ...
    def do_move_cursor(self, step: MovementStep, count: int) -> None: ...
    def do_row_activated(self, row: ListBoxRow) -> None: ...
    def do_row_selected(self, row: ListBoxRow) -> None: ...
    def do_select_all(self) -> None: ...
    def do_selected_rows_changed(self) -> None: ...
    def do_toggle_cursor_row(self) -> None: ...
    def do_unselect_all(self) -> None: ...
    def drag_highlight_row(self, row: ListBoxRow) -> None: ...
    def drag_unhighlight_row(self) -> None: ...
    def get_activate_on_single_click(self) -> bool: ...
    def get_adjustment(self) -> Adjustment: ...
    def get_row_at_index(self, index_: int) -> Optional[ListBoxRow]: ...
    def get_row_at_y(self, y: int) -> Optional[ListBoxRow]: ...
    # override
    def get_selected_row(self) -> Optional[ListBoxRow]: ...
    def get_selected_rows(self) -> list[ListBoxRow]: ...
    def get_selection_mode(self) -> SelectionMode: ...
    def insert(self, child: Widget, position: int) -> None: ...
    def invalidate_filter(self) -> None: ...
    def invalidate_headers(self) -> None: ...
    def invalidate_sort(self) -> None: ...
    @classmethod
    def new(cls) -> ListBox: ...
    def prepend(self, child: Widget) -> None: ...
    def select_all(self) -> None: ...
    def select_row(self, row: Optional[ListBoxRow] = None) -> None: ...
    def selected_foreach(self, func: Callable[..., None], *data: Any) -> None: ...
    def set_activate_on_single_click(self, single: bool) -> None: ...
    def set_adjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...
    def set_filter_func(
        self, filter_func: Optional[Callable[..., bool]] = None, *user_data: Any
    ) -> None: ...
    def set_header_func(
        self, update_header: Optional[Callable[..., None]] = None, *user_data: Any
    ) -> None: ...
    def set_placeholder(self, placeholder: Optional[Widget] = None) -> None: ...
    def set_selection_mode(self, mode: SelectionMode) -> None: ...
    def set_sort_func(
        self, sort_func: Optional[Callable[..., int]] = None, *user_data: Any
    ) -> None: ...
    def unselect_all(self) -> None: ...
    def unselect_row(self, row: ListBoxRow) -> None: ...

class ListBoxAccessible(ContainerAccessible, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        ListBoxAccessible(**properties)

    Object GtkListBoxAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: ListBoxAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ListBoxAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ListBoxAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class ListBoxAccessiblePrivate(GObject.GPointer): ...

class ListBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ListBoxClass()
    """

    parent_class: ContainerClass = ...
    row_selected: Callable[[ListBox, ListBoxRow], None] = ...
    row_activated: Callable[[ListBox, ListBoxRow], None] = ...
    activate_cursor_row: Callable[[ListBox], None] = ...
    toggle_cursor_row: Callable[[ListBox], None] = ...
    move_cursor: Callable[[ListBox, MovementStep, int], None] = ...
    selected_rows_changed: Callable[[ListBox], None] = ...
    select_all: Callable[[ListBox], None] = ...
    unselect_all: Callable[[ListBox], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...

class ListBoxRow(Bin, Atk.ImplementorIface, Actionable, Buildable):
    """
    :Constructors:

    ::

        ListBoxRow(**properties)
        new() -> Gtk.Widget

    Object GtkListBoxRow

    Signals from GtkListBoxRow:
      activate ()

    Properties from GtkListBoxRow:
      activatable -> gboolean: Activatable
        Whether this row can be activated
      selectable -> gboolean: Selectable
        Whether this row can be selected

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activatable: bool
        selectable: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        child: Widget

    props: Props = ...
    parent_instance: Bin = ...
    def __init__(
        self,
        activatable: bool = ...,
        selectable: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
    ): ...
    def changed(self) -> None: ...
    def do_activate(self) -> None: ...
    def get_activatable(self) -> bool: ...
    def get_header(self) -> Optional[Widget]: ...
    def get_index(self) -> int: ...
    def get_selectable(self) -> bool: ...
    def is_selected(self) -> bool: ...
    @classmethod
    def new(cls) -> ListBoxRow: ...
    def set_activatable(self, activatable: bool) -> None: ...
    def set_header(self, header: Optional[Widget] = None) -> None: ...
    def set_selectable(self, selectable: bool) -> None: ...

class ListBoxRowAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        ListBoxRowAccessible(**properties)

    Object GtkListBoxRowAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ListBoxRowAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ListBoxRowAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class ListBoxRowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ListBoxRowClass()
    """

    parent_class: BinClass = ...
    activate: Callable[[ListBoxRow], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...

# override
class ListStore(
    GObject.Object, Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable
):
    """
    :Constructors:

    ::

        ListStore(**properties)
        new(types:list) -> Gtk.ListStore

    Object GtkListStore

    Signals from GtkTreeModel:
      row-changed (GtkTreePath, GtkTreeIter)
      row-inserted (GtkTreePath, GtkTreeIter)
      row-has-child-toggled (GtkTreePath, GtkTreeIter)
      row-deleted (GtkTreePath)
      rows-reordered (GtkTreePath, GtkTreeIter, gpointer)

    Signals from GtkTreeSortable:
      sort-column-changed ()

    Signals from GObject:
      notify (GParam)
    """

    parent: GObject.Object = ...
    priv: ListStorePrivate = ...

    def __init__(self, *args: Any) -> None: ...
    def append(
        self, row: Union[list[Any], tuple[Any, ...], None] = None
    ) -> TreeIter: ...
    def clear(self) -> None: ...
    def insert(self, *args, **kwargs): ...
    def insert_after(self, *args, **kwargs): ...
    def insert_before(self, *args, **kwargs): ...
    def insert_with_values(
        self, position: int, columns: Sequence[int], values: Sequence[Any]
    ) -> TreeIter: ...
    def insert_with_valuesv(
        self, position: int, columns: Sequence[int], values: Sequence[Any]
    ) -> TreeIter: ...
    def iter_is_valid(self, iter: TreeIter) -> bool: ...
    def move_after(
        self, iter: TreeIter, position: Optional[TreeIter] = None
    ) -> None: ...
    def move_before(
        self, iter: TreeIter, position: Optional[TreeIter] = None
    ) -> None: ...
    @classmethod
    def new(cls, n_columns: int, types: Sequence[Type]) -> ListStore: ...
    def prepend(self, row: Optional[list[Any]] = None) -> TreeIter: ...
    def remove(self, iter: TreeIter) -> bool: ...
    def reorder(self, new_order: Sequence[int]) -> None: ...
    @overload
    def set(self, iter: TreeIter, columns: list[int], values: list[Any]) -> None: ...
    @overload
    def set(self, iter: TreeIter, columns: tuple[int], values: tuple[Any]) -> None: ...
    @overload
    def set(self, iter: TreeIter, *args: dict[int, Any]) -> None: ...
    @overload
    def set(self, iter: TreeIter, *args: Any) -> None: ...
    def set_column_types(self, n_columns: int, types: Sequence[Type]) -> None: ...
    def set_value(self, iter: TreeIter, column: int, value: Any) -> None: ...
    def swap(self, a: TreeIter, b: TreeIter) -> None: ...

class ListStoreClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ListStoreClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ListStorePrivate(GObject.GPointer): ...

class LockButton(Button, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        LockButton(**properties)
        new(permission:Gio.Permission=None) -> Gtk.Widget

    Object GtkLockButton

    Properties from GtkLockButton:
      permission -> GPermission: Permission
        The GPermission object controlling this button
      text-lock -> gchararray: Lock Text
        The text to display when prompting the user to lock
      text-unlock -> gchararray: Unlock Text
        The text to display when prompting the user to unlock
      tooltip-lock -> gchararray: Lock Tooltip
        The tooltip to display when prompting the user to lock
      tooltip-unlock -> gchararray: Unlock Tooltip
        The tooltip to display when prompting the user to unlock
      tooltip-not-authorized -> gchararray: Not Authorized Tooltip
        The tooltip to display when prompting the user cannot obtain authorization

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        permission: Gio.Permission
        text_lock: str
        text_unlock: str
        tooltip_lock: str
        tooltip_not_authorized: str
        tooltip_unlock: str
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: Button = ...
    priv: LockButtonPrivate = ...
    def __init__(
        self,
        permission: Optional[Gio.Permission] = ...,
        text_lock: str = ...,
        text_unlock: str = ...,
        tooltip_lock: str = ...,
        tooltip_not_authorized: str = ...,
        tooltip_unlock: str = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def get_permission(self) -> Gio.Permission: ...
    @classmethod
    def new(cls, permission: Optional[Gio.Permission] = None) -> LockButton: ...
    def set_permission(self, permission: Optional[Gio.Permission] = None) -> None: ...

class LockButtonAccessible(ButtonAccessible, Atk.Action, Atk.Component, Atk.Image):
    """
    :Constructors:

    ::

        LockButtonAccessible(**properties)

    Object GtkLockButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ButtonAccessible = ...
    priv: LockButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class LockButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LockButtonAccessibleClass()
    """

    parent_class: ButtonAccessibleClass = ...

class LockButtonAccessiblePrivate(GObject.GPointer): ...

class LockButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        LockButtonClass()
    """

    parent_class: ButtonClass = ...
    reserved0: Callable[[], None] = ...
    reserved1: Callable[[], None] = ...
    reserved2: Callable[[], None] = ...
    reserved3: Callable[[], None] = ...
    reserved4: Callable[[], None] = ...
    reserved5: Callable[[], None] = ...
    reserved6: Callable[[], None] = ...
    reserved7: Callable[[], None] = ...

class LockButtonPrivate(GObject.GPointer): ...

class Menu(MenuShell, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Menu(**properties)
        new() -> Gtk.Widget
        new_from_model(model:Gio.MenuModel) -> Gtk.Widget

    Object GtkMenu

    Signals from GtkMenu:
      move-scroll (GtkScrollType)
      popped-up (gpointer, gpointer, gboolean, gboolean)

    Properties from GtkMenu:
      active -> gint: Active
        The currently selected menu item
      accel-group -> GtkAccelGroup: Accel Group
        The accel group holding accelerators for the menu
      accel-path -> gchararray: Accel Path
        An accel path used to conveniently construct accel paths of child items
      attach-widget -> GtkWidget: Attach Widget
        The widget the menu is attached to
      tearoff-state -> gboolean: Tearoff State
        A boolean that indicates whether the menu is torn-off
      tearoff-title -> gchararray: Tearoff Title
        A title that may be displayed by the window manager when this menu is torn-off
      monitor -> gint: Monitor
        The monitor the menu will be popped up on
      reserve-toggle-size -> gboolean: Reserve Toggle Size
        A boolean that indicates whether the menu reserves space for toggles and icons
      anchor-hints -> GdkAnchorHints: Anchor hints
        Positioning hints for when the menu might fall off-screen
      rect-anchor-dx -> gint: Rect anchor dx
        Rect anchor horizontal offset
      rect-anchor-dy -> gint: Rect anchor dy
        Rect anchor vertical offset
      menu-type-hint -> GdkWindowTypeHint: Menu type hint
        Menu window type hint

    Signals from GtkMenuShell:
      cancel ()
      deactivate ()
      selection-done ()
      move-current (GtkMenuDirectionType)
      activate-current (gboolean)
      cycle-focus (GtkDirectionType)
      move-selected (gint) -> gboolean
      insert (GtkWidget, gint)

    Properties from GtkMenuShell:
      take-focus -> gboolean: Take Focus
        A boolean that determines whether the menu grabs the keyboard focus

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_group: AccelGroup
        accel_path: str
        active: int
        anchor_hints: Gdk.AnchorHints
        attach_widget: Widget
        menu_type_hint: Gdk.WindowTypeHint
        monitor: int
        rect_anchor_dx: int
        rect_anchor_dy: int
        reserve_toggle_size: bool
        tearoff_state: bool
        tearoff_title: str
        take_focus: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    menu_shell: MenuShell = ...
    priv: MenuPrivate = ...
    def __init__(
        self,
        accel_group: Optional[AccelGroup] = ...,
        accel_path: Optional[str] = ...,
        active: int = ...,
        anchor_hints: Gdk.AnchorHints = ...,
        attach_widget: Widget = ...,
        menu_type_hint: Gdk.WindowTypeHint = ...,
        monitor: int = ...,
        rect_anchor_dx: int = ...,
        rect_anchor_dy: int = ...,
        reserve_toggle_size: bool = ...,
        tearoff_state: bool = ...,
        tearoff_title: str = ...,
        take_focus: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def attach(
        self,
        child: Widget,
        left_attach: int,
        right_attach: int,
        top_attach: int,
        bottom_attach: int,
    ) -> None: ...
    def attach_to_widget(
        self,
        attach_widget: Widget,
        detacher: Optional[Callable[[Widget, Menu], None]] = None,
    ) -> None: ...
    def detach(self) -> None: ...
    def get_accel_group(self) -> AccelGroup: ...
    def get_accel_path(self) -> str: ...
    def get_active(self) -> Widget: ...
    def get_attach_widget(self) -> Widget: ...
    @staticmethod
    def get_for_attach_widget(widget: Widget) -> list[Widget]: ...
    def get_monitor(self) -> int: ...
    def get_reserve_toggle_size(self) -> bool: ...
    def get_tearoff_state(self) -> bool: ...
    def get_title(self) -> str: ...
    @classmethod
    def new(cls) -> Menu: ...
    @classmethod
    def new_from_model(cls, model: Gio.MenuModel) -> Menu: ...
    def place_on_monitor(self, monitor: Gdk.Monitor) -> None: ...
    def popdown(self) -> None: ...
    # override
    def popup(
        self,
        parent_menu_shell: Optional[Widget],
        parent_menu_item: Optional[Widget],
        func: Optional[Callable[..., Any]],
        data: Optional[Any],
        button: int,
        activate_time: int,
    ) -> None: ...
    def popup_at_pointer(self, trigger_event: Optional[Gdk.Event] = None) -> None: ...
    def popup_at_rect(
        self,
        rect_window: Gdk.Window,
        rect: Gdk.Rectangle,
        rect_anchor: Gdk.Gravity,
        menu_anchor: Gdk.Gravity,
        trigger_event: Optional[Gdk.Event] = None,
    ) -> None: ...
    def popup_at_widget(
        self,
        widget: Widget,
        widget_anchor: Gdk.Gravity,
        menu_anchor: Gdk.Gravity,
        trigger_event: Optional[Gdk.Event] = None,
    ) -> None: ...
    def popup_for_device(
        self,
        device: Optional[Gdk.Device],
        parent_menu_shell: Optional[Widget],
        parent_menu_item: Optional[Widget],
        func: Optional[Callable[..., Tuple[int, int, bool]]],
        button: int,
        activate_time: int,
        *data: Any,
    ) -> None: ...
    def reorder_child(self, child: Widget, position: int) -> None: ...
    def reposition(self) -> None: ...
    def set_accel_group(self, accel_group: Optional[AccelGroup] = None) -> None: ...
    def set_accel_path(self, accel_path: Optional[str] = None) -> None: ...
    def set_active(self, index: int) -> None: ...
    def set_monitor(self, monitor_num: int) -> None: ...
    def set_reserve_toggle_size(self, reserve_toggle_size: bool) -> None: ...
    def set_screen(self, screen: Optional[Gdk.Screen] = None) -> None: ...
    def set_tearoff_state(self, torn_off: bool) -> None: ...
    def set_title(self, title: Optional[str] = None) -> None: ...

class MenuAccessible(MenuShellAccessible, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        MenuAccessible(**properties)

    Object GtkMenuAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: MenuShellAccessible = ...
    priv: MenuAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class MenuAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuAccessibleClass()
    """

    parent_class: MenuShellAccessibleClass = ...

class MenuAccessiblePrivate(GObject.GPointer): ...

class MenuBar(MenuShell, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        MenuBar(**properties)
        new() -> Gtk.Widget
        new_from_model(model:Gio.MenuModel) -> Gtk.Widget

    Object GtkMenuBar

    Properties from GtkMenuBar:
      pack-direction -> GtkPackDirection: Pack direction
        The pack direction of the menubar
      child-pack-direction -> GtkPackDirection: Child Pack direction
        The child pack direction of the menubar

    Signals from GtkMenuShell:
      cancel ()
      deactivate ()
      selection-done ()
      move-current (GtkMenuDirectionType)
      activate-current (gboolean)
      cycle-focus (GtkDirectionType)
      move-selected (gint) -> gboolean
      insert (GtkWidget, gint)

    Properties from GtkMenuShell:
      take-focus -> gboolean: Take Focus
        A boolean that determines whether the menu grabs the keyboard focus

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        child_pack_direction: PackDirection
        pack_direction: PackDirection
        take_focus: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    menu_shell: MenuShell = ...
    priv: MenuBarPrivate = ...
    def __init__(
        self,
        child_pack_direction: PackDirection = ...,
        pack_direction: PackDirection = ...,
        take_focus: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_child_pack_direction(self) -> PackDirection: ...
    def get_pack_direction(self) -> PackDirection: ...
    @classmethod
    def new(cls) -> MenuBar: ...
    @classmethod
    def new_from_model(cls, model: Gio.MenuModel) -> MenuBar: ...
    def set_child_pack_direction(self, child_pack_dir: PackDirection) -> None: ...
    def set_pack_direction(self, pack_dir: PackDirection) -> None: ...

class MenuBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuBarClass()
    """

    parent_class: MenuShellClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MenuBarPrivate(GObject.GPointer): ...

class MenuButton(
    ToggleButton, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        MenuButton(**properties)
        new() -> Gtk.Widget

    Object GtkMenuButton

    Properties from GtkMenuButton:
      popup -> GtkMenu: Popup
        The dropdown menu.
      menu-model -> GMenuModel: Menu model
        The model from which the popup is made.
      align-widget -> GtkContainer: Align with
        The parent widget which the menu should align with.
      direction -> GtkArrowType: Direction
        The direction the arrow should point.
      use-popover -> gboolean: Use a popover
        Use a popover instead of a menu
      popover -> GtkPopover: Popover
        The popover

    Signals from GtkToggleButton:
      toggled ()

    Properties from GtkToggleButton:
      active -> gboolean: Active
        If the toggle button should be pressed in
      inconsistent -> gboolean: Inconsistent
        If the toggle button is in an "in between" state
      draw-indicator -> gboolean: Draw Indicator
        If the toggle part of the button is displayed

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        align_widget: Optional[Container]
        direction: ArrowType
        menu_model: Optional[Gio.MenuModel]
        popover: Optional[Popover]
        popup: Optional[Menu]
        use_popover: bool
        active: bool
        draw_indicator: bool
        inconsistent: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: ToggleButton = ...
    priv: MenuButtonPrivate = ...
    def __init__(
        self,
        align_widget: Optional[Container] = ...,
        direction: ArrowType = ...,
        menu_model: Optional[Gio.MenuModel] = ...,
        popover: Optional[Popover] = ...,
        popup: Optional[Menu] = ...,
        use_popover: bool = ...,
        active: bool = ...,
        draw_indicator: bool = ...,
        inconsistent: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def get_align_widget(self) -> Optional[Widget]: ...
    def get_direction(self) -> ArrowType: ...
    def get_menu_model(self) -> Optional[Gio.MenuModel]: ...
    def get_popover(self) -> Optional[Popover]: ...
    def get_popup(self) -> Optional[Menu]: ...
    def get_use_popover(self) -> bool: ...
    @classmethod
    def new(cls) -> MenuButton: ...
    def set_align_widget(self, align_widget: Optional[Widget] = None) -> None: ...
    def set_direction(self, direction: ArrowType) -> None: ...
    def set_menu_model(self, menu_model: Optional[Gio.MenuModel] = None) -> None: ...
    def set_popover(self, popover: Optional[Widget] = None) -> None: ...
    def set_popup(self, menu: Optional[Widget] = None) -> None: ...
    def set_use_popover(self, use_popover: bool) -> None: ...

class MenuButtonAccessible(
    ToggleButtonAccessible, Atk.Action, Atk.Component, Atk.Image
):
    """
    :Constructors:

    ::

        MenuButtonAccessible(**properties)

    Object GtkMenuButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ToggleButtonAccessible = ...
    priv: MenuButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class MenuButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuButtonAccessibleClass()
    """

    parent_class: ToggleButtonAccessibleClass = ...

class MenuButtonAccessiblePrivate(GObject.GPointer): ...

class MenuButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuButtonClass()
    """

    parent_class: ToggleButtonClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MenuButtonPrivate(GObject.GPointer): ...

class MenuClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuClass()
    """

    parent_class: MenuShellClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MenuItem(Bin, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        MenuItem(**properties)
        new() -> Gtk.Widget
        new_with_label(label:str) -> Gtk.Widget
        new_with_mnemonic(label:str) -> Gtk.Widget

    Object GtkMenuItem

    Signals from GtkMenuItem:
      activate ()
      activate-item ()
      toggle-size-request (gpointer)
      toggle-size-allocate (gint)
      select ()
      deselect ()

    Properties from GtkMenuItem:
      right-justified -> gboolean: Right Justified
        Sets whether the menu item appears justified at the right side of a menu bar
      submenu -> GtkMenu: Submenu
        The submenu attached to the menu item, or NULL if it has none
      accel-path -> gchararray: Accel Path
        Sets the accelerator path of the menu item
      label -> gchararray: Label
        The text for the child label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_path: Optional[str]
        label: str
        right_justified: bool
        submenu: Optional[Menu]
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: MenuItemPrivate = ...
    def __init__(
        self,
        accel_path: Optional[str] = ...,
        label: str = ...,
        right_justified: bool = ...,
        submenu: Optional[Menu] = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def activate(self) -> None: ...
    def deselect(self) -> None: ...
    def do_activate(self) -> None: ...
    def do_activate_item(self) -> None: ...
    def do_deselect(self) -> None: ...
    def do_get_label(self) -> str: ...
    def do_select(self) -> None: ...
    def do_set_label(self, label: str) -> None: ...
    def do_toggle_size_allocate(self, allocation: int) -> None: ...
    def do_toggle_size_request(self) -> int: ...
    def get_accel_path(self) -> Optional[str]: ...
    def get_label(self) -> str: ...
    def get_reserve_indicator(self) -> bool: ...
    def get_right_justified(self) -> bool: ...
    def get_submenu(self) -> Optional[Widget]: ...
    def get_use_underline(self) -> bool: ...
    @classmethod
    def new(cls) -> MenuItem: ...
    @classmethod
    def new_with_label(cls, label: str) -> MenuItem: ...
    @classmethod
    def new_with_mnemonic(cls, label: str) -> MenuItem: ...
    def select(self) -> None: ...
    def set_accel_path(self, accel_path: Optional[str] = None) -> None: ...
    def set_label(self, label: str) -> None: ...
    def set_reserve_indicator(self, reserve: bool) -> None: ...
    def set_right_justified(self, right_justified: bool) -> None: ...
    def set_submenu(self, submenu: Optional[Menu] = None) -> None: ...
    def set_use_underline(self, setting: bool) -> None: ...
    def toggle_size_allocate(self, allocation: int) -> None: ...
    def toggle_size_request(self) -> int: ...

class MenuItemAccessible(ContainerAccessible, Atk.Action, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        MenuItemAccessible(**properties)

    Object GtkMenuItemAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: MenuItemAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class MenuItemAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuItemAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class MenuItemAccessiblePrivate(GObject.GPointer): ...

class MenuItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuItemClass()
    """

    parent_class: BinClass = ...
    hide_on_activate: int = ...
    activate: Callable[[MenuItem], None] = ...
    activate_item: Callable[[MenuItem], None] = ...
    toggle_size_request: Callable[[MenuItem], int] = ...
    toggle_size_allocate: Callable[[MenuItem, int], None] = ...
    set_label: Callable[[MenuItem, str], None] = ...
    get_label: Callable[[MenuItem], str] = ...
    select: Callable[[MenuItem], None] = ...
    deselect: Callable[[MenuItem], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MenuItemPrivate(GObject.GPointer): ...
class MenuPrivate(GObject.GPointer): ...

class MenuShell(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        MenuShell(**properties)

    Object GtkMenuShell

    Signals from GtkMenuShell:
      cancel ()
      deactivate ()
      selection-done ()
      move-current (GtkMenuDirectionType)
      activate-current (gboolean)
      cycle-focus (GtkDirectionType)
      move-selected (gint) -> gboolean
      insert (GtkWidget, gint)

    Properties from GtkMenuShell:
      take-focus -> gboolean: Take Focus
        A boolean that determines whether the menu grabs the keyboard focus

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        take_focus: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: MenuShellPrivate = ...
    def __init__(
        self,
        take_focus: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def activate_item(self, menu_item: Widget, force_deactivate: bool) -> None: ...
    def append(self, child: MenuItem) -> None: ...
    def bind_model(
        self,
        model: Optional[Gio.MenuModel],
        action_namespace: Optional[str],
        with_separators: bool,
    ) -> None: ...
    def cancel(self) -> None: ...
    def deactivate(self) -> None: ...
    def deselect(self) -> None: ...
    def do_activate_current(self, force_hide: bool) -> None: ...
    def do_cancel(self) -> None: ...
    def do_deactivate(self) -> None: ...
    def do_get_popup_delay(self) -> int: ...
    def do_insert(self, child: Widget, position: int) -> None: ...
    def do_move_current(self, direction: MenuDirectionType) -> None: ...
    def do_move_selected(self, distance: int) -> bool: ...
    def do_select_item(self, menu_item: Widget) -> None: ...
    def do_selection_done(self) -> None: ...
    def get_parent_shell(self) -> Widget: ...
    def get_selected_item(self) -> Widget: ...
    def get_take_focus(self) -> bool: ...
    def insert(self, child: Widget, position: int) -> None: ...
    def prepend(self, child: Widget) -> None: ...
    def select_first(self, search_sensitive: bool) -> None: ...
    def select_item(self, menu_item: Widget) -> None: ...
    def set_take_focus(self, take_focus: bool) -> None: ...

class MenuShellAccessible(ContainerAccessible, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        MenuShellAccessible(**properties)

    Object GtkMenuShellAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: MenuShellAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class MenuShellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuShellAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class MenuShellAccessiblePrivate(GObject.GPointer): ...

class MenuShellClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuShellClass()
    """

    parent_class: ContainerClass = ...
    submenu_placement: int = ...
    deactivate: Callable[[MenuShell], None] = ...
    selection_done: Callable[[MenuShell], None] = ...
    move_current: Callable[[MenuShell, MenuDirectionType], None] = ...
    activate_current: Callable[[MenuShell, bool], None] = ...
    cancel: Callable[[MenuShell], None] = ...
    select_item: Callable[[MenuShell, Widget], None] = ...
    insert: Callable[[MenuShell, Widget, int], None] = ...
    get_popup_delay: Callable[[MenuShell], int] = ...
    move_selected: Callable[[MenuShell, int], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MenuShellPrivate(GObject.GPointer): ...

class MenuToolButton(
    ToolButton, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        MenuToolButton(**properties)
        new(icon_widget:Gtk.Widget=None, label:str=None) -> Gtk.ToolItem
        new_from_stock(stock_id:str) -> Gtk.ToolItem

    Object GtkMenuToolButton

    Signals from GtkMenuToolButton:
      show-menu ()

    Properties from GtkMenuToolButton:
      menu -> GtkMenu: Menu
        The dropdown menu

    Signals from GtkToolButton:
      clicked ()

    Properties from GtkToolButton:
      label -> gchararray: Label
        Text to show in the item.
      use-underline -> gboolean: Use underline
        If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu
      label-widget -> GtkWidget: Label widget
        Widget to use as the item label
      stock-id -> gchararray: Stock Id
        The stock icon displayed on the item
      icon-name -> gchararray: Icon name
        The name of the themed icon displayed on the item
      icon-widget -> GtkWidget: Icon widget
        Icon widget to display in the item

    Signals from GtkToolItem:
      create-menu-proxy () -> gboolean
      toolbar-reconfigured ()

    Properties from GtkToolItem:
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      is-important -> gboolean: Is important
        Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        menu: Menu
        icon_name: Optional[str]
        icon_widget: Optional[Widget]
        label: Optional[str]
        label_widget: Optional[Widget]
        stock_id: str
        use_underline: bool
        is_important: bool
        visible_horizontal: bool
        visible_vertical: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: ToolButton = ...
    priv: MenuToolButtonPrivate = ...
    def __init__(
        self,
        menu: Menu = ...,
        icon_name: Optional[str] = ...,
        icon_widget: Optional[Widget] = ...,
        label: Optional[str] = ...,
        label_widget: Optional[Widget] = ...,
        stock_id: Optional[str] = ...,
        use_underline: bool = ...,
        is_important: bool = ...,
        visible_horizontal: bool = ...,
        visible_vertical: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_show_menu(self) -> None: ...
    def get_menu(self) -> Widget: ...
    @classmethod
    def new(
        cls, icon_widget: Optional[Widget] = None, label: Optional[str] = None
    ) -> MenuToolButton: ...
    @classmethod
    def new_from_stock(cls, stock_id: str) -> MenuToolButton: ...
    def set_arrow_tooltip_markup(self, markup: str) -> None: ...
    def set_arrow_tooltip_text(self, text: str) -> None: ...
    def set_menu(self, menu: Widget) -> None: ...

class MenuToolButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MenuToolButtonClass()
    """

    parent_class: ToolButtonClass = ...
    show_menu: Callable[[MenuToolButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MenuToolButtonPrivate(GObject.GPointer): ...

class MessageDialog(Dialog, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        MessageDialog(**properties)

    Object GtkMessageDialog

    Properties from GtkMessageDialog:
      message-type -> GtkMessageType: Message Type
        The type of message
      buttons -> GtkButtonsType: Message Buttons
        The buttons shown in the message dialog
      text -> gchararray: Text
        The primary text of the message dialog
      use-markup -> gboolean: Use Markup
        The primary text of the title includes Pango markup.
      secondary-text -> gchararray: Secondary Text
        The secondary text of the message dialog
      secondary-use-markup -> gboolean: Use Markup in secondary
        The secondary text includes Pango markup.
      image -> GtkWidget: Image
        The image
      message-area -> GtkWidget: Message area
        GtkBox that holds the dialog's primary and secondary labels

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        image: Widget
        message_area: Widget
        message_type: MessageType
        secondary_text: str
        secondary_use_markup: bool
        text: str
        use_markup: bool
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        buttons: ButtonsType
        startup_id: str
        child: Widget

    props: Props = ...
    parent_instance: Dialog = ...
    priv: MessageDialogPrivate = ...
    def __init__(
        self,
        buttons: ButtonsType = ...,
        image: Widget = ...,
        message_type: MessageType = ...,
        secondary_text: str = ...,
        secondary_use_markup: bool = ...,
        text: str = ...,
        use_markup: bool = ...,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    # override
    def format_secondary_markup(self, message_format: str) -> None: ...
    # override
    def format_secondary_text(self, message_format: str) -> None: ...
    def get_image(self) -> Widget: ...
    def get_message_area(self) -> Widget: ...
    def set_image(self, image: Widget) -> None: ...
    def set_markup(self, str: str) -> None: ...

class MessageDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MessageDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MessageDialogPrivate(GObject.GPointer): ...

class Misc(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Misc(**properties)

    Object GtkMisc

    Properties from GtkMisc:
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      yalign -> gfloat: Y align
        The vertical alignment, from 0 (top) to 1 (bottom)
      xpad -> gint: X pad
        The amount of space to add on the left and right of the widget, in pixels
      ypad -> gint: Y pad
        The amount of space to add on the top and bottom of the widget, in pixels

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        xalign: float
        xpad: int
        yalign: float
        ypad: int
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    widget: Widget = ...
    priv: MiscPrivate = ...
    def __init__(
        self,
        xalign: float = ...,
        xpad: int = ...,
        yalign: float = ...,
        ypad: int = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_alignment(self) -> Tuple[float, float]: ...
    def get_padding(self) -> Tuple[int, int]: ...
    def set_alignment(self, xalign: float, yalign: float) -> None: ...
    def set_padding(self, xpad: int, ypad: int) -> None: ...

class MiscClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MiscClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MiscPrivate(GObject.GPointer): ...

class ModelButton(Button, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        ModelButton(**properties)
        new() -> Gtk.Widget

    Object GtkModelButton

    Properties from GtkModelButton:
      role -> GtkButtonRole: Role
        The role of this button
      icon -> GIcon: Icon
        The icon
      text -> gchararray: Text
        The text
      use-markup -> gboolean: Use markup
        The text of the button includes XML markup. See pango_parse_markup()
      active -> gboolean: Active
        Active
      menu-name -> gchararray: Menu name
        The name of the menu to open
      inverted -> gboolean: Inverted
        Whether the menu is a parent
      centered -> gboolean: Centered
        Whether to center the contents
      iconic -> gboolean: Iconic
        Whether to prefer the icon over text

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        centered: bool
        icon: Gio.Icon
        iconic: bool
        inverted: bool
        menu_name: str
        role: ButtonRole
        text: str
        use_markup: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    def __init__(
        self,
        active: bool = ...,
        centered: bool = ...,
        icon: Gio.Icon = ...,
        iconic: bool = ...,
        inverted: bool = ...,
        menu_name: str = ...,
        role: ButtonRole = ...,
        text: str = ...,
        use_markup: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    @classmethod
    def new(cls) -> ModelButton: ...

class MountOperation(Gio.MountOperation):
    """
    :Constructors:

    ::

        MountOperation(**properties)
        new(parent:Gtk.Window=None) -> Gio.MountOperation

    Object GtkMountOperation

    Properties from GtkMountOperation:
      parent -> GtkWindow: Parent
        The parent window
      is-showing -> gboolean: Is Showing
        Are we showing a dialog
      screen -> GdkScreen: Screen
        The screen where this window will be displayed.

    Signals from GMountOperation:
      ask-password (gchararray, gchararray, gchararray, GAskPasswordFlags)
      ask-question (gchararray, GStrv)
      reply (GMountOperationResult)
      aborted ()
      show-processes (gchararray, GArray, GStrv)
      show-unmount-progress (gchararray, gint64, gint64)

    Properties from GMountOperation:
      username -> gchararray: Username
        The user name
      password -> gchararray: Password
        The password
      anonymous -> gboolean: Anonymous
        Whether to use an anonymous user
      domain -> gchararray: Domain
        The domain of the mount operation
      password-save -> GPasswordSave: Password save
        How passwords should be saved
      choice -> gint: Choice
        The users choice
      is-tcrypt-hidden-volume -> gboolean: TCRYPT Hidden Volume
        Whether to unlock a TCRYPT hidden volume. See https://www.veracrypt.fr/en/Hidden%20Volume.html.
      is-tcrypt-system-volume -> gboolean: TCRYPT System Volume
        Whether to unlock a TCRYPT system volume. Only supported for unlocking Windows system volumes. See https://www.veracrypt.fr/en/System%20Encryption.html.
      pim -> guint: PIM
        The VeraCrypt PIM value

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        is_showing: bool
        parent: Window
        screen: Gdk.Screen
        anonymous: bool
        choice: int
        domain: Optional[str]
        is_tcrypt_hidden_volume: bool
        is_tcrypt_system_volume: bool
        password: Optional[str]
        password_save: Gio.PasswordSave
        pim: int
        username: Optional[str]

    props: Props = ...
    parent_instance: Gio.MountOperation = ...
    priv: MountOperationPrivate = ...
    def __init__(
        self,
        parent: Optional[Window] = ...,
        screen: Gdk.Screen = ...,
        anonymous: bool = ...,
        choice: int = ...,
        domain: Optional[str] = ...,
        is_tcrypt_hidden_volume: bool = ...,
        is_tcrypt_system_volume: bool = ...,
        password: Optional[str] = ...,
        password_save: Gio.PasswordSave = ...,
        pim: int = ...,
        username: Optional[str] = ...,
    ): ...
    def get_parent(self) -> Window: ...
    def get_screen(self) -> Gdk.Screen: ...
    def is_showing(self) -> bool: ...
    @classmethod
    def new(cls, parent: Optional[Window] = None) -> MountOperation: ...
    def set_parent(self, parent: Optional[Window] = None) -> None: ...
    def set_screen(self, screen: Gdk.Screen) -> None: ...

class MountOperationClass(GObject.GPointer):
    """
    :Constructors:

    ::

        MountOperationClass()
    """

    parent_class: Gio.MountOperationClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class MountOperationPrivate(GObject.GPointer): ...

class NativeDialog(GObject.Object):
    """
    :Constructors:

    ::

        NativeDialog(**properties)

    Object GtkNativeDialog

    Signals from GtkNativeDialog:
      response (gint)

    Properties from GtkNativeDialog:
      title -> gchararray: Dialog Title
        The title of the file chooser dialog
      visible -> gboolean: Visible
        Whether the dialog is currently visible
      modal -> gboolean: Modal
        If TRUE, the dialog is modal (other windows are not usable while this one is up)
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        modal: bool
        title: Optional[str]
        transient_for: Optional[Window]
        visible: bool

    props: Props = ...
    parent_instance: GObject.Object = ...
    def __init__(
        self,
        modal: bool = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        visible: bool = ...,
    ): ...
    def destroy(self) -> None: ...
    def do_hide(self) -> None: ...
    def do_response(self, response_id: int) -> None: ...
    def do_show(self) -> None: ...
    def get_modal(self) -> bool: ...
    def get_title(self) -> Optional[str]: ...
    def get_transient_for(self) -> Optional[Window]: ...
    def get_visible(self) -> bool: ...
    def hide(self) -> None: ...
    def run(self) -> int: ...
    def set_modal(self, modal: bool) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_transient_for(self, parent: Optional[Window] = None) -> None: ...
    def show(self) -> None: ...

class NativeDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        NativeDialogClass()
    """

    parent_class: GObject.ObjectClass = ...
    response: Callable[[NativeDialog, int], None] = ...
    show: Callable[[NativeDialog], None] = ...
    hide: Callable[[NativeDialog], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class Notebook(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Notebook(**properties)
        new() -> Gtk.Widget

    Object GtkNotebook

    Signals from GtkNotebook:
      switch-page (GtkWidget, guint)
      focus-tab (GtkNotebookTab) -> gboolean
      select-page (gboolean) -> gboolean
      change-current-page (gint) -> gboolean
      move-focus-out (GtkDirectionType)
      reorder-tab (GtkDirectionType, gboolean) -> gboolean
      page-reordered (GtkWidget, guint)
      page-removed (GtkWidget, guint)
      page-added (GtkWidget, guint)
      create-window (GtkWidget, gint, gint) -> GtkNotebook

    Properties from GtkNotebook:
      tab-pos -> GtkPositionType: Tab Position
        Which side of the notebook holds the tabs
      show-tabs -> gboolean: Show Tabs
        Whether tabs should be shown
      show-border -> gboolean: Show Border
        Whether the border should be shown
      scrollable -> gboolean: Scrollable
        If TRUE, scroll arrows are added if there are too many tabs to fit
      page -> gint: Page
        The index of the current page
      enable-popup -> gboolean: 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
      group-name -> gchararray: Group Name
        Group name for tab drag and drop

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        enable_popup: bool
        group_name: Optional[str]
        page: int
        scrollable: bool
        show_border: bool
        show_tabs: bool
        tab_pos: PositionType
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: NotebookPrivate = ...
    def __init__(
        self,
        enable_popup: bool = ...,
        group_name: Optional[str] = ...,
        page: int = ...,
        scrollable: bool = ...,
        show_border: bool = ...,
        show_tabs: bool = ...,
        tab_pos: PositionType = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def append_page(self, child: Widget, tab_label: Optional[Widget] = None) -> int: ...
    def append_page_menu(
        self,
        child: Widget,
        tab_label: Optional[Widget] = None,
        menu_label: Optional[Widget] = None,
    ) -> int: ...
    def detach_tab(self, child: Widget) -> None: ...
    def do_change_current_page(self, offset: int) -> bool: ...
    def do_focus_tab(self, type: NotebookTab) -> bool: ...
    def do_insert_page(
        self, child: Widget, tab_label: Widget, menu_label: Widget, position: int
    ) -> int: ...
    def do_move_focus_out(self, direction: DirectionType) -> None: ...
    def do_page_added(self, child: Widget, page_num: int) -> None: ...
    def do_page_removed(self, child: Widget, page_num: int) -> None: ...
    def do_page_reordered(self, child: Widget, page_num: int) -> None: ...
    def do_reorder_tab(self, direction: DirectionType, move_to_last: bool) -> bool: ...
    def do_select_page(self, move_focus: bool) -> bool: ...
    def do_switch_page(self, page: Widget, page_num: int) -> None: ...
    def get_action_widget(self, pack_type: PackType) -> Optional[Widget]: ...
    def get_current_page(self) -> int: ...
    def get_group_name(self) -> Optional[str]: ...
    def get_menu_label(self, child: Widget) -> Optional[Widget]: ...
    def get_menu_label_text(self, child: Widget) -> Optional[str]: ...
    def get_n_pages(self) -> int: ...
    def get_nth_page(self, page_num: int) -> Optional[Widget]: ...
    def get_scrollable(self) -> bool: ...
    def get_show_border(self) -> bool: ...
    def get_show_tabs(self) -> bool: ...
    def get_tab_detachable(self, child: Widget) -> bool: ...
    def get_tab_hborder(self) -> int: ...
    def get_tab_label(self, child: Widget) -> Optional[Widget]: ...
    def get_tab_label_text(self, child: Widget) -> Optional[str]: ...
    def get_tab_pos(self) -> PositionType: ...
    def get_tab_reorderable(self, child: Widget) -> bool: ...
    def get_tab_vborder(self) -> int: ...
    def insert_page(
        self, child: Widget, tab_label: Optional[Widget], position: int
    ) -> int: ...
    def insert_page_menu(
        self,
        child: Widget,
        tab_label: Optional[Widget],
        menu_label: Optional[Widget],
        position: int,
    ) -> int: ...
    @classmethod
    def new(cls) -> Notebook: ...
    def next_page(self) -> None: ...
    def page_num(self, child: Widget) -> int: ...
    def popup_disable(self) -> None: ...
    def popup_enable(self) -> None: ...
    def prepend_page(
        self, child: Widget, tab_label: Optional[Widget] = None
    ) -> int: ...
    def prepend_page_menu(
        self,
        child: Widget,
        tab_label: Optional[Widget] = None,
        menu_label: Optional[Widget] = None,
    ) -> int: ...
    def prev_page(self) -> None: ...
    def remove_page(self, page_num: int) -> None: ...
    def reorder_child(self, child: Widget, position: int) -> None: ...
    def set_action_widget(self, widget: Widget, pack_type: PackType) -> None: ...
    def set_current_page(self, page_num: int) -> None: ...
    def set_group_name(self, group_name: Optional[str] = None) -> None: ...
    def set_menu_label(
        self, child: Widget, menu_label: Optional[Widget] = None
    ) -> None: ...
    def set_menu_label_text(self, child: Widget, menu_text: str) -> None: ...
    def set_scrollable(self, scrollable: bool) -> None: ...
    def set_show_border(self, show_border: bool) -> None: ...
    def set_show_tabs(self, show_tabs: bool) -> None: ...
    def set_tab_detachable(self, child: Widget, detachable: bool) -> None: ...
    def set_tab_label(
        self, child: Widget, tab_label: Optional[Widget] = None
    ) -> None: ...
    def set_tab_label_text(self, child: Widget, tab_text: str) -> None: ...
    def set_tab_pos(self, pos: PositionType) -> None: ...
    def set_tab_reorderable(self, child: Widget, reorderable: bool) -> None: ...

class NotebookAccessible(ContainerAccessible, Atk.Component, Atk.Selection):
    """
    :Constructors:

    ::

        NotebookAccessible(**properties)

    Object GtkNotebookAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: NotebookAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class NotebookAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        NotebookAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class NotebookAccessiblePrivate(GObject.GPointer): ...

class NotebookClass(GObject.GPointer):
    """
    :Constructors:

    ::

        NotebookClass()
    """

    parent_class: ContainerClass = ...
    switch_page: Callable[[Notebook, Widget, int], None] = ...
    select_page: Callable[[Notebook, bool], bool] = ...
    focus_tab: Callable[[Notebook, NotebookTab], bool] = ...
    change_current_page: Callable[[Notebook, int], bool] = ...
    move_focus_out: Callable[[Notebook, DirectionType], None] = ...
    reorder_tab: Callable[[Notebook, DirectionType, bool], bool] = ...
    insert_page: Callable[[Notebook, Widget, Widget, Widget, int], int] = ...
    create_window: None = ...
    page_reordered: Callable[[Notebook, Widget, int], None] = ...
    page_removed: Callable[[Notebook, Widget, int], None] = ...
    page_added: Callable[[Notebook, Widget, int], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class NotebookPageAccessible(Atk.Object, Atk.Component):
    """
    :Constructors:

    ::

        NotebookPageAccessible(**properties)
        new(notebook:Gtk.NotebookAccessible, child:Gtk.Widget) -> Atk.Object

    Object GtkNotebookPageAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: Atk.Object = ...
    priv: NotebookPageAccessiblePrivate = ...
    def __init__(
        self,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def invalidate(self) -> None: ...
    @classmethod
    def new(
        cls, notebook: NotebookAccessible, child: Widget
    ) -> NotebookPageAccessible: ...

class NotebookPageAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        NotebookPageAccessibleClass()
    """

    parent_class: Atk.ObjectClass = ...

class NotebookPageAccessiblePrivate(GObject.GPointer): ...
class NotebookPrivate(GObject.GPointer): ...

class NumerableIcon(Gio.EmblemedIcon, Gio.Icon):
    """
    :Constructors:

    ::

        NumerableIcon(**properties)

    Object GtkNumerableIcon

    Properties from GtkNumerableIcon:
      count -> gint: Icon's count
        The count of the emblem currently displayed
      label -> gchararray: Icon's label
        The label to be displayed over the icon
      style-context -> GtkStyleContext: Icon's style context
        The style context to theme the icon appearance
      background-icon -> GIcon: Background icon
        The icon for the number emblem background
      background-icon-name -> gchararray: Background icon name
        The icon name for the number emblem background

    Properties from GEmblemedIcon:
      gicon -> GIcon: The base GIcon
        The GIcon to attach emblems to

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        background_icon: Gio.Icon
        background_icon_name: Optional[str]
        count: int
        label: Optional[str]
        style_context: Optional[StyleContext]
        gicon: Gio.Icon

    props: Props = ...
    parent: Gio.EmblemedIcon = ...
    priv: NumerableIconPrivate = ...
    def __init__(
        self,
        background_icon: Gio.Icon = ...,
        background_icon_name: Optional[str] = ...,
        count: int = ...,
        label: Optional[str] = ...,
        style_context: StyleContext = ...,
        gicon: Gio.Icon = ...,
    ): ...
    def get_background_gicon(self) -> Optional[Gio.Icon]: ...
    def get_background_icon_name(self) -> Optional[str]: ...
    def get_count(self) -> int: ...
    def get_label(self) -> Optional[str]: ...
    def get_style_context(self) -> Optional[StyleContext]: ...
    @staticmethod
    def new(base_icon: Gio.Icon) -> Gio.Icon: ...
    @staticmethod
    def new_with_style_context(
        base_icon: Gio.Icon, context: StyleContext
    ) -> Gio.Icon: ...
    def set_background_gicon(self, icon: Optional[Gio.Icon] = None) -> None: ...
    def set_background_icon_name(self, icon_name: Optional[str] = None) -> None: ...
    def set_count(self, count: int) -> None: ...
    def set_label(self, label: Optional[str] = None) -> None: ...
    def set_style_context(self, style: StyleContext) -> None: ...

class NumerableIconClass(GObject.GPointer):
    """
    :Constructors:

    ::

        NumerableIconClass()
    """

    parent_class: Gio.EmblemedIconClass = ...
    padding: list[None] = ...

class NumerableIconPrivate(GObject.GPointer): ...

class OffscreenWindow(Window, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        OffscreenWindow(**properties)
        new() -> Gtk.Widget

    Object GtkOffscreenWindow

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    parent_object: Window = ...
    def __init__(
        self,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_pixbuf(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_surface(self) -> Optional[cairo.Surface]: ...
    @classmethod
    def new(cls) -> OffscreenWindow: ...

class OffscreenWindowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        OffscreenWindowClass()
    """

    parent_class: WindowClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class Orientable(GObject.GInterface):
    """
    Interface GtkOrientable

    Signals from GObject:
      notify (GParam)
    """

    def get_orientation(self) -> Orientation: ...
    def set_orientation(self, orientation: Orientation) -> None: ...

class OrientableIface(GObject.GPointer):
    """
    :Constructors:

    ::

        OrientableIface()
    """

    base_iface: GObject.TypeInterface = ...

class Overlay(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Overlay(**properties)
        new() -> Gtk.Widget

    Object GtkOverlay

    Signals from GtkOverlay:
      get-child-position (GtkWidget, GdkRectangle) -> gboolean

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent: Bin = ...
    priv: OverlayPrivate = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_overlay(self, widget: Widget) -> None: ...
    def do_get_child_position(
        self, widget: Widget, allocation: Gdk.Rectangle
    ) -> bool: ...
    def get_overlay_pass_through(self, widget: Widget) -> bool: ...
    @classmethod
    def new(cls) -> Overlay: ...
    def reorder_overlay(self, child: Widget, index_: int) -> None: ...
    def set_overlay_pass_through(self, widget: Widget, pass_through: bool) -> None: ...

class OverlayClass(GObject.GPointer):
    """
    :Constructors:

    ::

        OverlayClass()
    """

    parent_class: BinClass = ...
    get_child_position: Callable[[Overlay, Widget, Gdk.Rectangle], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class OverlayPrivate(GObject.GPointer): ...

class PadActionEntry(GObject.GPointer):
    """
    :Constructors:

    ::

        PadActionEntry()
    """

    type: PadActionType = ...
    index: int = ...
    mode: int = ...
    label: str = ...
    action_name: str = ...

class PadController(EventController):
    """
    :Constructors:

    ::

        PadController(**properties)
        new(window:Gtk.Window, group:Gio.ActionGroup, pad:Gdk.Device=None) -> Gtk.PadController

    Object GtkPadController

    Properties from GtkPadController:
      action-group -> GActionGroup: Action group
        Action group to launch actions from
      pad -> GdkDevice: Pad device
        Pad device to control

    Properties from GtkEventController:
      widget -> GtkWidget: Widget
        Widget the gesture relates to
      propagation-phase -> GtkPropagationPhase: Propagation phase
        Propagation phase at which this controller is run

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        action_group: Gio.ActionGroup
        pad: Gdk.Device
        propagation_phase: PropagationPhase
        widget: Widget

    props: Props = ...
    def __init__(
        self,
        action_group: Gio.ActionGroup = ...,
        pad: Gdk.Device = ...,
        propagation_phase: PropagationPhase = ...,
        widget: Widget = ...,
    ): ...
    @classmethod
    def new(
        cls, window: Window, group: Gio.ActionGroup, pad: Optional[Gdk.Device] = None
    ) -> PadController: ...
    def set_action(
        self, type: PadActionType, index: int, mode: int, label: str, action_name: str
    ) -> None: ...
    def set_action_entries(self, entries: Sequence[PadActionEntry]) -> None: ...

class PadControllerClass(GObject.GPointer): ...

class PageRange(GObject.GPointer):
    """
    :Constructors:

    ::

        PageRange()
    """

    start: int = ...
    end: int = ...

class PageSetup(GObject.Object):
    """
    :Constructors:

    ::

        PageSetup(**properties)
        new() -> Gtk.PageSetup
        new_from_file(file_name:str) -> Gtk.PageSetup
        new_from_gvariant(variant:GLib.Variant) -> Gtk.PageSetup
        new_from_key_file(key_file:GLib.KeyFile, group_name:str=None) -> Gtk.PageSetup

    Object GtkPageSetup

    Signals from GObject:
      notify (GParam)
    """

    def copy(self) -> PageSetup: ...
    def get_bottom_margin(self, unit: Unit) -> float: ...
    def get_left_margin(self, unit: Unit) -> float: ...
    def get_orientation(self) -> PageOrientation: ...
    def get_page_height(self, unit: Unit) -> float: ...
    def get_page_width(self, unit: Unit) -> float: ...
    def get_paper_height(self, unit: Unit) -> float: ...
    def get_paper_size(self) -> PaperSize: ...
    def get_paper_width(self, unit: Unit) -> float: ...
    def get_right_margin(self, unit: Unit) -> float: ...
    def get_top_margin(self, unit: Unit) -> float: ...
    def load_file(self, file_name: str) -> bool: ...
    def load_key_file(
        self, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> bool: ...
    @classmethod
    def new(cls) -> PageSetup: ...
    @classmethod
    def new_from_file(cls, file_name: str) -> PageSetup: ...
    @classmethod
    def new_from_gvariant(cls, variant: GLib.Variant) -> PageSetup: ...
    @classmethod
    def new_from_key_file(
        cls, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> PageSetup: ...
    def set_bottom_margin(self, margin: float, unit: Unit) -> None: ...
    def set_left_margin(self, margin: float, unit: Unit) -> None: ...
    def set_orientation(self, orientation: PageOrientation) -> None: ...
    def set_paper_size(self, size: PaperSize) -> None: ...
    def set_paper_size_and_default_margins(self, size: PaperSize) -> None: ...
    def set_right_margin(self, margin: float, unit: Unit) -> None: ...
    def set_top_margin(self, margin: float, unit: Unit) -> None: ...
    def to_file(self, file_name: str) -> bool: ...
    def to_gvariant(self) -> GLib.Variant: ...
    def to_key_file(
        self, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> None: ...

class Paned(Container, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Paned(**properties)
        new(orientation:Gtk.Orientation) -> Gtk.Widget

    Object GtkPaned

    Signals from GtkPaned:
      cycle-child-focus (gboolean) -> gboolean
      toggle-handle-focus () -> gboolean
      move-handle (GtkScrollType) -> gboolean
      cycle-handle-focus (gboolean) -> gboolean
      accept-position () -> gboolean
      cancel-position () -> gboolean

    Properties from GtkPaned:
      position -> gint: Position
        Position of paned separator in pixels (0 means all the way to the left/top)
      position-set -> gboolean: Position Set
        TRUE if the Position property should be used
      min-position -> gint: Minimal Position
        Smallest possible value for the "position" property
      max-position -> gint: Maximal Position
        Largest possible value for the "position" property
      wide-handle -> gboolean: Wide Handle
        Whether the paned should have a prominent handle

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        max_position: int
        min_position: int
        position: int
        position_set: bool
        wide_handle: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: PanedPrivate = ...
    def __init__(
        self,
        position: int = ...,
        position_set: bool = ...,
        wide_handle: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def add1(self, child: Widget) -> None: ...
    def add2(self, child: Widget) -> None: ...
    def do_accept_position(self) -> bool: ...
    def do_cancel_position(self) -> bool: ...
    def do_cycle_child_focus(self, reverse: bool) -> bool: ...
    def do_cycle_handle_focus(self, reverse: bool) -> bool: ...
    def do_move_handle(self, scroll: ScrollType) -> bool: ...
    def do_toggle_handle_focus(self) -> bool: ...
    def get_child1(self) -> Optional[Widget]: ...
    def get_child2(self) -> Optional[Widget]: ...
    def get_handle_window(self) -> Gdk.Window: ...
    def get_position(self) -> int: ...
    def get_wide_handle(self) -> bool: ...
    @classmethod
    def new(cls, orientation: Orientation) -> Paned: ...
    # override
    def pack1(self, child: Widget, resize: bool, shrink: bool) -> None: ...
    # override
    def pack2(self, child: Widget, resize: bool, shrink: bool) -> None: ...
    def set_position(self, position: int) -> None: ...
    def set_wide_handle(self, wide: bool) -> None: ...

class PanedAccessible(ContainerAccessible, Atk.Component, Atk.Value):
    """
    :Constructors:

    ::

        PanedAccessible(**properties)

    Object GtkPanedAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: PanedAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class PanedAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PanedAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class PanedAccessiblePrivate(GObject.GPointer): ...

class PanedClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PanedClass()
    """

    parent_class: ContainerClass = ...
    cycle_child_focus: Callable[[Paned, bool], bool] = ...
    toggle_handle_focus: Callable[[Paned], bool] = ...
    move_handle: Callable[[Paned, ScrollType], bool] = ...
    cycle_handle_focus: Callable[[Paned, bool], bool] = ...
    accept_position: Callable[[Paned], bool] = ...
    cancel_position: Callable[[Paned], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class PanedPrivate(GObject.GPointer): ...

class PaperSize(GObject.GBoxed):
    """
    :Constructors:

    ::

        new(name:str=None) -> Gtk.PaperSize
        new_custom(name:str, display_name:str, width:float, height:float, unit:Gtk.Unit) -> Gtk.PaperSize
        new_from_gvariant(variant:GLib.Variant) -> Gtk.PaperSize
        new_from_ipp(ipp_name:str, width:float, height:float) -> Gtk.PaperSize
        new_from_key_file(key_file:GLib.KeyFile, group_name:str=None) -> Gtk.PaperSize
        new_from_ppd(ppd_name:str, ppd_display_name:str, width:float, height:float) -> Gtk.PaperSize
    """

    def copy(self) -> PaperSize: ...
    def free(self) -> None: ...
    @staticmethod
    def get_default() -> str: ...
    def get_default_bottom_margin(self, unit: Unit) -> float: ...
    def get_default_left_margin(self, unit: Unit) -> float: ...
    def get_default_right_margin(self, unit: Unit) -> float: ...
    def get_default_top_margin(self, unit: Unit) -> float: ...
    def get_display_name(self) -> str: ...
    def get_height(self, unit: Unit) -> float: ...
    def get_name(self) -> str: ...
    @staticmethod
    def get_paper_sizes(include_custom: bool) -> list[PaperSize]: ...
    def get_ppd_name(self) -> str: ...
    def get_width(self, unit: Unit) -> float: ...
    def is_custom(self) -> bool: ...
    def is_equal(self, size2: PaperSize) -> bool: ...
    def is_ipp(self) -> bool: ...
    @classmethod
    def new(cls, name: Optional[str] = None) -> PaperSize: ...
    @classmethod
    def new_custom(
        cls, name: str, display_name: str, width: float, height: float, unit: Unit
    ) -> PaperSize: ...
    @classmethod
    def new_from_gvariant(cls, variant: GLib.Variant) -> PaperSize: ...
    @classmethod
    def new_from_ipp(cls, ipp_name: str, width: float, height: float) -> PaperSize: ...
    @classmethod
    def new_from_key_file(
        cls, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> PaperSize: ...
    @classmethod
    def new_from_ppd(
        cls, ppd_name: str, ppd_display_name: str, width: float, height: float
    ) -> PaperSize: ...
    def set_size(self, width: float, height: float, unit: Unit) -> None: ...
    def to_gvariant(self) -> GLib.Variant: ...
    def to_key_file(self, key_file: GLib.KeyFile, group_name: str) -> None: ...

class PlacesSidebar(ScrolledWindow, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        PlacesSidebar(**properties)
        new() -> Gtk.Widget

    Object GtkPlacesSidebar

    Signals from GtkPlacesSidebar:
      populate-popup (GtkWidget, GFile, GVolume)
      open-location (GObject, GtkPlacesOpenFlags)
      show-error-message (gchararray, gchararray)
      show-connect-to-server ()
      show-enter-location ()
      drag-action-requested (GdkDragContext, GObject, gpointer) -> gint
      drag-action-ask (gint) -> gint
      drag-perform-drop (GObject, gpointer, gint)
      show-other-locations ()
      show-other-locations-with-flags (GtkPlacesOpenFlags)
      mount (GMountOperation)
      unmount (GMountOperation)
      show-starred-location (GtkPlacesOpenFlags)

    Properties from GtkPlacesSidebar:
      location -> GFile: Location to Select
        The location to highlight in the sidebar
      open-flags -> GtkPlacesOpenFlags: Open Flags
        Modes in which the calling application can open locations selected in the sidebar
      show-recent -> gboolean: Show recent files
        Whether the sidebar includes a builtin shortcut for recent files
      show-desktop -> gboolean: Show 'Desktop'
        Whether the sidebar includes a builtin shortcut to the Desktop folder
      show-connect-to-server -> gboolean: Show 'Connect to Server'
        Whether the sidebar includes a builtin shortcut to a 'Connect to server' dialog
      show-enter-location -> gboolean: Show 'Enter Location'
        Whether the sidebar includes a builtin shortcut to manually enter a location
      show-trash -> gboolean: Show 'Trash'
        Whether the sidebar includes a builtin shortcut to the Trash location
      show-starred-location -> gboolean: Show “Starred Location”
        Whether the sidebar includes an item to show starred files
      local-only -> gboolean: Local Only
        Whether the sidebar only includes local files
      show-other-locations -> gboolean: Show 'Other locations'
        Whether the sidebar includes an item to show external locations
      populate-all -> gboolean: Populate all
        Whether to emit ::populate-popup for popups that are not menus

    Signals from GtkScrolledWindow:
      move-focus-out (GtkDirectionType)
      scroll-child (GtkScrollType, gboolean) -> gboolean
      edge-overshot (GtkPositionType)
      edge-reached (GtkPositionType)

    Properties from GtkScrolledWindow:
      hadjustment -> GtkAdjustment: Horizontal Adjustment
        The GtkAdjustment for the horizontal position
      vadjustment -> GtkAdjustment: Vertical Adjustment
        The GtkAdjustment for the vertical position
      hscrollbar-policy -> GtkPolicyType: Horizontal Scrollbar Policy
        When the horizontal scrollbar is displayed
      vscrollbar-policy -> GtkPolicyType: Vertical Scrollbar Policy
        When the vertical scrollbar is displayed
      window-placement -> GtkCornerType: Window Placement
        Where the contents are located with respect to the scrollbars.
      window-placement-set -> gboolean: Window Placement Set
        Whether "window-placement" should be used to determine the location of the contents with respect to the scrollbars.
      shadow-type -> GtkShadowType: Shadow Type
        Style of bevel around the contents
      min-content-width -> gint: Minimum Content Width
        The minimum width that the scrolled window will allocate to its content
      min-content-height -> gint: Minimum Content Height
        The minimum height that the scrolled window will allocate to its content
      kinetic-scrolling -> gboolean: Kinetic Scrolling
        Kinetic scrolling mode.
      overlay-scrolling -> gboolean: Overlay Scrolling
        Overlay scrolling mode
      max-content-width -> gint: Maximum Content Width
        The maximum width that the scrolled window will allocate to its content
      max-content-height -> gint: Maximum Content Height
        The maximum height that the scrolled window will allocate to its content
      propagate-natural-width -> gboolean: Propagate Natural Width
        Propagate Natural Width
      propagate-natural-height -> gboolean: Propagate Natural Height
        Propagate Natural Height

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        local_only: bool
        location: Optional[Gio.File]
        open_flags: PlacesOpenFlags
        populate_all: bool
        show_connect_to_server: bool
        show_desktop: bool
        show_enter_location: bool
        show_other_locations: bool
        show_recent: bool
        show_starred_location: bool
        show_trash: bool
        hadjustment: Adjustment
        hscrollbar_policy: PolicyType
        kinetic_scrolling: bool
        max_content_height: int
        max_content_width: int
        min_content_height: int
        min_content_width: int
        overlay_scrolling: bool
        propagate_natural_height: bool
        propagate_natural_width: bool
        shadow_type: ShadowType
        vadjustment: Adjustment
        vscrollbar_policy: PolicyType
        window_placement: CornerType
        window_placement_set: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    def __init__(
        self,
        local_only: bool = ...,
        location: Optional[Gio.File] = ...,
        open_flags: PlacesOpenFlags = ...,
        populate_all: bool = ...,
        show_connect_to_server: bool = ...,
        show_desktop: bool = ...,
        show_enter_location: bool = ...,
        show_other_locations: bool = ...,
        show_recent: bool = ...,
        show_starred_location: bool = ...,
        show_trash: bool = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscrollbar_policy: PolicyType = ...,
        kinetic_scrolling: bool = ...,
        max_content_height: int = ...,
        max_content_width: int = ...,
        min_content_height: int = ...,
        min_content_width: int = ...,
        overlay_scrolling: bool = ...,
        propagate_natural_height: bool = ...,
        propagate_natural_width: bool = ...,
        shadow_type: ShadowType = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscrollbar_policy: PolicyType = ...,
        window_placement: CornerType = ...,
        window_placement_set: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_shortcut(self, location: Gio.File) -> None: ...
    def get_local_only(self) -> bool: ...
    def get_location(self) -> Optional[Gio.File]: ...
    def get_nth_bookmark(self, n: int) -> Optional[Gio.File]: ...
    def get_open_flags(self) -> PlacesOpenFlags: ...
    def get_show_connect_to_server(self) -> bool: ...
    def get_show_desktop(self) -> bool: ...
    def get_show_enter_location(self) -> bool: ...
    def get_show_other_locations(self) -> bool: ...
    def get_show_recent(self) -> bool: ...
    def get_show_starred_location(self) -> bool: ...
    def get_show_trash(self) -> bool: ...
    def list_shortcuts(self) -> list[Gio.File]: ...
    @classmethod
    def new(cls) -> PlacesSidebar: ...
    def remove_shortcut(self, location: Gio.File) -> None: ...
    def set_drop_targets_visible(
        self, visible: bool, context: Gdk.DragContext
    ) -> None: ...
    def set_local_only(self, local_only: bool) -> None: ...
    def set_location(self, location: Optional[Gio.File] = None) -> None: ...
    def set_open_flags(self, flags: PlacesOpenFlags) -> None: ...
    def set_show_connect_to_server(self, show_connect_to_server: bool) -> None: ...
    def set_show_desktop(self, show_desktop: bool) -> None: ...
    def set_show_enter_location(self, show_enter_location: bool) -> None: ...
    def set_show_other_locations(self, show_other_locations: bool) -> None: ...
    def set_show_recent(self, show_recent: bool) -> None: ...
    def set_show_starred_location(self, show_starred_location: bool) -> None: ...
    def set_show_trash(self, show_trash: bool) -> None: ...

class PlacesSidebarClass(GObject.GPointer): ...

class Plug(Window, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Plug(**properties)
        new(socket_id:int) -> Gtk.Widget
        new_for_display(display:Gdk.Display, socket_id:int) -> Gtk.Widget

    Object GtkPlug

    Signals from GtkPlug:
      embedded ()

    Properties from GtkPlug:
      embedded -> gboolean: Embedded
        Whether the plug is embedded
      socket-window -> GdkWindow: Socket Window
        The window of the socket the plug is embedded in

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        embedded: bool
        socket_window: Optional[Gdk.Window]
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    window: Window = ...
    priv: PlugPrivate = ...
    def __init__(
        self,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def construct(self, socket_id: int) -> None: ...
    def construct_for_display(self, display: Gdk.Display, socket_id: int) -> None: ...
    def do_embedded(self) -> None: ...
    def get_embedded(self) -> bool: ...
    def get_id(self) -> int: ...
    def get_socket_window(self) -> Optional[Gdk.Window]: ...
    @classmethod
    def new(cls, socket_id: int) -> Plug: ...
    @classmethod
    def new_for_display(cls, display: Gdk.Display, socket_id: int) -> Plug: ...

class PlugAccessible(WindowAccessible, Atk.Component, Atk.Window):
    """
    :Constructors:

    ::

        PlugAccessible(**properties)

    Object GtkPlugAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkWindow:
      destroy ()
      activate ()
      deactivate ()
      create ()
      maximize ()
      minimize ()
      move ()
      resize ()
      restore ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkWindow:
      destroy ()
      activate ()
      deactivate ()
      create ()
      maximize ()
      minimize ()
      move ()
      resize ()
      restore ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WindowAccessible = ...
    priv: PlugAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def get_id(self) -> str: ...

class PlugAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PlugAccessibleClass()
    """

    parent_class: WindowAccessibleClass = ...

class PlugAccessiblePrivate(GObject.GPointer): ...

class PlugClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PlugClass()
    """

    parent_class: WindowClass = ...
    embedded: Callable[[Plug], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class PlugPrivate(GObject.GPointer): ...

class Popover(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Popover(**properties)
        new(relative_to:Gtk.Widget=None) -> Gtk.Widget
        new_from_model(relative_to:Gtk.Widget=None, model:Gio.MenuModel) -> Gtk.Widget

    Object GtkPopover

    Signals from GtkPopover:
      closed ()

    Properties from GtkPopover:
      relative-to -> GtkWidget: Relative to
        Widget the bubble window points to
      pointing-to -> GdkRectangle: Pointing to
        Rectangle the bubble window points to
      position -> GtkPositionType: Position
        Position to place the bubble window
      modal -> gboolean: Modal
        Whether the popover is modal
      transitions-enabled -> gboolean: Transitions enabled
        Whether show/hide transitions are enabled or not
      constrain-to -> GtkPopoverConstraint: Constraint
        Constraint for the popover position

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        constrain_to: PopoverConstraint
        modal: bool
        pointing_to: Gdk.Rectangle
        position: PositionType
        relative_to: Widget
        transitions_enabled: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent_instance: Bin = ...
    priv: PopoverPrivate = ...
    def __init__(
        self,
        constrain_to: PopoverConstraint = ...,
        modal: bool = ...,
        pointing_to: Gdk.Rectangle = ...,
        position: PositionType = ...,
        relative_to: Optional[Widget] = ...,
        transitions_enabled: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def bind_model(
        self,
        model: Optional[Gio.MenuModel] = None,
        action_namespace: Optional[str] = None,
    ) -> None: ...
    def do_closed(self) -> None: ...
    def get_constrain_to(self) -> PopoverConstraint: ...
    def get_default_widget(self) -> Optional[Widget]: ...
    def get_modal(self) -> bool: ...
    def get_pointing_to(self) -> Tuple[bool, Gdk.Rectangle]: ...
    def get_position(self) -> PositionType: ...
    def get_relative_to(self) -> Widget: ...
    def get_transitions_enabled(self) -> bool: ...
    @classmethod
    def new(cls, relative_to: Optional[Widget] = None) -> Popover: ...
    @classmethod
    def new_from_model(
        cls, relative_to: Optional[Widget], model: Gio.MenuModel
    ) -> Popover: ...
    def popdown(self) -> None: ...
    def popup(self) -> None: ...
    def set_constrain_to(self, constraint: PopoverConstraint) -> None: ...
    def set_default_widget(self, widget: Optional[Widget] = None) -> None: ...
    def set_modal(self, modal: bool) -> None: ...
    def set_pointing_to(self, rect: Gdk.Rectangle) -> None: ...
    def set_position(self, position: PositionType) -> None: ...
    def set_relative_to(self, relative_to: Optional[Widget] = None) -> None: ...
    def set_transitions_enabled(self, transitions_enabled: bool) -> None: ...

class PopoverAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        PopoverAccessible(**properties)

    Object GtkPopoverAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class PopoverAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PopoverAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class PopoverClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PopoverClass()
    """

    parent_class: BinClass = ...
    closed: Callable[[Popover], None] = ...
    reserved: list[None] = ...

class PopoverMenu(Popover, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        PopoverMenu(**properties)
        new() -> Gtk.Widget

    Object GtkPopoverMenu

    Properties from GtkPopoverMenu:
      visible-submenu -> gchararray: Visible submenu
        The name of the visible submenu

    Signals from GtkPopover:
      closed ()

    Properties from GtkPopover:
      relative-to -> GtkWidget: Relative to
        Widget the bubble window points to
      pointing-to -> GdkRectangle: Pointing to
        Rectangle the bubble window points to
      position -> GtkPositionType: Position
        Position to place the bubble window
      modal -> gboolean: Modal
        Whether the popover is modal
      transitions-enabled -> gboolean: Transitions enabled
        Whether show/hide transitions are enabled or not
      constrain-to -> GtkPopoverConstraint: Constraint
        Constraint for the popover position

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        visible_submenu: str
        constrain_to: PopoverConstraint
        modal: bool
        pointing_to: Gdk.Rectangle
        position: PositionType
        relative_to: Widget
        transitions_enabled: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    def __init__(
        self,
        visible_submenu: str = ...,
        constrain_to: PopoverConstraint = ...,
        modal: bool = ...,
        pointing_to: Gdk.Rectangle = ...,
        position: PositionType = ...,
        relative_to: Optional[Widget] = ...,
        transitions_enabled: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    @classmethod
    def new(cls) -> PopoverMenu: ...
    def open_submenu(self, name: str) -> None: ...

class PopoverMenuClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PopoverMenuClass()
    """

    parent_class: PopoverClass = ...
    reserved: list[None] = ...

class PopoverPrivate(GObject.GPointer): ...

class PrintContext(GObject.Object):
    """
    :Constructors:

    ::

        PrintContext(**properties)

    Object GtkPrintContext

    Signals from GObject:
      notify (GParam)
    """

    def create_pango_context(self) -> Pango.Context: ...
    def create_pango_layout(self) -> Pango.Layout: ...
    def get_cairo_context(self) -> cairo.Context: ...
    def get_dpi_x(self) -> float: ...
    def get_dpi_y(self) -> float: ...
    def get_hard_margins(self) -> Tuple[bool, float, float, float, float]: ...
    def get_height(self) -> float: ...
    def get_page_setup(self) -> PageSetup: ...
    def get_pango_fontmap(self) -> Pango.FontMap: ...
    def get_width(self) -> float: ...
    def set_cairo_context(
        self, cr: cairo.Context[_SomeSurface], dpi_x: float, dpi_y: float
    ) -> None: ...

class PrintOperation(GObject.Object, PrintOperationPreview):
    """
    :Constructors:

    ::

        PrintOperation(**properties)
        new() -> Gtk.PrintOperation

    Object GtkPrintOperation

    Signals from GtkPrintOperation:
      done (GtkPrintOperationResult)
      begin-print (GtkPrintContext)
      paginate (GtkPrintContext) -> gboolean
      request-page-setup (GtkPrintContext, gint, GtkPageSetup)
      draw-page (GtkPrintContext, gint)
      end-print (GtkPrintContext)
      status-changed ()
      create-custom-widget () -> GObject
      update-custom-widget (GtkWidget, GtkPageSetup, GtkPrintSettings)
      custom-widget-apply (GtkWidget)
      preview (GtkPrintOperationPreview, GtkPrintContext, GtkWindow) -> gboolean

    Properties from GtkPrintOperation:
      default-page-setup -> GtkPageSetup: Default Page Setup
        The GtkPageSetup used by default
      print-settings -> GtkPrintSettings: Print Settings
        The GtkPrintSettings used for initializing the dialog
      job-name -> gchararray: Job Name
        A string used for identifying the print job.
      n-pages -> gint: Number of Pages
        The number of pages in the document.
      current-page -> gint: Current Page
        The current page in the document
      use-full-page -> gboolean: 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
      track-print-status -> gboolean: 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.
      unit -> GtkUnit: Unit
        The unit in which distances can be measured in the context
      show-progress -> gboolean: Show Dialog
        TRUE if a progress dialog is shown while printing.
      allow-async -> gboolean: Allow Async
        TRUE if print process may run asynchronous.
      export-filename -> gchararray: Export filename
        Export filename
      status -> GtkPrintStatus: Status
        The status of the print operation
      status-string -> gchararray: Status String
        A human-readable description of the status
      custom-tab-label -> gchararray: Custom tab label
        Label for the tab containing custom widgets.
      embed-page-setup -> gboolean: Embed Page Setup
        TRUE if page setup combos are embedded in GtkPrintUnixDialog
      has-selection -> gboolean: Has Selection
        TRUE if a selection exists.
      support-selection -> gboolean: Support Selection
        TRUE if the print operation will support print of selection.
      n-pages-to-print -> gint: Number of Pages To Print
        The number of pages that will be printed.

    Signals from GtkPrintOperationPreview:
      ready (GtkPrintContext)
      got-page-size (GtkPrintContext, GtkPageSetup)

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        allow_async: bool
        current_page: int
        custom_tab_label: Optional[str]
        default_page_setup: PageSetup
        embed_page_setup: bool
        export_filename: str
        has_selection: bool
        job_name: str
        n_pages: int
        n_pages_to_print: int
        print_settings: PrintSettings
        show_progress: bool
        status: PrintStatus
        status_string: str
        support_selection: bool
        track_print_status: bool
        unit: Unit
        use_full_page: bool

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: PrintOperationPrivate = ...
    def __init__(
        self,
        allow_async: bool = ...,
        current_page: int = ...,
        custom_tab_label: Optional[str] = ...,
        default_page_setup: Optional[PageSetup] = ...,
        embed_page_setup: bool = ...,
        export_filename: str = ...,
        has_selection: bool = ...,
        job_name: str = ...,
        n_pages: int = ...,
        print_settings: Optional[PrintSettings] = ...,
        show_progress: bool = ...,
        support_selection: bool = ...,
        track_print_status: bool = ...,
        unit: Unit = ...,
        use_full_page: bool = ...,
    ): ...
    def cancel(self) -> None: ...
    def do_begin_print(self, context: PrintContext) -> None: ...
    def do_custom_widget_apply(self, widget: Widget) -> None: ...
    def do_done(self, result: PrintOperationResult) -> None: ...
    def do_draw_page(self, context: PrintContext, page_nr: int) -> None: ...
    def do_end_print(self, context: PrintContext) -> None: ...
    def do_paginate(self, context: PrintContext) -> bool: ...
    def do_preview(
        self, preview: PrintOperationPreview, context: PrintContext, parent: Window
    ) -> bool: ...
    def do_request_page_setup(
        self, context: PrintContext, page_nr: int, setup: PageSetup
    ) -> None: ...
    def do_status_changed(self) -> None: ...
    def do_update_custom_widget(
        self, widget: Widget, setup: PageSetup, settings: PrintSettings
    ) -> None: ...
    def draw_page_finish(self) -> None: ...
    def get_default_page_setup(self) -> PageSetup: ...
    def get_embed_page_setup(self) -> bool: ...
    def get_error(self) -> None: ...
    def get_has_selection(self) -> bool: ...
    def get_n_pages_to_print(self) -> int: ...
    def get_print_settings(self) -> PrintSettings: ...
    def get_status(self) -> PrintStatus: ...
    def get_status_string(self) -> str: ...
    def get_support_selection(self) -> bool: ...
    def is_finished(self) -> bool: ...
    @classmethod
    def new(cls) -> PrintOperation: ...
    def run(
        self, action: PrintOperationAction, parent: Optional[Window] = None
    ) -> PrintOperationResult: ...
    def set_allow_async(self, allow_async: bool) -> None: ...
    def set_current_page(self, current_page: int) -> None: ...
    def set_custom_tab_label(self, label: Optional[str] = None) -> None: ...
    def set_default_page_setup(
        self, default_page_setup: Optional[PageSetup] = None
    ) -> None: ...
    def set_defer_drawing(self) -> None: ...
    def set_embed_page_setup(self, embed: bool) -> None: ...
    def set_export_filename(self, filename: str) -> None: ...
    def set_has_selection(self, has_selection: bool) -> None: ...
    def set_job_name(self, job_name: str) -> None: ...
    def set_n_pages(self, n_pages: int) -> None: ...
    def set_print_settings(
        self, print_settings: Optional[PrintSettings] = None
    ) -> None: ...
    def set_show_progress(self, show_progress: bool) -> None: ...
    def set_support_selection(self, support_selection: bool) -> None: ...
    def set_track_print_status(self, track_status: bool) -> None: ...
    def set_unit(self, unit: Unit) -> None: ...
    def set_use_full_page(self, full_page: bool) -> None: ...

class PrintOperationClass(GObject.GPointer):
    """
    :Constructors:

    ::

        PrintOperationClass()
    """

    parent_class: GObject.ObjectClass = ...
    done: Callable[[PrintOperation, PrintOperationResult], None] = ...
    begin_print: Callable[[PrintOperation, PrintContext], None] = ...
    paginate: Callable[[PrintOperation, PrintContext], bool] = ...
    request_page_setup: Callable[
        [PrintOperation, PrintContext, int, PageSetup], None
    ] = ...
    draw_page: Callable[[PrintOperation, PrintContext, int], None] = ...
    end_print: Callable[[PrintOperation, PrintContext], None] = ...
    status_changed: Callable[[PrintOperation], None] = ...
    create_custom_widget: None = ...
    custom_widget_apply: Callable[[PrintOperation, Widget], None] = ...
    preview: Callable[
        [PrintOperation, PrintOperationPreview, PrintContext, Window], bool
    ] = ...
    update_custom_widget: Callable[
        [PrintOperation, Widget, PageSetup, PrintSettings], None
    ] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class PrintOperationPreview(GObject.GInterface):
    """
    Interface GtkPrintOperationPreview

    Signals from GObject:
      notify (GParam)
    """

    def end_preview(self) -> None: ...
    def is_selected(self, page_nr: int) -> bool: ...
    def render_page(self, page_nr: int) -> None: ...

class PrintOperationPreviewIface(GObject.GPointer):
    """
    :Constructors:

    ::

        PrintOperationPreviewIface()
    """

    g_iface: GObject.TypeInterface = ...
    ready: Callable[[PrintOperationPreview, PrintContext], None] = ...
    got_page_size: Callable[
        [PrintOperationPreview, PrintContext, PageSetup], None
    ] = ...
    render_page: Callable[[PrintOperationPreview, int], None] = ...
    is_selected: Callable[[PrintOperationPreview, int], bool] = ...
    end_preview: Callable[[PrintOperationPreview], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class PrintOperationPrivate(GObject.GPointer): ...

class PrintSettings(GObject.Object):
    """
    :Constructors:

    ::

        PrintSettings(**properties)
        new() -> Gtk.PrintSettings
        new_from_file(file_name:str) -> Gtk.PrintSettings
        new_from_gvariant(variant:GLib.Variant) -> Gtk.PrintSettings
        new_from_key_file(key_file:GLib.KeyFile, group_name:str=None) -> Gtk.PrintSettings

    Object GtkPrintSettings

    Signals from GObject:
      notify (GParam)
    """

    def copy(self) -> PrintSettings: ...
    def foreach(self, func: Callable[..., None], *user_data: Any) -> None: ...
    def get(self, key: str) -> str: ...
    def get_bool(self, key: str) -> bool: ...
    def get_collate(self) -> bool: ...
    def get_default_source(self) -> str: ...
    def get_dither(self) -> str: ...
    def get_double(self, key: str) -> float: ...
    def get_double_with_default(self, key: str, def_: float) -> float: ...
    def get_duplex(self) -> PrintDuplex: ...
    def get_finishings(self) -> str: ...
    def get_int(self, key: str) -> int: ...
    def get_int_with_default(self, key: str, def_: int) -> int: ...
    def get_length(self, key: str, unit: Unit) -> float: ...
    def get_media_type(self) -> str: ...
    def get_n_copies(self) -> int: ...
    def get_number_up(self) -> int: ...
    def get_number_up_layout(self) -> NumberUpLayout: ...
    def get_orientation(self) -> PageOrientation: ...
    def get_output_bin(self) -> str: ...
    def get_page_ranges(self) -> list[PageRange]: ...
    def get_page_set(self) -> PageSet: ...
    def get_paper_height(self, unit: Unit) -> float: ...
    def get_paper_size(self) -> PaperSize: ...
    def get_paper_width(self, unit: Unit) -> float: ...
    def get_print_pages(self) -> PrintPages: ...
    def get_printer(self) -> str: ...
    def get_printer_lpi(self) -> float: ...
    def get_quality(self) -> PrintQuality: ...
    def get_resolution(self) -> int: ...
    def get_resolution_x(self) -> int: ...
    def get_resolution_y(self) -> int: ...
    def get_reverse(self) -> bool: ...
    def get_scale(self) -> float: ...
    def get_use_color(self) -> bool: ...
    def has_key(self, key: str) -> bool: ...
    def load_file(self, file_name: str) -> bool: ...
    def load_key_file(
        self, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> bool: ...
    @classmethod
    def new(cls) -> PrintSettings: ...
    @classmethod
    def new_from_file(cls, file_name: str) -> PrintSettings: ...
    @classmethod
    def new_from_gvariant(cls, variant: GLib.Variant) -> PrintSettings: ...
    @classmethod
    def new_from_key_file(
        cls, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> PrintSettings: ...
    def set(self, key: str, value: Optional[str] = None) -> None: ...
    def set_bool(self, key: str, value: bool) -> None: ...
    def set_collate(self, collate: bool) -> None: ...
    def set_default_source(self, default_source: str) -> None: ...
    def set_dither(self, dither: str) -> None: ...
    def set_double(self, key: str, value: float) -> None: ...
    def set_duplex(self, duplex: PrintDuplex) -> None: ...
    def set_finishings(self, finishings: str) -> None: ...
    def set_int(self, key: str, value: int) -> None: ...
    def set_length(self, key: str, value: float, unit: Unit) -> None: ...
    def set_media_type(self, media_type: str) -> None: ...
    def set_n_copies(self, num_copies: int) -> None: ...
    def set_number_up(self, number_up: int) -> None: ...
    def set_number_up_layout(self, number_up_layout: NumberUpLayout) -> None: ...
    def set_orientation(self, orientation: PageOrientation) -> None: ...
    def set_output_bin(self, output_bin: str) -> None: ...
    def set_page_ranges(self, page_ranges: Sequence[PageRange]) -> None: ...
    def set_page_set(self, page_set: PageSet) -> None: ...
    def set_paper_height(self, height: float, unit: Unit) -> None: ...
    def set_paper_size(self, paper_size: PaperSize) -> None: ...
    def set_paper_width(self, width: float, unit: Unit) -> None: ...
    def set_print_pages(self, pages: PrintPages) -> None: ...
    def set_printer(self, printer: str) -> None: ...
    def set_printer_lpi(self, lpi: float) -> None: ...
    def set_quality(self, quality: PrintQuality) -> None: ...
    def set_resolution(self, resolution: int) -> None: ...
    def set_resolution_xy(self, resolution_x: int, resolution_y: int) -> None: ...
    def set_reverse(self, reverse: bool) -> None: ...
    def set_scale(self, scale: float) -> None: ...
    def set_use_color(self, use_color: bool) -> None: ...
    def to_file(self, file_name: str) -> bool: ...
    def to_gvariant(self) -> GLib.Variant: ...
    def to_key_file(
        self, key_file: GLib.KeyFile, group_name: Optional[str] = None
    ) -> None: ...
    def unset(self, key: str) -> None: ...

class ProgressBar(Widget, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ProgressBar(**properties)
        new() -> Gtk.Widget

    Object GtkProgressBar

    Properties from GtkProgressBar:
      fraction -> gdouble: Fraction
        The fraction of total work that has been completed
      pulse-step -> gdouble: Pulse Step
        The fraction of total progress to move the bouncing block when pulsed
      inverted -> gboolean: Inverted
        Invert the direction in which the progress bar grows
      text -> gchararray: Text
        Text to be displayed in the progress bar
      show-text -> gboolean: Show text
        Whether the progress is shown as text.
      ellipsize -> PangoEllipsizeMode: 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.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        ellipsize: Pango.EllipsizeMode
        fraction: float
        inverted: bool
        pulse_step: float
        show_text: bool
        text: Optional[str]
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    parent: Widget = ...
    priv: ProgressBarPrivate = ...
    def __init__(
        self,
        ellipsize: Pango.EllipsizeMode = ...,
        fraction: float = ...,
        inverted: bool = ...,
        pulse_step: float = ...,
        show_text: bool = ...,
        text: Optional[str] = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_ellipsize(self) -> Pango.EllipsizeMode: ...
    def get_fraction(self) -> float: ...
    def get_inverted(self) -> bool: ...
    def get_pulse_step(self) -> float: ...
    def get_show_text(self) -> bool: ...
    def get_text(self) -> Optional[str]: ...
    @classmethod
    def new(cls) -> ProgressBar: ...
    def pulse(self) -> None: ...
    def set_ellipsize(self, mode: Pango.EllipsizeMode) -> None: ...
    def set_fraction(self, fraction: float) -> None: ...
    def set_inverted(self, inverted: bool) -> None: ...
    def set_pulse_step(self, fraction: float) -> None: ...
    def set_show_text(self, show_text: bool) -> None: ...
    def set_text(self, text: Optional[str] = None) -> None: ...

class ProgressBarAccessible(WidgetAccessible, Atk.Component, Atk.Value):
    """
    :Constructors:

    ::

        ProgressBarAccessible(**properties)

    Object GtkProgressBarAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: ProgressBarAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ProgressBarAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ProgressBarAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class ProgressBarAccessiblePrivate(GObject.GPointer): ...

class ProgressBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ProgressBarClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ProgressBarPrivate(GObject.GPointer): ...

class PyGTKDeprecationWarning:
    args = ...  # FIXME Constant

    def add_note(self, *args, **kwargs): ...  # FIXME Function
    def with_traceback(self, *args, **kwargs): ...  # FIXME Function

class RadioAction(ToggleAction, Buildable):
    """
    :Constructors:

    ::

        RadioAction(**properties)
        new(name:str, label:str=None, tooltip:str=None, stock_id:str=None, value:int) -> Gtk.RadioAction

    Object GtkRadioAction

    Signals from GtkRadioAction:
      changed (GtkRadioAction)

    Properties from GtkRadioAction:
      value -> gint: The value
        The value returned by gtk_radio_action_get_current_value() when this action is the current action of its group.
      group -> GtkRadioAction: Group
        The radio action whose group this action belongs to.
      current-value -> gint: The current value
        The value property of the currently active member of the group to which this action belongs.

    Signals from GtkToggleAction:
      toggled ()

    Properties from GtkToggleAction:
      draw-as-radio -> gboolean: Create the same proxies as a radio action
        Whether the proxies for this action look like radio action proxies
      active -> gboolean: Active
        Whether the toggle action should be active

    Signals from GtkAction:
      activate ()

    Properties from GtkAction:
      name -> gchararray: Name
        A unique name for the action.
      label -> gchararray: Label
        The label used for menu items and buttons that activate this action.
      short-label -> gchararray: Short label
        A shorter label that may be used on toolbar buttons.
      tooltip -> gchararray: Tooltip
        A tooltip for this action.
      stock-id -> gchararray: Stock Icon
        The stock icon displayed in widgets representing this action.
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      gicon -> GIcon: GIcon
        The GIcon being displayed
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      visible-overflown -> gboolean: Visible when overflown
        When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.
      is-important -> gboolean: Is important
        Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.
      hide-if-empty -> gboolean: Hide if empty
        When TRUE, empty menu proxies for this action are hidden.
      sensitive -> gboolean: Sensitive
        Whether the action is enabled.
      visible -> gboolean: Visible
        Whether the action is visible.
      action-group -> GtkActionGroup: Action Group
        The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        current_value: int
        value: int
        active: bool
        draw_as_radio: bool
        action_group: ActionGroup
        always_show_image: bool
        gicon: Gio.Icon
        hide_if_empty: bool
        icon_name: str
        is_important: bool
        label: str
        name: str
        sensitive: bool
        short_label: str
        stock_id: str
        tooltip: str
        visible: bool
        visible_horizontal: bool
        visible_overflown: bool
        visible_vertical: bool
        group: Optional[RadioAction]

    props: Props = ...
    parent: ToggleAction = ...
    private_data: RadioActionPrivate = ...
    def __init__(
        self,
        current_value: int = ...,
        group: Optional[RadioAction] = ...,
        value: int = ...,
        active: bool = ...,
        draw_as_radio: bool = ...,
        action_group: ActionGroup = ...,
        always_show_image: bool = ...,
        gicon: Gio.Icon = ...,
        hide_if_empty: bool = ...,
        icon_name: str = ...,
        is_important: bool = ...,
        label: str = ...,
        name: str = ...,
        sensitive: bool = ...,
        short_label: str = ...,
        stock_id: str = ...,
        tooltip: str = ...,
        visible: bool = ...,
        visible_horizontal: bool = ...,
        visible_overflown: bool = ...,
        visible_vertical: bool = ...,
    ): ...
    def do_changed(self, current: RadioAction) -> None: ...
    def get_current_value(self) -> int: ...
    def get_group(self) -> list[RadioAction]: ...
    def join_group(self, group_source: Optional[RadioAction] = None) -> None: ...
    @classmethod
    def new(
        cls,
        name: str,
        label: Optional[str],
        tooltip: Optional[str],
        stock_id: Optional[str],
        value: int,
    ) -> RadioAction: ...
    def set_current_value(self, current_value: int) -> None: ...
    def set_group(self, group: Optional[list[RadioAction]] = None) -> None: ...

class RadioActionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioActionClass()
    """

    parent_class: ToggleActionClass = ...
    changed: Callable[[RadioAction, RadioAction], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RadioActionEntry(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioActionEntry()
    """

    name: str = ...
    stock_id: str = ...
    label: str = ...
    accelerator: str = ...
    tooltip: str = ...
    value: int = ...

class RadioActionPrivate(GObject.GPointer): ...

class RadioButton(
    CheckButton, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        RadioButton(**properties)
        new(group:list=None) -> Gtk.Widget
        new_from_widget(radio_group_member:Gtk.RadioButton=None) -> Gtk.Widget
        new_with_label(group:list=None, label:str) -> Gtk.Widget
        new_with_label_from_widget(radio_group_member:Gtk.RadioButton=None, label:str) -> Gtk.Widget
        new_with_mnemonic(group:list=None, label:str) -> Gtk.Widget
        new_with_mnemonic_from_widget(radio_group_member:Gtk.RadioButton=None, label:str) -> Gtk.Widget

    Object GtkRadioButton

    Signals from GtkRadioButton:
      group-changed ()

    Properties from GtkRadioButton:
      group -> GtkRadioButton: Group
        The radio button whose group this widget belongs to.

    Signals from GtkToggleButton:
      toggled ()

    Properties from GtkToggleButton:
      active -> gboolean: Active
        If the toggle button should be pressed in
      inconsistent -> gboolean: Inconsistent
        If the toggle button is in an "in between" state
      draw-indicator -> gboolean: Draw Indicator
        If the toggle part of the button is displayed

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        draw_indicator: bool
        inconsistent: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        group: Optional[RadioButton]
        child: Widget

    props: Props = ...
    check_button: CheckButton = ...
    priv: RadioButtonPrivate = ...
    def __init__(
        self,
        group: Optional[RadioButton] = ...,
        active: bool = ...,
        draw_indicator: bool = ...,
        inconsistent: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_group_changed(self) -> None: ...
    def get_group(self) -> list[RadioButton]: ...
    def join_group(self, group_source: Optional[RadioButton] = None) -> None: ...
    @classmethod
    def new(cls, group: Optional[list[RadioButton]] = None) -> RadioButton: ...
    @classmethod
    def new_from_widget(
        cls, radio_group_member: Optional[RadioButton] = None
    ) -> RadioButton: ...
    @classmethod
    def new_with_label(
        cls, group: Optional[list[RadioButton]], label: str
    ) -> RadioButton: ...
    @classmethod
    def new_with_label_from_widget(
        cls, radio_group_member: Optional[RadioButton], label: str
    ) -> RadioButton: ...
    @classmethod
    def new_with_mnemonic(
        cls, group: Optional[list[RadioButton]], label: str
    ) -> RadioButton: ...
    @classmethod
    def new_with_mnemonic_from_widget(
        cls, radio_group_member: Optional[RadioButton], label: str
    ) -> RadioButton: ...
    def set_group(self, group: Optional[list[RadioButton]] = None) -> None: ...

class RadioButtonAccessible(
    ToggleButtonAccessible, Atk.Action, Atk.Component, Atk.Image
):
    """
    :Constructors:

    ::

        RadioButtonAccessible(**properties)

    Object GtkRadioButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ToggleButtonAccessible = ...
    priv: RadioButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class RadioButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioButtonAccessibleClass()
    """

    parent_class: ToggleButtonAccessibleClass = ...

class RadioButtonAccessiblePrivate(GObject.GPointer): ...

class RadioButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioButtonClass()
    """

    parent_class: CheckButtonClass = ...
    group_changed: Callable[[RadioButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RadioButtonPrivate(GObject.GPointer): ...

class RadioMenuItem(
    CheckMenuItem, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        RadioMenuItem(**properties)
        new(group:list=None) -> Gtk.Widget
        new_from_widget(group:Gtk.RadioMenuItem=None) -> Gtk.Widget
        new_with_label(group:list=None, label:str) -> Gtk.Widget
        new_with_label_from_widget(group:Gtk.RadioMenuItem=None, label:str=None) -> Gtk.Widget
        new_with_mnemonic(group:list=None, label:str) -> Gtk.Widget
        new_with_mnemonic_from_widget(group:Gtk.RadioMenuItem=None, label:str=None) -> Gtk.Widget

    Object GtkRadioMenuItem

    Signals from GtkRadioMenuItem:
      group-changed ()

    Properties from GtkRadioMenuItem:
      group -> GtkRadioMenuItem: Group
        The radio menu item whose group this widget belongs to.

    Signals from GtkCheckMenuItem:
      toggled ()

    Properties from GtkCheckMenuItem:
      active -> gboolean: Active
        Whether the menu item is checked
      inconsistent -> gboolean: Inconsistent
        Whether to display an "inconsistent" state
      draw-as-radio -> gboolean: Draw as radio menu item
        Whether the menu item looks like a radio menu item

    Signals from GtkMenuItem:
      activate ()
      activate-item ()
      toggle-size-request (gpointer)
      toggle-size-allocate (gint)
      select ()
      deselect ()

    Properties from GtkMenuItem:
      right-justified -> gboolean: Right Justified
        Sets whether the menu item appears justified at the right side of a menu bar
      submenu -> GtkMenu: Submenu
        The submenu attached to the menu item, or NULL if it has none
      accel-path -> gchararray: Accel Path
        Sets the accelerator path of the menu item
      label -> gchararray: Label
        The text for the child label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        draw_as_radio: bool
        inconsistent: bool
        accel_path: Optional[str]
        label: str
        right_justified: bool
        submenu: Optional[Menu]
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        group: Optional[RadioMenuItem]
        child: Widget

    props: Props = ...
    check_menu_item: CheckMenuItem = ...
    priv: RadioMenuItemPrivate = ...
    def __init__(
        self,
        group: Optional[RadioMenuItem] = ...,
        active: bool = ...,
        draw_as_radio: bool = ...,
        inconsistent: bool = ...,
        accel_path: Optional[str] = ...,
        label: str = ...,
        right_justified: bool = ...,
        submenu: Optional[Menu] = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_group_changed(self) -> None: ...
    def get_group(self) -> list[RadioMenuItem]: ...
    def join_group(self, group_source: Optional[RadioMenuItem] = None) -> None: ...
    @classmethod
    def new(cls, group: Optional[list[RadioMenuItem]] = None) -> RadioMenuItem: ...
    @classmethod
    def new_from_widget(
        cls, group: Optional[RadioMenuItem] = None
    ) -> RadioMenuItem: ...
    @classmethod
    def new_with_label(
        cls, group: Optional[list[RadioMenuItem]], label: str
    ) -> RadioMenuItem: ...
    @classmethod
    def new_with_label_from_widget(
        cls, group: Optional[RadioMenuItem] = None, label: Optional[str] = None
    ) -> RadioMenuItem: ...
    @classmethod
    def new_with_mnemonic(
        cls, group: Optional[list[RadioMenuItem]], label: str
    ) -> RadioMenuItem: ...
    @classmethod
    def new_with_mnemonic_from_widget(
        cls, group: Optional[RadioMenuItem] = None, label: Optional[str] = None
    ) -> RadioMenuItem: ...
    def set_group(self, group: Optional[list[RadioMenuItem]] = None) -> None: ...

class RadioMenuItemAccessible(
    CheckMenuItemAccessible, Atk.Action, Atk.Component, Atk.Selection
):
    """
    :Constructors:

    ::

        RadioMenuItemAccessible(**properties)

    Object GtkRadioMenuItemAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: CheckMenuItemAccessible = ...
    priv: RadioMenuItemAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class RadioMenuItemAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioMenuItemAccessibleClass()
    """

    parent_class: CheckMenuItemAccessibleClass = ...

class RadioMenuItemAccessiblePrivate(GObject.GPointer): ...

class RadioMenuItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioMenuItemClass()
    """

    parent_class: CheckMenuItemClass = ...
    group_changed: Callable[[RadioMenuItem], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RadioMenuItemPrivate(GObject.GPointer): ...

class RadioToolButton(
    ToggleToolButton, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        RadioToolButton(**properties)
        new(group:list=None) -> Gtk.ToolItem
        new_from_stock(group:list=None, stock_id:str) -> Gtk.ToolItem
        new_from_widget(group:Gtk.RadioToolButton=None) -> Gtk.ToolItem
        new_with_stock_from_widget(group:Gtk.RadioToolButton=None, stock_id:str) -> Gtk.ToolItem

    Object GtkRadioToolButton

    Properties from GtkRadioToolButton:
      group -> GtkRadioToolButton: Group
        The radio tool button whose group this button belongs to.

    Signals from GtkToggleToolButton:
      toggled ()

    Properties from GtkToggleToolButton:
      active -> gboolean: Active
        If the toggle button should be pressed in

    Signals from GtkToolButton:
      clicked ()

    Properties from GtkToolButton:
      label -> gchararray: Label
        Text to show in the item.
      use-underline -> gboolean: Use underline
        If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu
      label-widget -> GtkWidget: Label widget
        Widget to use as the item label
      stock-id -> gchararray: Stock Id
        The stock icon displayed on the item
      icon-name -> gchararray: Icon name
        The name of the themed icon displayed on the item
      icon-widget -> GtkWidget: Icon widget
        Icon widget to display in the item

    Signals from GtkToolItem:
      create-menu-proxy () -> gboolean
      toolbar-reconfigured ()

    Properties from GtkToolItem:
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      is-important -> gboolean: Is important
        Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        icon_name: Optional[str]
        icon_widget: Optional[Widget]
        label: Optional[str]
        label_widget: Optional[Widget]
        stock_id: str
        use_underline: bool
        is_important: bool
        visible_horizontal: bool
        visible_vertical: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        group: Optional[RadioToolButton]
        child: Widget

    props: Props = ...
    parent: ToggleToolButton = ...
    def __init__(
        self,
        group: Optional[RadioToolButton] = ...,
        active: bool = ...,
        icon_name: Optional[str] = ...,
        icon_widget: Optional[Widget] = ...,
        label: Optional[str] = ...,
        label_widget: Optional[Widget] = ...,
        stock_id: Optional[str] = ...,
        use_underline: bool = ...,
        is_important: bool = ...,
        visible_horizontal: bool = ...,
        visible_vertical: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def get_group(self) -> list[RadioButton]: ...
    @classmethod
    def new(cls, group: Optional[list[RadioButton]] = None) -> RadioToolButton: ...
    @classmethod
    def new_from_stock(
        cls, group: Optional[list[RadioButton]], stock_id: str
    ) -> RadioToolButton: ...
    @classmethod
    def new_from_widget(
        cls, group: Optional[RadioToolButton] = None
    ) -> RadioToolButton: ...
    @classmethod
    def new_with_stock_from_widget(
        cls, group: Optional[RadioToolButton], stock_id: str
    ) -> RadioToolButton: ...
    def set_group(self, group: Optional[list[RadioButton]] = None) -> None: ...

class RadioToolButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RadioToolButtonClass()
    """

    parent_class: ToggleToolButtonClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class Range(Widget, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Range(**properties)

    Object GtkRange

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    widget: Widget = ...
    priv: RangePrivate = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def do_adjust_bounds(self, new_value: float) -> None: ...
    def do_change_value(self, scroll: ScrollType, new_value: float) -> bool: ...
    def do_get_range_border(self, border_: Border) -> None: ...
    def do_get_range_size_request(
        self, orientation: Orientation, minimum: int, natural: int
    ) -> None: ...
    def do_move_slider(self, scroll: ScrollType) -> None: ...
    def do_value_changed(self) -> None: ...
    def get_adjustment(self) -> Adjustment: ...
    def get_fill_level(self) -> float: ...
    def get_flippable(self) -> bool: ...
    def get_inverted(self) -> bool: ...
    def get_lower_stepper_sensitivity(self) -> SensitivityType: ...
    def get_min_slider_size(self) -> int: ...
    def get_range_rect(self) -> Gdk.Rectangle: ...
    def get_restrict_to_fill_level(self) -> bool: ...
    def get_round_digits(self) -> int: ...
    def get_show_fill_level(self) -> bool: ...
    def get_slider_range(self) -> Tuple[int, int]: ...
    def get_slider_size_fixed(self) -> bool: ...
    def get_upper_stepper_sensitivity(self) -> SensitivityType: ...
    def get_value(self) -> float: ...
    def set_adjustment(self, adjustment: Adjustment) -> None: ...
    def set_fill_level(self, fill_level: float) -> None: ...
    def set_flippable(self, flippable: bool) -> None: ...
    def set_increments(self, step: float, page: float) -> None: ...
    def set_inverted(self, setting: bool) -> None: ...
    def set_lower_stepper_sensitivity(self, sensitivity: SensitivityType) -> None: ...
    def set_min_slider_size(self, min_size: int) -> None: ...
    def set_range(self, min: float, max: float) -> None: ...
    def set_restrict_to_fill_level(self, restrict_to_fill_level: bool) -> None: ...
    def set_round_digits(self, round_digits: int) -> None: ...
    def set_show_fill_level(self, show_fill_level: bool) -> None: ...
    def set_slider_size_fixed(self, size_fixed: bool) -> None: ...
    def set_upper_stepper_sensitivity(self, sensitivity: SensitivityType) -> None: ...
    def set_value(self, value: float) -> None: ...

class RangeAccessible(WidgetAccessible, Atk.Component, Atk.Value):
    """
    :Constructors:

    ::

        RangeAccessible(**properties)

    Object GtkRangeAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: RangeAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class RangeAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RangeAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class RangeAccessiblePrivate(GObject.GPointer): ...

class RangeClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RangeClass()
    """

    parent_class: WidgetClass = ...
    slider_detail: str = ...
    stepper_detail: str = ...
    value_changed: Callable[[Range], None] = ...
    adjust_bounds: Callable[[Range, float], None] = ...
    move_slider: Callable[[Range, ScrollType], None] = ...
    get_range_border: Callable[[Range, Border], None] = ...
    change_value: Callable[[Range, ScrollType, float], bool] = ...
    get_range_size_request: Callable[[Range, Orientation, int, int], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...

class RangePrivate(GObject.GPointer): ...
class RcContext(GObject.GPointer): ...

class RcProperty(GObject.GPointer):
    """
    :Constructors:

    ::

        RcProperty()
    """

    type_name: int = ...
    property_name: int = ...
    origin: str = ...
    value: Any = ...
    @staticmethod
    def parse_border(
        pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
    ) -> bool: ...
    @staticmethod
    def parse_color(
        pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
    ) -> bool: ...
    @staticmethod
    def parse_enum(
        pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
    ) -> bool: ...
    @staticmethod
    def parse_flags(
        pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
    ) -> bool: ...
    @staticmethod
    def parse_requisition(
        pspec: GObject.ParamSpec, gstring: GLib.String, property_value: Any
    ) -> bool: ...

class RcStyle(GObject.Object):
    """
    :Constructors:

    ::

        RcStyle(**properties)
        new() -> Gtk.RcStyle

    Object GtkRcStyle

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    name: str = ...
    bg_pixmap_name: list[str] = ...
    font_desc: Pango.FontDescription = ...
    color_flags: list[RcFlags] = ...
    fg: list[Gdk.Color] = ...
    bg: list[Gdk.Color] = ...
    text: list[Gdk.Color] = ...
    base: list[Gdk.Color] = ...
    xthickness: int = ...
    ythickness: int = ...
    rc_properties: list[None] = ...
    rc_style_lists: list[None] = ...
    icon_factories: list[None] = ...
    engine_specified: int = ...
    def copy(self) -> RcStyle: ...
    def do_merge(self, src: RcStyle) -> None: ...
    def do_parse(self, settings: Settings, scanner: GLib.Scanner) -> int: ...
    @classmethod
    def new(cls) -> RcStyle: ...

class RcStyleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RcStyleClass()
    """

    parent_class: GObject.ObjectClass = ...
    create_rc_style: None = ...
    parse: Callable[[RcStyle, Settings, GLib.Scanner], int] = ...
    merge: Callable[[RcStyle, RcStyle], None] = ...
    create_style: None = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RecentAction(Action, Buildable, RecentChooser):
    """
    :Constructors:

    ::

        RecentAction(**properties)
        new(name:str, label:str=None, tooltip:str=None, stock_id:str=None) -> Gtk.Action
        new_for_manager(name:str, label:str=None, tooltip:str=None, stock_id:str=None, manager:Gtk.RecentManager=None) -> Gtk.Action

    Object GtkRecentAction

    Properties from GtkRecentAction:
      show-numbers -> gboolean: Show Numbers
        Whether the items should be displayed with a number

    Signals from GtkRecentChooser:
      selection-changed ()
      item-activated ()

    Signals from GtkAction:
      activate ()

    Properties from GtkAction:
      name -> gchararray: Name
        A unique name for the action.
      label -> gchararray: Label
        The label used for menu items and buttons that activate this action.
      short-label -> gchararray: Short label
        A shorter label that may be used on toolbar buttons.
      tooltip -> gchararray: Tooltip
        A tooltip for this action.
      stock-id -> gchararray: Stock Icon
        The stock icon displayed in widgets representing this action.
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      gicon -> GIcon: GIcon
        The GIcon being displayed
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      visible-overflown -> gboolean: Visible when overflown
        When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.
      is-important -> gboolean: Is important
        Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.
      hide-if-empty -> gboolean: Hide if empty
        When TRUE, empty menu proxies for this action are hidden.
      sensitive -> gboolean: Sensitive
        Whether the action is enabled.
      visible -> gboolean: Visible
        Whether the action is visible.
      action-group -> GtkActionGroup: Action Group
        The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        show_numbers: bool
        action_group: ActionGroup
        always_show_image: bool
        gicon: Gio.Icon
        hide_if_empty: bool
        icon_name: str
        is_important: bool
        label: str
        name: str
        sensitive: bool
        short_label: str
        stock_id: str
        tooltip: str
        visible: bool
        visible_horizontal: bool
        visible_overflown: bool
        visible_vertical: bool
        filter: RecentFilter
        limit: int
        local_only: bool
        select_multiple: bool
        show_icons: bool
        show_not_found: bool
        show_private: bool
        show_tips: bool
        sort_type: RecentSortType
        recent_manager: RecentManager

    props: Props = ...
    parent_instance: Action = ...
    priv: RecentActionPrivate = ...
    def __init__(
        self,
        show_numbers: bool = ...,
        action_group: ActionGroup = ...,
        always_show_image: bool = ...,
        gicon: Gio.Icon = ...,
        hide_if_empty: bool = ...,
        icon_name: str = ...,
        is_important: bool = ...,
        label: str = ...,
        name: str = ...,
        sensitive: bool = ...,
        short_label: str = ...,
        stock_id: str = ...,
        tooltip: str = ...,
        visible: bool = ...,
        visible_horizontal: bool = ...,
        visible_overflown: bool = ...,
        visible_vertical: bool = ...,
        filter: Optional[RecentFilter] = ...,
        limit: int = ...,
        local_only: bool = ...,
        recent_manager: RecentManager = ...,
        select_multiple: bool = ...,
        show_icons: bool = ...,
        show_not_found: bool = ...,
        show_private: bool = ...,
        show_tips: bool = ...,
        sort_type: RecentSortType = ...,
    ): ...
    def get_show_numbers(self) -> bool: ...
    @classmethod
    def new(
        cls,
        name: str,
        label: Optional[str] = None,
        tooltip: Optional[str] = None,
        stock_id: Optional[str] = None,
    ) -> RecentAction: ...
    @classmethod
    def new_for_manager(
        cls,
        name: str,
        label: Optional[str] = None,
        tooltip: Optional[str] = None,
        stock_id: Optional[str] = None,
        manager: Optional[RecentManager] = None,
    ) -> RecentAction: ...
    def set_show_numbers(self, show_numbers: bool) -> None: ...

class RecentActionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentActionClass()
    """

    parent_class: ActionClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RecentActionPrivate(GObject.GPointer): ...

class RecentChooser(GObject.GInterface):
    """
    Interface GtkRecentChooser

    Signals from GObject:
      notify (GParam)
    """

    def add_filter(self, filter: RecentFilter) -> None: ...
    def get_current_item(self) -> RecentInfo: ...
    def get_current_uri(self) -> str: ...
    def get_filter(self) -> RecentFilter: ...
    def get_items(self) -> list[RecentInfo]: ...
    def get_limit(self) -> int: ...
    def get_local_only(self) -> bool: ...
    def get_select_multiple(self) -> bool: ...
    def get_show_icons(self) -> bool: ...
    def get_show_not_found(self) -> bool: ...
    def get_show_private(self) -> bool: ...
    def get_show_tips(self) -> bool: ...
    def get_sort_type(self) -> RecentSortType: ...
    def get_uris(self) -> list[str]: ...
    def list_filters(self) -> list[RecentFilter]: ...
    def remove_filter(self, filter: RecentFilter) -> None: ...
    def select_all(self) -> None: ...
    def select_uri(self, uri: str) -> bool: ...
    def set_current_uri(self, uri: str) -> bool: ...
    def set_filter(self, filter: Optional[RecentFilter] = None) -> None: ...
    def set_limit(self, limit: int) -> None: ...
    def set_local_only(self, local_only: bool) -> None: ...
    def set_select_multiple(self, select_multiple: bool) -> None: ...
    def set_show_icons(self, show_icons: bool) -> None: ...
    def set_show_not_found(self, show_not_found: bool) -> None: ...
    def set_show_private(self, show_private: bool) -> None: ...
    def set_show_tips(self, show_tips: bool) -> None: ...
    def set_sort_func(self, sort_func: Callable[..., int], *sort_data: Any) -> None: ...
    def set_sort_type(self, sort_type: RecentSortType) -> None: ...
    def unselect_all(self) -> None: ...
    def unselect_uri(self, uri: str) -> None: ...

class RecentChooserDialog(Dialog, Atk.ImplementorIface, Buildable, RecentChooser):
    """
    :Constructors:

    ::

        RecentChooserDialog(**properties)

    Object GtkRecentChooserDialog

    Signals from GtkRecentChooser:
      selection-changed ()
      item-activated ()

    Signals from GtkDialog:
      response (gint)
      close ()

    Properties from GtkDialog:
      use-header-bar -> gint: Use Header Bar
        Use Header Bar for actions.

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_header_bar: int
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        filter: RecentFilter
        limit: int
        local_only: bool
        select_multiple: bool
        show_icons: bool
        show_not_found: bool
        show_private: bool
        show_tips: bool
        sort_type: RecentSortType
        startup_id: str
        child: Widget
        recent_manager: RecentManager

    props: Props = ...
    parent_instance: Dialog = ...
    priv: RecentChooserDialogPrivate = ...
    def __init__(
        self,
        use_header_bar: int = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        filter: Optional[RecentFilter] = ...,
        limit: int = ...,
        local_only: bool = ...,
        recent_manager: RecentManager = ...,
        select_multiple: bool = ...,
        show_icons: bool = ...,
        show_not_found: bool = ...,
        show_private: bool = ...,
        show_tips: bool = ...,
        sort_type: RecentSortType = ...,
    ): ...

class RecentChooserDialogClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentChooserDialogClass()
    """

    parent_class: DialogClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RecentChooserDialogPrivate(GObject.GPointer): ...

class RecentChooserIface(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentChooserIface()
    """

    base_iface: GObject.TypeInterface = ...
    set_current_uri: Callable[[RecentChooser, str], bool] = ...
    get_current_uri: Callable[[RecentChooser], str] = ...
    select_uri: Callable[[RecentChooser, str], bool] = ...
    unselect_uri: Callable[[RecentChooser, str], None] = ...
    select_all: Callable[[RecentChooser], None] = ...
    unselect_all: Callable[[RecentChooser], None] = ...
    get_items: Callable[[RecentChooser], list[RecentInfo]] = ...
    get_recent_manager: None = ...
    add_filter: Callable[[RecentChooser, RecentFilter], None] = ...
    remove_filter: Callable[[RecentChooser, RecentFilter], None] = ...
    list_filters: Callable[[RecentChooser], list[RecentFilter]] = ...
    set_sort_func: Callable[..., None] = ...
    item_activated: Callable[[RecentChooser], None] = ...
    selection_changed: Callable[[RecentChooser], None] = ...

class RecentChooserMenu(
    Menu, Atk.ImplementorIface, Activatable, Buildable, RecentChooser
):
    """
    :Constructors:

    ::

        RecentChooserMenu(**properties)
        new() -> Gtk.Widget
        new_for_manager(manager:Gtk.RecentManager) -> Gtk.Widget

    Object GtkRecentChooserMenu

    Properties from GtkRecentChooserMenu:
      show-numbers -> gboolean: Show Numbers
        Whether the items should be displayed with a number

    Signals from GtkRecentChooser:
      selection-changed ()
      item-activated ()

    Signals from GtkMenu:
      move-scroll (GtkScrollType)
      popped-up (gpointer, gpointer, gboolean, gboolean)

    Properties from GtkMenu:
      active -> gint: Active
        The currently selected menu item
      accel-group -> GtkAccelGroup: Accel Group
        The accel group holding accelerators for the menu
      accel-path -> gchararray: Accel Path
        An accel path used to conveniently construct accel paths of child items
      attach-widget -> GtkWidget: Attach Widget
        The widget the menu is attached to
      tearoff-state -> gboolean: Tearoff State
        A boolean that indicates whether the menu is torn-off
      tearoff-title -> gchararray: Tearoff Title
        A title that may be displayed by the window manager when this menu is torn-off
      monitor -> gint: Monitor
        The monitor the menu will be popped up on
      reserve-toggle-size -> gboolean: Reserve Toggle Size
        A boolean that indicates whether the menu reserves space for toggles and icons
      anchor-hints -> GdkAnchorHints: Anchor hints
        Positioning hints for when the menu might fall off-screen
      rect-anchor-dx -> gint: Rect anchor dx
        Rect anchor horizontal offset
      rect-anchor-dy -> gint: Rect anchor dy
        Rect anchor vertical offset
      menu-type-hint -> GdkWindowTypeHint: Menu type hint
        Menu window type hint

    Signals from GtkMenuShell:
      cancel ()
      deactivate ()
      selection-done ()
      move-current (GtkMenuDirectionType)
      activate-current (gboolean)
      cycle-focus (GtkDirectionType)
      move-selected (gint) -> gboolean
      insert (GtkWidget, gint)

    Properties from GtkMenuShell:
      take-focus -> gboolean: Take Focus
        A boolean that determines whether the menu grabs the keyboard focus

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        show_numbers: bool
        accel_group: AccelGroup
        accel_path: str
        active: int
        anchor_hints: Gdk.AnchorHints
        attach_widget: Widget
        menu_type_hint: Gdk.WindowTypeHint
        monitor: int
        rect_anchor_dx: int
        rect_anchor_dy: int
        reserve_toggle_size: bool
        tearoff_state: bool
        tearoff_title: str
        take_focus: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        related_action: Action
        use_action_appearance: bool
        filter: RecentFilter
        limit: int
        local_only: bool
        select_multiple: bool
        show_icons: bool
        show_not_found: bool
        show_private: bool
        show_tips: bool
        sort_type: RecentSortType
        child: Widget
        recent_manager: RecentManager

    props: Props = ...
    parent_instance: Menu = ...
    priv: RecentChooserMenuPrivate = ...
    def __init__(
        self,
        show_numbers: bool = ...,
        accel_group: Optional[AccelGroup] = ...,
        accel_path: Optional[str] = ...,
        active: int = ...,
        anchor_hints: Gdk.AnchorHints = ...,
        attach_widget: Widget = ...,
        menu_type_hint: Gdk.WindowTypeHint = ...,
        monitor: int = ...,
        rect_anchor_dx: int = ...,
        rect_anchor_dy: int = ...,
        reserve_toggle_size: bool = ...,
        tearoff_state: bool = ...,
        tearoff_title: str = ...,
        take_focus: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
        filter: Optional[RecentFilter] = ...,
        limit: int = ...,
        local_only: bool = ...,
        recent_manager: RecentManager = ...,
        select_multiple: bool = ...,
        show_icons: bool = ...,
        show_not_found: bool = ...,
        show_private: bool = ...,
        show_tips: bool = ...,
        sort_type: RecentSortType = ...,
    ): ...
    def get_show_numbers(self) -> bool: ...
    @classmethod
    def new(cls) -> RecentChooserMenu: ...
    @classmethod
    def new_for_manager(cls, manager: RecentManager) -> RecentChooserMenu: ...
    def set_show_numbers(self, show_numbers: bool) -> None: ...

class RecentChooserMenuClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentChooserMenuClass()
    """

    parent_class: MenuClass = ...
    gtk_recent1: Callable[[], None] = ...
    gtk_recent2: Callable[[], None] = ...
    gtk_recent3: Callable[[], None] = ...
    gtk_recent4: Callable[[], None] = ...

class RecentChooserMenuPrivate(GObject.GPointer): ...

class RecentChooserWidget(
    Box, Atk.ImplementorIface, Buildable, Orientable, RecentChooser
):
    """
    :Constructors:

    ::

        RecentChooserWidget(**properties)
        new() -> Gtk.Widget
        new_for_manager(manager:Gtk.RecentManager) -> Gtk.Widget

    Object GtkRecentChooserWidget

    Signals from GtkRecentChooser:
      selection-changed ()
      item-activated ()

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        filter: RecentFilter
        limit: int
        local_only: bool
        select_multiple: bool
        show_icons: bool
        show_not_found: bool
        show_private: bool
        show_tips: bool
        sort_type: RecentSortType
        child: Widget
        recent_manager: RecentManager

    props: Props = ...
    parent_instance: Box = ...
    priv: RecentChooserWidgetPrivate = ...
    def __init__(
        self,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
        filter: Optional[RecentFilter] = ...,
        limit: int = ...,
        local_only: bool = ...,
        recent_manager: RecentManager = ...,
        select_multiple: bool = ...,
        show_icons: bool = ...,
        show_not_found: bool = ...,
        show_private: bool = ...,
        show_tips: bool = ...,
        sort_type: RecentSortType = ...,
    ): ...
    @classmethod
    def new(cls) -> RecentChooserWidget: ...
    @classmethod
    def new_for_manager(cls, manager: RecentManager) -> RecentChooserWidget: ...

class RecentChooserWidgetClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentChooserWidgetClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class RecentChooserWidgetPrivate(GObject.GPointer): ...

class RecentData(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentData()
    """

    display_name: str = ...
    description: str = ...
    mime_type: str = ...
    app_name: str = ...
    app_exec: str = ...
    groups: list[str] = ...
    is_private: bool = ...

class RecentFilter(GObject.InitiallyUnowned, Buildable):
    """
    :Constructors:

    ::

        RecentFilter(**properties)
        new() -> Gtk.RecentFilter

    Object GtkRecentFilter

    Signals from GObject:
      notify (GParam)
    """

    def add_age(self, days: int) -> None: ...
    def add_application(self, application: str) -> None: ...
    def add_custom(
        self, needed: RecentFilterFlags, func: Callable[..., bool], *data: Any
    ) -> None: ...
    def add_group(self, group: str) -> None: ...
    def add_mime_type(self, mime_type: str) -> None: ...
    def add_pattern(self, pattern: str) -> None: ...
    def add_pixbuf_formats(self) -> None: ...
    def filter(self, filter_info: RecentFilterInfo) -> bool: ...
    def get_name(self) -> Optional[str]: ...
    def get_needed(self) -> RecentFilterFlags: ...
    @classmethod
    def new(cls) -> RecentFilter: ...
    def set_name(self, name: str) -> None: ...

class RecentFilterInfo(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentFilterInfo()
    """

    contains: RecentFilterFlags = ...
    uri: str = ...
    display_name: str = ...
    mime_type: str = ...
    applications: list[str] = ...
    groups: list[str] = ...
    age: int = ...

class RecentInfo(GObject.GBoxed):
    def create_app_info(
        self, app_name: Optional[str] = None
    ) -> Optional[Gio.AppInfo]: ...
    def exists(self) -> bool: ...
    def get_added(self) -> int: ...
    def get_age(self) -> int: ...
    def get_application_info(
        self, app_name: str
    ) -> Optional[Tuple[str, int, int]]: ...  # CHECK Wrapped function
    def get_applications(self) -> list[str]: ...
    def get_description(self) -> str: ...
    def get_display_name(self) -> str: ...
    def get_gicon(self) -> Optional[Gio.Icon]: ...
    def get_groups(self) -> list[str]: ...
    def get_icon(self, size: int) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_mime_type(self) -> str: ...
    def get_modified(self) -> int: ...
    def get_private_hint(self) -> bool: ...
    def get_short_name(self) -> str: ...
    def get_uri(self) -> str: ...
    def get_uri_display(self) -> Optional[str]: ...
    def get_visited(self) -> int: ...
    def has_application(self, app_name: str) -> bool: ...
    def has_group(self, group_name: str) -> bool: ...
    def is_local(self) -> bool: ...
    def last_application(self) -> str: ...
    def match(self, info_b: RecentInfo) -> bool: ...
    def ref(self) -> RecentInfo: ...
    def unref(self) -> None: ...

class RecentManager(GObject.Object):
    """
    :Constructors:

    ::

        RecentManager(**properties)
        new() -> Gtk.RecentManager

    Object GtkRecentManager

    Signals from GtkRecentManager:
      changed ()

    Properties from GtkRecentManager:
      filename -> gchararray: Filename
        The full path to the file to be used to store and read the list
      size -> gint: Size
        The size of the recently used resources list

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        filename: str
        size: int

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: RecentManagerPrivate = ...
    def __init__(self, filename: str = ...): ...
    def add_full(self, uri: str, recent_data: RecentData) -> bool: ...
    def add_item(self, uri: str) -> bool: ...
    def do_changed(self) -> None: ...
    @staticmethod
    def get_default() -> RecentManager: ...
    def get_items(self) -> list[RecentInfo]: ...
    def has_item(self, uri: str) -> bool: ...
    def lookup_item(self, uri: str) -> Optional[RecentInfo]: ...
    def move_item(self, uri: str, new_uri: Optional[str] = None) -> bool: ...
    @classmethod
    def new(cls) -> RecentManager: ...
    def purge_items(self) -> int: ...
    def remove_item(self, uri: str) -> bool: ...

class RecentManagerClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RecentManagerClass()
    """

    parent_class: GObject.ObjectClass = ...
    changed: Callable[[RecentManager], None] = ...
    _gtk_recent1: None = ...
    _gtk_recent2: None = ...
    _gtk_recent3: None = ...
    _gtk_recent4: None = ...

class RecentManagerPrivate(GObject.GPointer): ...

class RendererCellAccessible(CellAccessible, Atk.Action, Atk.Component, Atk.TableCell):
    """
    :Constructors:

    ::

        RendererCellAccessible(**properties)
        new(renderer:Gtk.CellRenderer) -> Atk.Object

    Object GtkRendererCellAccessible

    Properties from GtkRendererCellAccessible:
      renderer -> GtkCellRenderer: Cell renderer
        The cell renderer represented by this accessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        renderer: CellRenderer
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: CellAccessible = ...
    priv: RendererCellAccessiblePrivate = ...
    def __init__(
        self,
        renderer: CellRenderer = ...,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    @classmethod
    def new(cls, renderer: CellRenderer) -> RendererCellAccessible: ...

class RendererCellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RendererCellAccessibleClass()
    """

    parent_class: CellAccessibleClass = ...

class RendererCellAccessiblePrivate(GObject.GPointer): ...

class RequestedSize(GObject.GPointer):
    """
    :Constructors:

    ::

        RequestedSize()
    """

    data: None = ...
    minimum_size: int = ...
    natural_size: int = ...

class Requisition(GObject.GBoxed):
    """
    :Constructors:

    ::

        Requisition()
        new() -> Gtk.Requisition
    """

    width: int = ...
    height: int = ...
    def copy(self) -> Requisition: ...
    def free(self) -> None: ...
    @classmethod
    def new(cls) -> Requisition: ...

class Revealer(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Revealer(**properties)
        new() -> Gtk.Widget

    Object GtkRevealer

    Properties from GtkRevealer:
      transition-type -> GtkRevealerTransitionType: Transition type
        The type of animation used to transition
      transition-duration -> guint: Transition duration
        The animation duration, in milliseconds
      reveal-child -> gboolean: Reveal Child
        Whether the container should reveal the child
      child-revealed -> gboolean: Child Revealed
        Whether the child is revealed and the animation target reached

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        child_revealed: bool
        reveal_child: bool
        transition_duration: int
        transition_type: RevealerTransitionType
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent_instance: Bin = ...
    def __init__(
        self,
        reveal_child: bool = ...,
        transition_duration: int = ...,
        transition_type: RevealerTransitionType = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_child_revealed(self) -> bool: ...
    def get_reveal_child(self) -> bool: ...
    def get_transition_duration(self) -> int: ...
    def get_transition_type(self) -> RevealerTransitionType: ...
    @classmethod
    def new(cls) -> Revealer: ...
    def set_reveal_child(self, reveal_child: bool) -> None: ...
    def set_transition_duration(self, duration: int) -> None: ...
    def set_transition_type(self, transition: RevealerTransitionType) -> None: ...

class RevealerClass(GObject.GPointer):
    """
    :Constructors:

    ::

        RevealerClass()
    """

    parent_class: BinClass = ...

class Scale(Range, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Scale(**properties)
        new(orientation:Gtk.Orientation, adjustment:Gtk.Adjustment=None) -> Gtk.Widget
        new_with_range(orientation:Gtk.Orientation, min:float, max:float, step:float) -> Gtk.Widget

    Object GtkScale

    Signals from GtkScale:
      format-value (gdouble) -> gchararray

    Properties from GtkScale:
      digits -> gint: Digits
        The number of decimal places that are displayed in the value
      draw-value -> gboolean: Draw Value
        Whether the current value is displayed as a string next to the slider
      has-origin -> gboolean: Has Origin
        Whether the scale has an origin
      value-pos -> GtkPositionType: Value Position
        The position in which the current value is displayed

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        digits: int
        draw_value: bool
        has_origin: bool
        value_pos: PositionType
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    range: Range = ...
    priv: ScalePrivate = ...
    def __init__(
        self,
        digits: int = ...,
        draw_value: bool = ...,
        has_origin: bool = ...,
        value_pos: PositionType = ...,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def add_mark(
        self, value: float, position: PositionType, markup: Optional[str] = None
    ) -> None: ...
    def clear_marks(self) -> None: ...
    def do_draw_value(self) -> None: ...
    def do_format_value(self, value: float) -> str: ...
    def do_get_layout_offsets(self) -> Tuple[int, int]: ...
    def get_digits(self) -> int: ...
    def get_draw_value(self) -> bool: ...
    def get_has_origin(self) -> bool: ...
    def get_layout(self) -> Optional[Pango.Layout]: ...
    def get_layout_offsets(self) -> Tuple[int, int]: ...
    def get_value_pos(self) -> PositionType: ...
    @classmethod
    def new(
        cls, orientation: Orientation, adjustment: Optional[Adjustment] = None
    ) -> Scale: ...
    @classmethod
    def new_with_range(
        cls, orientation: Orientation, min: float, max: float, step: float
    ) -> Scale: ...
    def set_digits(self, digits: int) -> None: ...
    def set_draw_value(self, draw_value: bool) -> None: ...
    def set_has_origin(self, has_origin: bool) -> None: ...
    def set_value_pos(self, pos: PositionType) -> None: ...

class ScaleAccessible(RangeAccessible, Atk.Component, Atk.Value):
    """
    :Constructors:

    ::

        ScaleAccessible(**properties)

    Object GtkScaleAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: RangeAccessible = ...
    priv: ScaleAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ScaleAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScaleAccessibleClass()
    """

    parent_class: RangeAccessibleClass = ...

class ScaleAccessiblePrivate(GObject.GPointer): ...

class ScaleButton(
    Button, Atk.ImplementorIface, Actionable, Activatable, Buildable, Orientable
):
    """
    :Constructors:

    ::

        ScaleButton(**properties)
        new(size:int, min:float, max:float, step:float, icons:list=None) -> Gtk.Widget

    Object GtkScaleButton

    Signals from GtkScaleButton:
      value-changed (gdouble)
      popup ()
      popdown ()

    Properties from GtkScaleButton:
      value -> gdouble: Value
        The value of the scale
      size -> GtkIconSize: Icon size
        The icon size
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this scale button object
      icons -> GStrv: Icons
        List of icon names

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        icons: list[str]
        size: IconSize
        value: float
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent: Button = ...
    priv: ScaleButtonPrivate = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        icons: Sequence[str] = ...,
        size: IconSize = ...,
        value: float = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
        orientation: Orientation = ...,
    ): ...
    def do_value_changed(self, value: float) -> None: ...
    def get_adjustment(self) -> Adjustment: ...
    def get_minus_button(self) -> Button: ...
    def get_plus_button(self) -> Button: ...
    def get_popup(self) -> Widget: ...
    def get_value(self) -> float: ...
    @classmethod
    def new(
        cls,
        size: int,
        min: float,
        max: float,
        step: float,
        icons: Optional[Sequence[str]] = None,
    ) -> ScaleButton: ...
    def set_adjustment(self, adjustment: Adjustment) -> None: ...
    def set_icons(self, icons: Sequence[str]) -> None: ...
    def set_value(self, value: float) -> None: ...

class ScaleButtonAccessible(
    ButtonAccessible, Atk.Action, Atk.Component, Atk.Image, Atk.Value
):
    """
    :Constructors:

    ::

        ScaleButtonAccessible(**properties)

    Object GtkScaleButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ButtonAccessible = ...
    priv: ScaleButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ScaleButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScaleButtonAccessibleClass()
    """

    parent_class: ButtonAccessibleClass = ...

class ScaleButtonAccessiblePrivate(GObject.GPointer): ...

class ScaleButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScaleButtonClass()
    """

    parent_class: ButtonClass = ...
    value_changed: Callable[[ScaleButton, float], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ScaleButtonPrivate(GObject.GPointer): ...

class ScaleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScaleClass()
    """

    parent_class: RangeClass = ...
    format_value: Callable[[Scale, float], str] = ...
    draw_value: Callable[[Scale], None] = ...
    get_layout_offsets: Callable[[Scale], Tuple[int, int]] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ScalePrivate(GObject.GPointer): ...

class Scrollable(GObject.GInterface):
    """
    Interface GtkScrollable

    Signals from GObject:
      notify (GParam)
    """

    def get_border(self) -> Tuple[bool, Border]: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_hscroll_policy(self) -> ScrollablePolicy: ...
    def get_vadjustment(self) -> Adjustment: ...
    def get_vscroll_policy(self) -> ScrollablePolicy: ...
    def set_hadjustment(self, hadjustment: Optional[Adjustment] = None) -> None: ...
    def set_hscroll_policy(self, policy: ScrollablePolicy) -> None: ...
    def set_vadjustment(self, vadjustment: Optional[Adjustment] = None) -> None: ...
    def set_vscroll_policy(self, policy: ScrollablePolicy) -> None: ...

class ScrollableInterface(GObject.GPointer):
    """
    :Constructors:

    ::

        ScrollableInterface()
    """

    base_iface: GObject.TypeInterface = ...
    get_border: Callable[[Scrollable], Tuple[bool, Border]] = ...

class Scrollbar(Range, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Scrollbar(**properties)
        new(orientation:Gtk.Orientation, adjustment:Gtk.Adjustment=None) -> Gtk.Widget

    Object GtkScrollbar

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    range: Range = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(
        cls, orientation: Orientation, adjustment: Optional[Adjustment] = None
    ) -> Scrollbar: ...

class ScrollbarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScrollbarClass()
    """

    parent_class: RangeClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ScrolledWindow(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        ScrolledWindow(**properties)
        new(hadjustment:Gtk.Adjustment=None, vadjustment:Gtk.Adjustment=None) -> Gtk.Widget

    Object GtkScrolledWindow

    Signals from GtkScrolledWindow:
      move-focus-out (GtkDirectionType)
      scroll-child (GtkScrollType, gboolean) -> gboolean
      edge-overshot (GtkPositionType)
      edge-reached (GtkPositionType)

    Properties from GtkScrolledWindow:
      hadjustment -> GtkAdjustment: Horizontal Adjustment
        The GtkAdjustment for the horizontal position
      vadjustment -> GtkAdjustment: Vertical Adjustment
        The GtkAdjustment for the vertical position
      hscrollbar-policy -> GtkPolicyType: Horizontal Scrollbar Policy
        When the horizontal scrollbar is displayed
      vscrollbar-policy -> GtkPolicyType: Vertical Scrollbar Policy
        When the vertical scrollbar is displayed
      window-placement -> GtkCornerType: Window Placement
        Where the contents are located with respect to the scrollbars.
      window-placement-set -> gboolean: Window Placement Set
        Whether "window-placement" should be used to determine the location of the contents with respect to the scrollbars.
      shadow-type -> GtkShadowType: Shadow Type
        Style of bevel around the contents
      min-content-width -> gint: Minimum Content Width
        The minimum width that the scrolled window will allocate to its content
      min-content-height -> gint: Minimum Content Height
        The minimum height that the scrolled window will allocate to its content
      kinetic-scrolling -> gboolean: Kinetic Scrolling
        Kinetic scrolling mode.
      overlay-scrolling -> gboolean: Overlay Scrolling
        Overlay scrolling mode
      max-content-width -> gint: Maximum Content Width
        The maximum width that the scrolled window will allocate to its content
      max-content-height -> gint: Maximum Content Height
        The maximum height that the scrolled window will allocate to its content
      propagate-natural-width -> gboolean: Propagate Natural Width
        Propagate Natural Width
      propagate-natural-height -> gboolean: Propagate Natural Height
        Propagate Natural Height

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        hadjustment: Adjustment
        hscrollbar_policy: PolicyType
        kinetic_scrolling: bool
        max_content_height: int
        max_content_width: int
        min_content_height: int
        min_content_width: int
        overlay_scrolling: bool
        propagate_natural_height: bool
        propagate_natural_width: bool
        shadow_type: ShadowType
        vadjustment: Adjustment
        vscrollbar_policy: PolicyType
        window_placement: CornerType
        window_placement_set: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Bin = ...
    priv: ScrolledWindowPrivate = ...
    def __init__(
        self,
        hadjustment: Optional[Adjustment] = ...,
        hscrollbar_policy: PolicyType = ...,
        kinetic_scrolling: bool = ...,
        max_content_height: int = ...,
        max_content_width: int = ...,
        min_content_height: int = ...,
        min_content_width: int = ...,
        overlay_scrolling: bool = ...,
        propagate_natural_height: bool = ...,
        propagate_natural_width: bool = ...,
        shadow_type: ShadowType = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscrollbar_policy: PolicyType = ...,
        window_placement: CornerType = ...,
        window_placement_set: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_with_viewport(self, child: Widget) -> None: ...
    def do_move_focus_out(self, direction: DirectionType) -> None: ...
    def do_scroll_child(self, scroll: ScrollType, horizontal: bool) -> bool: ...
    def get_capture_button_press(self) -> bool: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_hscrollbar(self) -> Widget: ...
    def get_kinetic_scrolling(self) -> bool: ...
    def get_max_content_height(self) -> int: ...
    def get_max_content_width(self) -> int: ...
    def get_min_content_height(self) -> int: ...
    def get_min_content_width(self) -> int: ...
    def get_overlay_scrolling(self) -> bool: ...
    def get_placement(self) -> CornerType: ...
    def get_policy(self) -> Tuple[PolicyType, PolicyType]: ...
    def get_propagate_natural_height(self) -> bool: ...
    def get_propagate_natural_width(self) -> bool: ...
    def get_shadow_type(self) -> ShadowType: ...
    def get_vadjustment(self) -> Adjustment: ...
    def get_vscrollbar(self) -> Widget: ...
    @classmethod
    def new(
        cls,
        hadjustment: Optional[Adjustment] = None,
        vadjustment: Optional[Adjustment] = None,
    ) -> ScrolledWindow: ...
    def set_capture_button_press(self, capture_button_press: bool) -> None: ...
    def set_hadjustment(self, hadjustment: Optional[Adjustment] = None) -> None: ...
    def set_kinetic_scrolling(self, kinetic_scrolling: bool) -> None: ...
    def set_max_content_height(self, height: int) -> None: ...
    def set_max_content_width(self, width: int) -> None: ...
    def set_min_content_height(self, height: int) -> None: ...
    def set_min_content_width(self, width: int) -> None: ...
    def set_overlay_scrolling(self, overlay_scrolling: bool) -> None: ...
    def set_placement(self, window_placement: CornerType) -> None: ...
    def set_policy(
        self, hscrollbar_policy: PolicyType, vscrollbar_policy: PolicyType
    ) -> None: ...
    def set_propagate_natural_height(self, propagate: bool) -> None: ...
    def set_propagate_natural_width(self, propagate: bool) -> None: ...
    def set_shadow_type(self, type: ShadowType) -> None: ...
    def set_vadjustment(self, vadjustment: Optional[Adjustment] = None) -> None: ...
    def unset_placement(self) -> None: ...

class ScrolledWindowAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        ScrolledWindowAccessible(**properties)

    Object GtkScrolledWindowAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: ScrolledWindowAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ScrolledWindowAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScrolledWindowAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class ScrolledWindowAccessiblePrivate(GObject.GPointer): ...

class ScrolledWindowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ScrolledWindowClass()
    """

    parent_class: BinClass = ...
    scrollbar_spacing: int = ...
    scroll_child: Callable[[ScrolledWindow, ScrollType, bool], bool] = ...
    move_focus_out: Callable[[ScrolledWindow, DirectionType], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ScrolledWindowPrivate(GObject.GPointer): ...

class SearchBar(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        SearchBar(**properties)
        new() -> Gtk.Widget

    Object GtkSearchBar

    Properties from GtkSearchBar:
      search-mode-enabled -> gboolean: Search Mode Enabled
        Whether the search mode is on and the search bar shown
      show-close-button -> gboolean: Show Close Button
        Whether to show the close button in the toolbar

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        search_mode_enabled: bool
        show_close_button: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent: Bin = ...
    def __init__(
        self,
        search_mode_enabled: bool = ...,
        show_close_button: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def connect_entry(self, entry: Entry) -> None: ...
    def get_search_mode(self) -> bool: ...
    def get_show_close_button(self) -> bool: ...
    def handle_event(self, event: Gdk.Event) -> bool: ...
    @classmethod
    def new(cls) -> SearchBar: ...
    def set_search_mode(self, search_mode: bool) -> None: ...
    def set_show_close_button(self, visible: bool) -> None: ...

class SearchBarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SearchBarClass()
    """

    parent_class: BinClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SearchEntry(Entry, Atk.ImplementorIface, Buildable, CellEditable, Editable):
    """
    :Constructors:

    ::

        SearchEntry(**properties)
        new() -> Gtk.Widget

    Object GtkSearchEntry

    Signals from GtkSearchEntry:
      search-changed ()
      next-match ()
      previous-match ()
      stop-search ()

    Signals from GtkEditable:
      changed ()
      insert-text (gchararray, gint, gpointer)
      delete-text (gint, gint)

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkEntry:
      activate ()
      move-cursor (GtkMovementStep, gint, gboolean)
      copy-clipboard ()
      populate-popup (GtkWidget)
      insert-at-cursor (gchararray)
      delete-from-cursor (GtkDeleteType, gint)
      backspace ()
      cut-clipboard ()
      paste-clipboard ()
      toggle-overwrite ()
      icon-press (GtkEntryIconPosition, GdkEvent)
      icon-release (GtkEntryIconPosition, GdkEvent)
      preedit-changed (gchararray)
      insert-emoji ()

    Properties from GtkEntry:
      buffer -> GtkEntryBuffer: Text Buffer
        Text buffer object which actually stores entry text
      cursor-position -> gint: Cursor Position
        The current position of the insertion cursor in chars
      selection-bound -> gint: Selection Bound
        The position of the opposite end of the selection from the cursor in chars
      editable -> gboolean: Editable
        Whether the entry contents can be edited
      max-length -> gint: Maximum length
        Maximum number of characters for this entry. Zero if no maximum
      visibility -> gboolean: Visibility
        FALSE displays the "invisible char" instead of the actual text (password mode)
      has-frame -> gboolean: Has Frame
        FALSE removes outside bevel from entry
      inner-border -> GtkBorder: Inner Border
        Border between text and frame. Overrides the inner-border style property
      invisible-char -> guint: Invisible character
        The character to use when masking entry contents (in "password mode")
      activates-default -> gboolean: Activates default
        Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed
      width-chars -> gint: Width in chars
        Number of characters to leave space for in the entry
      max-width-chars -> gint: Maximum width in characters
        The desired maximum width of the entry, in characters
      scroll-offset -> gint: Scroll offset
        Number of pixels of the entry scrolled off the screen to the left
      text -> gchararray: Text
        The contents of the entry
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      truncate-multiline -> gboolean: Truncate multiline
        Whether to truncate multiline pastes to one line.
      shadow-type -> GtkShadowType: Shadow type
        Which kind of shadow to draw around the entry when has-frame is set
      overwrite-mode -> gboolean: Overwrite mode
        Whether new text overwrites existing text
      text-length -> guint: Text length
        Length of the text currently in the entry
      invisible-char-set -> gboolean: Invisible character set
        Whether the invisible character has been set
      caps-lock-warning -> gboolean: Caps Lock warning
        Whether password entries will show a warning when Caps Lock is on
      progress-fraction -> gdouble: Progress Fraction
        The current fraction of the task that's been completed
      progress-pulse-step -> gdouble: Progress Pulse Step
        The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse()
      primary-icon-pixbuf -> GdkPixbuf: Primary pixbuf
        Primary pixbuf for the entry
      secondary-icon-pixbuf -> GdkPixbuf: Secondary pixbuf
        Secondary pixbuf for the entry
      primary-icon-stock -> gchararray: Primary stock ID
        Stock ID for primary icon
      secondary-icon-stock -> gchararray: Secondary stock ID
        Stock ID for secondary icon
      primary-icon-name -> gchararray: Primary icon name
        Icon name for primary icon
      secondary-icon-name -> gchararray: Secondary icon name
        Icon name for secondary icon
      primary-icon-gicon -> GIcon: Primary GIcon
        GIcon for primary icon
      secondary-icon-gicon -> GIcon: Secondary GIcon
        GIcon for secondary icon
      primary-icon-storage-type -> GtkImageType: Primary storage type
        The representation being used for primary icon
      secondary-icon-storage-type -> GtkImageType: Secondary storage type
        The representation being used for secondary icon
      primary-icon-activatable -> gboolean: Primary icon activatable
        Whether the primary icon is activatable
      secondary-icon-activatable -> gboolean: Secondary icon activatable
        Whether the secondary icon is activatable
      primary-icon-sensitive -> gboolean: Primary icon sensitive
        Whether the primary icon is sensitive
      secondary-icon-sensitive -> gboolean: Secondary icon sensitive
        Whether the secondary icon is sensitive
      primary-icon-tooltip-text -> gchararray: Primary icon tooltip text
        The contents of the tooltip on the primary icon
      secondary-icon-tooltip-text -> gchararray: Secondary icon tooltip text
        The contents of the tooltip on the secondary icon
      primary-icon-tooltip-markup -> gchararray: Primary icon tooltip markup
        The contents of the tooltip on the primary icon
      secondary-icon-tooltip-markup -> gchararray: Secondary icon tooltip markup
        The contents of the tooltip on the secondary icon
      im-module -> gchararray: IM module
        Which IM module should be used
      placeholder-text -> gchararray: Placeholder text
        Show text in the entry when it's empty and unfocused
      completion -> GtkEntryCompletion: Completion
        The auxiliary completion object
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the label
      populate-all -> gboolean: Populate all
        Whether to emit ::populate-popup for touch popups
      tabs -> PangoTabArray: Tabs
        A list of tabstop locations to apply to the text of the entry
      show-emoji-icon -> gboolean: Emoji icon
        Whether to show an icon for Emoji
      enable-emoji-completion -> gboolean: Enable Emoji completion
        Whether to suggest Emoji replacements

    Signals from GtkEditable:
      changed ()
      insert-text (gchararray, gint, gpointer)
      delete-text (gint, gint)

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activates_default: bool
        attributes: Optional[Pango.AttrList]
        buffer: EntryBuffer
        caps_lock_warning: bool
        completion: EntryCompletion
        cursor_position: int
        editable: bool
        enable_emoji_completion: bool
        has_frame: bool
        im_module: str
        inner_border: Optional[Border]
        input_hints: InputHints
        input_purpose: InputPurpose
        invisible_char: int
        invisible_char_set: bool
        max_length: int
        max_width_chars: int
        overwrite_mode: bool
        placeholder_text: str
        populate_all: bool
        primary_icon_activatable: bool
        primary_icon_gicon: Gio.Icon
        primary_icon_name: str
        primary_icon_pixbuf: GdkPixbuf.Pixbuf
        primary_icon_sensitive: bool
        primary_icon_stock: str
        primary_icon_storage_type: ImageType
        primary_icon_tooltip_markup: str
        primary_icon_tooltip_text: str
        progress_fraction: float
        progress_pulse_step: float
        scroll_offset: int
        secondary_icon_activatable: bool
        secondary_icon_gicon: Gio.Icon
        secondary_icon_name: str
        secondary_icon_pixbuf: GdkPixbuf.Pixbuf
        secondary_icon_sensitive: bool
        secondary_icon_stock: str
        secondary_icon_storage_type: ImageType
        secondary_icon_tooltip_markup: str
        secondary_icon_tooltip_text: str
        selection_bound: int
        shadow_type: ShadowType
        show_emoji_icon: bool
        tabs: Optional[Pango.TabArray]
        text: str
        text_length: int
        truncate_multiline: bool
        visibility: bool
        width_chars: int
        xalign: float
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        editing_canceled: bool

    props: Props = ...
    parent: Entry = ...
    def __init__(
        self,
        activates_default: bool = ...,
        attributes: Pango.AttrList = ...,
        buffer: EntryBuffer = ...,
        caps_lock_warning: bool = ...,
        completion: Optional[EntryCompletion] = ...,
        editable: bool = ...,
        enable_emoji_completion: bool = ...,
        has_frame: bool = ...,
        im_module: str = ...,
        inner_border: Optional[Border] = ...,
        input_hints: InputHints = ...,
        input_purpose: InputPurpose = ...,
        invisible_char: int = ...,
        invisible_char_set: bool = ...,
        max_length: int = ...,
        max_width_chars: int = ...,
        overwrite_mode: bool = ...,
        placeholder_text: Optional[str] = ...,
        populate_all: bool = ...,
        primary_icon_activatable: bool = ...,
        primary_icon_gicon: Gio.Icon = ...,
        primary_icon_name: str = ...,
        primary_icon_pixbuf: GdkPixbuf.Pixbuf = ...,
        primary_icon_sensitive: bool = ...,
        primary_icon_stock: str = ...,
        primary_icon_tooltip_markup: str = ...,
        primary_icon_tooltip_text: str = ...,
        progress_fraction: float = ...,
        progress_pulse_step: float = ...,
        secondary_icon_activatable: bool = ...,
        secondary_icon_gicon: Gio.Icon = ...,
        secondary_icon_name: str = ...,
        secondary_icon_pixbuf: GdkPixbuf.Pixbuf = ...,
        secondary_icon_sensitive: bool = ...,
        secondary_icon_stock: str = ...,
        secondary_icon_tooltip_markup: str = ...,
        secondary_icon_tooltip_text: str = ...,
        shadow_type: ShadowType = ...,
        show_emoji_icon: bool = ...,
        tabs: Pango.TabArray = ...,
        text: str = ...,
        truncate_multiline: bool = ...,
        visibility: bool = ...,
        width_chars: int = ...,
        xalign: float = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        editing_canceled: bool = ...,
    ): ...
    def do_next_match(self) -> None: ...
    def do_previous_match(self) -> None: ...
    def do_search_changed(self) -> None: ...
    def do_stop_search(self) -> None: ...
    def handle_event(self, event: Gdk.Event) -> bool: ...
    @classmethod
    def new(cls) -> SearchEntry: ...

class SearchEntryClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SearchEntryClass()
    """

    parent_class: EntryClass = ...
    search_changed: Callable[[SearchEntry], None] = ...
    next_match: Callable[[SearchEntry], None] = ...
    previous_match: Callable[[SearchEntry], None] = ...
    stop_search: Callable[[SearchEntry], None] = ...

class SelectionData(GObject.GBoxed):
    def copy(self) -> SelectionData: ...
    def free(self) -> None: ...
    def get_data(self) -> bytes: ...
    def get_data_type(self) -> Gdk.Atom: ...
    def get_display(self) -> Gdk.Display: ...
    def get_format(self) -> int: ...
    def get_length(self) -> int: ...
    def get_pixbuf(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_selection(self) -> Gdk.Atom: ...
    def get_target(self) -> Gdk.Atom: ...
    def get_targets(self) -> Tuple[bool, list[Gdk.Atom]]: ...
    def get_text(self) -> Optional[str]: ...
    def get_uris(self) -> list[str]: ...
    def set(self, type: Gdk.Atom, format: int, data: Sequence[int]) -> None: ...
    def set_pixbuf(self, pixbuf: GdkPixbuf.Pixbuf) -> bool: ...
    def set_text(self, str: str, len: int) -> bool: ...
    def set_uris(self, uris: Sequence[str]) -> bool: ...
    def targets_include_image(self, writable: bool) -> bool: ...
    def targets_include_rich_text(self, buffer: TextBuffer) -> bool: ...
    def targets_include_text(self) -> bool: ...
    def targets_include_uri(self) -> bool: ...

class Separator(Widget, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Separator(**properties)
        new(orientation:Gtk.Orientation) -> Gtk.Widget

    Object GtkSeparator

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    widget: Widget = ...
    priv: SeparatorPrivate = ...
    def __init__(
        self,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, orientation: Orientation) -> Separator: ...

class SeparatorClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SeparatorClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SeparatorMenuItem(
    MenuItem, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        SeparatorMenuItem(**properties)
        new() -> Gtk.Widget

    Object GtkSeparatorMenuItem

    Signals from GtkMenuItem:
      activate ()
      activate-item ()
      toggle-size-request (gpointer)
      toggle-size-allocate (gint)
      select ()
      deselect ()

    Properties from GtkMenuItem:
      right-justified -> gboolean: Right Justified
        Sets whether the menu item appears justified at the right side of a menu bar
      submenu -> GtkMenu: Submenu
        The submenu attached to the menu item, or NULL if it has none
      accel-path -> gchararray: Accel Path
        Sets the accelerator path of the menu item
      label -> gchararray: Label
        The text for the child label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_path: Optional[str]
        label: str
        right_justified: bool
        submenu: Optional[Menu]
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    menu_item: MenuItem = ...
    def __init__(
        self,
        accel_path: Optional[str] = ...,
        label: str = ...,
        right_justified: bool = ...,
        submenu: Optional[Menu] = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    @classmethod
    def new(cls) -> SeparatorMenuItem: ...

class SeparatorMenuItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SeparatorMenuItemClass()
    """

    parent_class: MenuItemClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SeparatorPrivate(GObject.GPointer): ...

class SeparatorToolItem(ToolItem, Atk.ImplementorIface, Activatable, Buildable):
    """
    :Constructors:

    ::

        SeparatorToolItem(**properties)
        new() -> Gtk.ToolItem

    Object GtkSeparatorToolItem

    Properties from GtkSeparatorToolItem:
      draw -> gboolean: Draw
        Whether the separator is drawn, or just blank

    Signals from GtkToolItem:
      create-menu-proxy () -> gboolean
      toolbar-reconfigured ()

    Properties from GtkToolItem:
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      is-important -> gboolean: Is important
        Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        draw: bool
        is_important: bool
        visible_horizontal: bool
        visible_vertical: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: ToolItem = ...
    priv: SeparatorToolItemPrivate = ...
    def __init__(
        self,
        draw: bool = ...,
        is_important: bool = ...,
        visible_horizontal: bool = ...,
        visible_vertical: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def get_draw(self) -> bool: ...
    @classmethod
    def new(cls) -> SeparatorToolItem: ...
    def set_draw(self, draw: bool) -> None: ...

class SeparatorToolItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SeparatorToolItemClass()
    """

    parent_class: ToolItemClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SeparatorToolItemPrivate(GObject.GPointer): ...

class Settings(GObject.Object, StyleProvider):
    """
    :Constructors:

    ::

        Settings(**properties)

    Object GtkSettings

    Properties from GtkSettings:
      gtk-double-click-time -> gint: Double Click Time
        Maximum time allowed between two clicks for them to be considered a double click (in milliseconds)
      gtk-double-click-distance -> gint: Double Click Distance
        Maximum distance allowed between two clicks for them to be considered a double click (in pixels)
      gtk-cursor-blink -> gboolean: Cursor Blink
        Whether the cursor should blink
      gtk-cursor-blink-time -> gint: Cursor Blink Time
        Length of the cursor blink cycle, in milliseconds
      gtk-cursor-blink-timeout -> gint: Cursor Blink Timeout
        Time after which the cursor stops blinking, in seconds
      gtk-split-cursor -> gboolean: Split Cursor
        Whether two cursors should be displayed for mixed left-to-right and right-to-left text
      gtk-cursor-aspect-ratio -> gfloat: Cursor Aspect Ratio
        The aspect ratio of the text caret
      gtk-theme-name -> gchararray: Theme Name
        Name of theme to load
      gtk-icon-theme-name -> gchararray: Icon Theme Name
        Name of icon theme to use
      gtk-fallback-icon-theme -> gchararray: Fallback Icon Theme Name
        Name of a icon theme to fall back to
      gtk-key-theme-name -> gchararray: Key Theme Name
        Name of key theme to load
      gtk-menu-bar-accel -> gchararray: Menu bar accelerator
        Keybinding to activate the menu bar
      gtk-dnd-drag-threshold -> gint: Drag threshold
        Number of pixels the cursor can move before dragging
      gtk-font-name -> gchararray: Font Name
        The default font family and size to use
      gtk-icon-sizes -> gchararray: Icon Sizes
        List of icon sizes (gtk-menu=16,16:gtk-button=20,20...
      gtk-modules -> gchararray: GTK Modules
        List of currently active GTK modules
      gtk-xft-antialias -> gint: Xft Antialias
        Whether to antialias Xft fonts; 0=no, 1=yes, -1=default
      gtk-xft-hinting -> gint: Xft Hinting
        Whether to hint Xft fonts; 0=no, 1=yes, -1=default
      gtk-xft-hintstyle -> gchararray: Xft Hint Style
        What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull
      gtk-xft-rgba -> gchararray: Xft RGBA
        Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr
      gtk-xft-dpi -> gint: Xft DPI
        Resolution for Xft, in 1024 * dots/inch. -1 to use default value
      gtk-cursor-theme-name -> gchararray: Cursor theme name
        Name of the cursor theme to use, or NULL to use the default theme
      gtk-cursor-theme-size -> gint: Cursor theme size
        Size to use for cursors, or 0 to use the default size
      gtk-alternative-button-order -> gboolean: Alternative button order
        Whether buttons in dialogs should use the alternative button order
      gtk-alternative-sort-arrows -> gboolean: 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)
      gtk-show-input-method-menu -> gboolean: Show the 'Input Methods' menu
        Whether the context menus of entries and text views should offer to change the input method
      gtk-show-unicode-menu -> gboolean: Show the 'Insert Unicode Control Character' menu
        Whether the context menus of entries and text views should offer to insert control characters
      gtk-timeout-initial -> gint: Start timeout
        Starting value for timeouts, when button is pressed
      gtk-timeout-repeat -> gint: Repeat timeout
        Repeat value for timeouts, when button is pressed
      gtk-timeout-expand -> gint: Expand timeout
        Expand value for timeouts, when a widget is expanding a new region
      gtk-color-scheme -> gchararray: Color scheme
        A palette of named colors for use in themes
      gtk-enable-animations -> gboolean: Enable Animations
        Whether to enable toolkit-wide animations.
      gtk-touchscreen-mode -> gboolean: Enable Touchscreen Mode
        When TRUE, there are no motion notify events delivered on this screen
      gtk-tooltip-timeout -> gint: Tooltip timeout
        Timeout before tooltip is shown
      gtk-tooltip-browse-timeout -> gint: Tooltip browse timeout
        Timeout before tooltip is shown when browse mode is enabled
      gtk-tooltip-browse-mode-timeout -> gint: Tooltip browse mode timeout
        Timeout after which browse mode is disabled
      gtk-keynav-cursor-only -> gboolean: Keynav Cursor Only
        When TRUE, there are only cursor keys available to navigate widgets
      gtk-keynav-wrap-around -> gboolean: Keynav Wrap Around
        Whether to wrap around when keyboard-navigating widgets
      gtk-error-bell -> gboolean: Error Bell
        When TRUE, keyboard navigation and other errors will cause a beep
      color-hash -> GHashTable: Color Hash
        A hash table representation of the color scheme.
      gtk-file-chooser-backend -> gchararray: Default file chooser backend
        Name of the GtkFileChooser backend to use by default
      gtk-print-backends -> gchararray: Default print backend
        List of the GtkPrintBackend backends to use by default
      gtk-print-preview-command -> gchararray: Default command to run when displaying a print preview
        Command to run when displaying a print preview
      gtk-enable-mnemonics -> gboolean: Enable Mnemonics
        Whether labels should have mnemonics
      gtk-enable-accels -> gboolean: Enable Accelerators
        Whether menu items should have accelerators
      gtk-recent-files-limit -> gint: Recent Files Limit
        Number of recently used files
      gtk-im-module -> gchararray: Default IM module
        Which IM module should be used by default
      gtk-recent-files-max-age -> gint: Recent Files Max Age
        Maximum age of recently used files, in days
      gtk-fontconfig-timestamp -> guint: Fontconfig configuration timestamp
        Timestamp of current fontconfig configuration
      gtk-sound-theme-name -> gchararray: Sound Theme Name
        XDG sound theme name
      gtk-enable-input-feedback-sounds -> gboolean: Audible Input Feedback
        Whether to play event sounds as feedback to user input
      gtk-enable-event-sounds -> gboolean: Enable Event Sounds
        Whether to play any event sounds at all
      gtk-enable-tooltips -> gboolean: Enable Tooltips
        Whether tooltips should be shown on widgets
      gtk-toolbar-style -> GtkToolbarStyle: Toolbar style
        Whether default toolbars have text only, text and icons, icons only, etc.
      gtk-toolbar-icon-size -> GtkIconSize: Toolbar Icon Size
        The size of icons in default toolbars.
      gtk-auto-mnemonics -> gboolean: Auto Mnemonics
        Whether mnemonics should be automatically shown and hidden when the user presses the mnemonic activator.
      gtk-primary-button-warps-slider -> gboolean: Primary button warps slider
        Whether a primary click on the trough should warp the slider into position
      gtk-visible-focus -> GtkPolicyType: Visible Focus
        Whether 'focus rectangles' should be hidden until the user starts to use the keyboard.
      gtk-application-prefer-dark-theme -> gboolean: Application prefers a dark theme
        Whether the application prefers to have a dark theme.
      gtk-button-images -> gboolean: Show button images
        Whether images should be shown on buttons
      gtk-entry-select-on-focus -> gboolean: Select on focus
        Whether to select the contents of an entry when it is focused
      gtk-entry-password-hint-timeout -> guint: Password Hint Timeout
        How long to show the last input character in hidden entries
      gtk-menu-images -> gboolean: Show menu images
        Whether images should be shown in menus
      gtk-menu-bar-popup-delay -> gint: Delay before drop down menus appear
        Delay before the submenus of a menu bar appear
      gtk-scrolled-window-placement -> GtkCornerType: Scrolled Window Placement
        Where the contents of scrolled windows are located with respect to the scrollbars, if not overridden by the scrolled window's own placement.
      gtk-can-change-accels -> gboolean: Can change accelerators
        Whether menu accelerators can be changed by pressing a key over the menu item
      gtk-menu-popup-delay -> gint: Delay before submenus appear
        Minimum time the pointer must stay over a menu item before the submenu appear
      gtk-menu-popdown-delay -> gint: Delay before hiding a submenu
        The time before hiding a submenu when the pointer is moving towards the submenu
      gtk-label-select-on-focus -> gboolean: Select on focus
        Whether to select the contents of a selectable label when it is focused
      gtk-color-palette -> gchararray: Custom palette
        Palette to use in the color selector
      gtk-im-preedit-style -> GtkIMPreeditStyle: IM Preedit style
        How to draw the input method preedit string
      gtk-im-status-style -> GtkIMStatusStyle: IM Status style
        How to draw the input method statusbar
      gtk-shell-shows-app-menu -> gboolean: 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.
      gtk-shell-shows-menubar -> gboolean: Desktop shell shows the menubar
        Set to TRUE if the desktop environment is displaying the menubar, FALSE if the app should display it itself.
      gtk-shell-shows-desktop -> gboolean: Desktop environment shows the desktop folder
        Set to TRUE if the desktop environment is displaying the desktop folder, FALSE if not.
      gtk-decoration-layout -> gchararray: Decoration Layout
        The layout for window decorations
      gtk-titlebar-double-click -> gchararray: Titlebar double-click action
        The action to take on titlebar double-click
      gtk-titlebar-middle-click -> gchararray: Titlebar middle-click action
        The action to take on titlebar middle-click
      gtk-titlebar-right-click -> gchararray: Titlebar right-click action
        The action to take on titlebar right-click
      gtk-dialogs-use-header -> gboolean: Dialogs use header bar
        Whether builtin GTK+ dialogs should use a header bar instead of an action area.
      gtk-enable-primary-paste -> gboolean: Enable primary paste
        Whether a middle click on a mouse should paste the 'PRIMARY' clipboard content at the cursor location.
      gtk-recent-files-enabled -> gboolean: Recent Files Enabled
        Whether GTK+ remembers recent files
      gtk-long-press-time -> guint: Long press time
        Time for a button/touch press to be considered a long press (in milliseconds)
      gtk-keynav-use-caret -> gboolean: Whether to show cursor in text
        Whether to show cursor in text
      gtk-overlay-scrolling -> gboolean: Whether to use overlay scrollbars
        Whether to use overlay scrollbars

    Signals from GtkStyleProviderPrivate:
      -gtk-private-changed ()

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        color_hash: dict[str, Gdk.Color]
        gtk_alternative_button_order: bool
        gtk_alternative_sort_arrows: bool
        gtk_application_prefer_dark_theme: bool
        gtk_auto_mnemonics: bool
        gtk_button_images: bool
        gtk_can_change_accels: bool
        gtk_color_palette: str
        gtk_color_scheme: str
        gtk_cursor_aspect_ratio: float
        gtk_cursor_blink: bool
        gtk_cursor_blink_time: int
        gtk_cursor_blink_timeout: int
        gtk_cursor_theme_name: str
        gtk_cursor_theme_size: int
        gtk_decoration_layout: str
        gtk_dialogs_use_header: bool
        gtk_dnd_drag_threshold: int
        gtk_double_click_distance: int
        gtk_double_click_time: int
        gtk_enable_accels: bool
        gtk_enable_animations: bool
        gtk_enable_event_sounds: bool
        gtk_enable_input_feedback_sounds: bool
        gtk_enable_mnemonics: bool
        gtk_enable_primary_paste: bool
        gtk_enable_tooltips: bool
        gtk_entry_password_hint_timeout: int
        gtk_entry_select_on_focus: bool
        gtk_error_bell: bool
        gtk_fallback_icon_theme: str
        gtk_file_chooser_backend: str
        gtk_font_name: str
        gtk_fontconfig_timestamp: int
        gtk_icon_sizes: str
        gtk_icon_theme_name: str
        gtk_im_module: str
        gtk_im_preedit_style: IMPreeditStyle
        gtk_im_status_style: IMStatusStyle
        gtk_key_theme_name: str
        gtk_keynav_cursor_only: bool
        gtk_keynav_use_caret: bool
        gtk_keynav_wrap_around: bool
        gtk_label_select_on_focus: bool
        gtk_long_press_time: int
        gtk_menu_bar_accel: str
        gtk_menu_bar_popup_delay: int
        gtk_menu_images: bool
        gtk_menu_popdown_delay: int
        gtk_menu_popup_delay: int
        gtk_modules: str
        gtk_overlay_scrolling: bool
        gtk_primary_button_warps_slider: bool
        gtk_print_backends: str
        gtk_print_preview_command: str
        gtk_recent_files_enabled: bool
        gtk_recent_files_limit: int
        gtk_recent_files_max_age: int
        gtk_scrolled_window_placement: CornerType
        gtk_shell_shows_app_menu: bool
        gtk_shell_shows_desktop: bool
        gtk_shell_shows_menubar: bool
        gtk_show_input_method_menu: bool
        gtk_show_unicode_menu: bool
        gtk_sound_theme_name: str
        gtk_split_cursor: bool
        gtk_theme_name: str
        gtk_timeout_expand: int
        gtk_timeout_initial: int
        gtk_timeout_repeat: int
        gtk_titlebar_double_click: str
        gtk_titlebar_middle_click: str
        gtk_titlebar_right_click: str
        gtk_toolbar_icon_size: IconSize
        gtk_toolbar_style: ToolbarStyle
        gtk_tooltip_browse_mode_timeout: int
        gtk_tooltip_browse_timeout: int
        gtk_tooltip_timeout: int
        gtk_touchscreen_mode: bool
        gtk_visible_focus: PolicyType
        gtk_xft_antialias: int
        gtk_xft_dpi: int
        gtk_xft_hinting: int
        gtk_xft_hintstyle: str
        gtk_xft_rgba: str

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: SettingsPrivate = ...
    def __init__(
        self,
        gtk_alternative_button_order: bool = ...,
        gtk_alternative_sort_arrows: bool = ...,
        gtk_application_prefer_dark_theme: bool = ...,
        gtk_auto_mnemonics: bool = ...,
        gtk_button_images: bool = ...,
        gtk_can_change_accels: bool = ...,
        gtk_color_palette: str = ...,
        gtk_color_scheme: str = ...,
        gtk_cursor_aspect_ratio: float = ...,
        gtk_cursor_blink: bool = ...,
        gtk_cursor_blink_time: int = ...,
        gtk_cursor_blink_timeout: int = ...,
        gtk_cursor_theme_name: str = ...,
        gtk_cursor_theme_size: int = ...,
        gtk_decoration_layout: str = ...,
        gtk_dialogs_use_header: bool = ...,
        gtk_dnd_drag_threshold: int = ...,
        gtk_double_click_distance: int = ...,
        gtk_double_click_time: int = ...,
        gtk_enable_accels: bool = ...,
        gtk_enable_animations: bool = ...,
        gtk_enable_event_sounds: bool = ...,
        gtk_enable_input_feedback_sounds: bool = ...,
        gtk_enable_mnemonics: bool = ...,
        gtk_enable_primary_paste: bool = ...,
        gtk_enable_tooltips: bool = ...,
        gtk_entry_password_hint_timeout: int = ...,
        gtk_entry_select_on_focus: bool = ...,
        gtk_error_bell: bool = ...,
        gtk_fallback_icon_theme: str = ...,
        gtk_file_chooser_backend: str = ...,
        gtk_font_name: str = ...,
        gtk_fontconfig_timestamp: int = ...,
        gtk_icon_sizes: str = ...,
        gtk_icon_theme_name: str = ...,
        gtk_im_module: str = ...,
        gtk_im_preedit_style: IMPreeditStyle = ...,
        gtk_im_status_style: IMStatusStyle = ...,
        gtk_key_theme_name: str = ...,
        gtk_keynav_cursor_only: bool = ...,
        gtk_keynav_use_caret: bool = ...,
        gtk_keynav_wrap_around: bool = ...,
        gtk_label_select_on_focus: bool = ...,
        gtk_long_press_time: int = ...,
        gtk_menu_bar_accel: str = ...,
        gtk_menu_bar_popup_delay: int = ...,
        gtk_menu_images: bool = ...,
        gtk_menu_popdown_delay: int = ...,
        gtk_menu_popup_delay: int = ...,
        gtk_modules: str = ...,
        gtk_overlay_scrolling: bool = ...,
        gtk_primary_button_warps_slider: bool = ...,
        gtk_print_backends: str = ...,
        gtk_print_preview_command: str = ...,
        gtk_recent_files_enabled: bool = ...,
        gtk_recent_files_limit: int = ...,
        gtk_recent_files_max_age: int = ...,
        gtk_scrolled_window_placement: CornerType = ...,
        gtk_shell_shows_app_menu: bool = ...,
        gtk_shell_shows_desktop: bool = ...,
        gtk_shell_shows_menubar: bool = ...,
        gtk_show_input_method_menu: bool = ...,
        gtk_show_unicode_menu: bool = ...,
        gtk_sound_theme_name: str = ...,
        gtk_split_cursor: bool = ...,
        gtk_theme_name: str = ...,
        gtk_timeout_expand: int = ...,
        gtk_timeout_initial: int = ...,
        gtk_timeout_repeat: int = ...,
        gtk_titlebar_double_click: str = ...,
        gtk_titlebar_middle_click: str = ...,
        gtk_titlebar_right_click: str = ...,
        gtk_toolbar_icon_size: IconSize = ...,
        gtk_toolbar_style: ToolbarStyle = ...,
        gtk_tooltip_browse_mode_timeout: int = ...,
        gtk_tooltip_browse_timeout: int = ...,
        gtk_tooltip_timeout: int = ...,
        gtk_touchscreen_mode: bool = ...,
        gtk_visible_focus: PolicyType = ...,
        gtk_xft_antialias: int = ...,
        gtk_xft_dpi: int = ...,
        gtk_xft_hinting: int = ...,
        gtk_xft_hintstyle: str = ...,
        gtk_xft_rgba: str = ...,
    ): ...
    @staticmethod
    def get_default() -> Optional[Settings]: ...
    @staticmethod
    def get_for_screen(screen: Gdk.Screen) -> Settings: ...
    @staticmethod
    def install_property(pspec: GObject.ParamSpec) -> None: ...
    @staticmethod
    def install_property_parser(
        pspec: GObject.ParamSpec,
        parser: Callable[[GObject.ParamSpec, GLib.String, Any], bool],
    ) -> None: ...
    def reset_property(self, name: str) -> None: ...
    def set_double_property(self, name: str, v_double: float, origin: str) -> None: ...
    def set_long_property(self, name: str, v_long: int, origin: str) -> None: ...
    def set_property_value(self, name: str, svalue: SettingsValue) -> None: ...
    def set_string_property(self, name: str, v_string: str, origin: str) -> None: ...

class SettingsClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SettingsClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SettingsPrivate(GObject.GPointer): ...

class SettingsValue(GObject.GPointer):
    """
    :Constructors:

    ::

        SettingsValue()
    """

    origin: str = ...
    value: Any = ...

class ShortcutLabel(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ShortcutLabel(**properties)
        new(accelerator:str) -> Gtk.Widget

    Object GtkShortcutLabel

    Properties from GtkShortcutLabel:
      accelerator -> gchararray: Accelerator
        Accelerator
      disabled-text -> gchararray: Disabled text
        Disabled text

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accelerator: Optional[str]
        disabled_text: Optional[str]
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    def __init__(
        self,
        accelerator: str = ...,
        disabled_text: str = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_accelerator(self) -> Optional[str]: ...
    def get_disabled_text(self) -> Optional[str]: ...
    @classmethod
    def new(cls, accelerator: str) -> ShortcutLabel: ...
    def set_accelerator(self, accelerator: str) -> None: ...
    def set_disabled_text(self, disabled_text: str) -> None: ...

class ShortcutLabelClass(GObject.GPointer): ...

class ShortcutsGroup(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ShortcutsGroup(**properties)

    Object GtkShortcutsGroup

    Properties from GtkShortcutsGroup:
      title -> gchararray: Title
        Title
      view -> gchararray: View
        View
      accel-size-group -> GtkSizeGroup: Accelerator Size Group
        Accelerator Size Group
      title-size-group -> GtkSizeGroup: Title Size Group
        Title Size Group
      height -> guint: Height
        Height

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        height: int
        title: str
        view: str
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        accel_size_group: SizeGroup
        title_size_group: SizeGroup
        child: Widget

    props: Props = ...
    def __init__(
        self,
        accel_size_group: SizeGroup = ...,
        title: str = ...,
        title_size_group: SizeGroup = ...,
        view: str = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...

class ShortcutsGroupClass(GObject.GPointer): ...

class ShortcutsSection(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ShortcutsSection(**properties)

    Object GtkShortcutsSection

    Signals from GtkShortcutsSection:
      change-current-page (gint) -> gboolean

    Properties from GtkShortcutsSection:
      title -> gchararray: Title
        Title
      section-name -> gchararray: Section Name
        Section Name
      view-name -> gchararray: View Name
        View Name
      max-height -> guint: Maximum Height
        Maximum Height

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        max_height: int
        section_name: str
        title: str
        view_name: str
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    def __init__(
        self,
        max_height: int = ...,
        section_name: str = ...,
        title: str = ...,
        view_name: str = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...

class ShortcutsSectionClass(GObject.GPointer): ...

class ShortcutsShortcut(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        ShortcutsShortcut(**properties)

    Object GtkShortcutsShortcut

    Properties from GtkShortcutsShortcut:
      accelerator -> gchararray: Accelerator
        The accelerator keys for shortcuts of type 'Accelerator'
      icon -> GIcon: Icon
        The icon to show for shortcuts of type 'Other Gesture'
      icon-set -> gboolean: Icon Set
        Whether an icon has been set
      title -> gchararray: Title
        A short description for the shortcut
      subtitle -> gchararray: Subtitle
        A short description for the gesture
      subtitle-set -> gboolean: Subtitle Set
        Whether a subtitle has been set
      accel-size-group -> GtkSizeGroup: Accelerator Size Group
        Accelerator Size Group
      title-size-group -> GtkSizeGroup: Title Size Group
        Title Size Group
      direction -> GtkTextDirection: Direction
        Text direction for which this shortcut is active
      shortcut-type -> GtkShortcutType: Shortcut Type
        The type of shortcut that is represented
      action-name -> gchararray: Action Name
        The name of the action

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accelerator: str
        action_name: str
        direction: TextDirection
        icon: Gio.Icon
        icon_set: bool
        shortcut_type: ShortcutType
        subtitle: str
        subtitle_set: bool
        title: str
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        accel_size_group: SizeGroup
        title_size_group: SizeGroup
        child: Widget

    props: Props = ...
    def __init__(
        self,
        accel_size_group: SizeGroup = ...,
        accelerator: str = ...,
        action_name: str = ...,
        direction: TextDirection = ...,
        icon: Gio.Icon = ...,
        icon_set: bool = ...,
        shortcut_type: ShortcutType = ...,
        subtitle: str = ...,
        subtitle_set: bool = ...,
        title: str = ...,
        title_size_group: SizeGroup = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...

class ShortcutsShortcutClass(GObject.GPointer): ...

class ShortcutsWindow(Window, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        ShortcutsWindow(**properties)

    Object GtkShortcutsWindow

    Signals from GtkShortcutsWindow:
      close ()
      search ()

    Properties from GtkShortcutsWindow:
      section-name -> gchararray: Section Name
        Section Name
      view-name -> gchararray: View Name
        View Name

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        section_name: str
        view_name: str
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    window: Window = ...
    def __init__(
        self,
        section_name: str = ...,
        view_name: str = ...,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def do_close(self) -> None: ...
    def do_search(self) -> None: ...

class ShortcutsWindowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ShortcutsWindowClass()
    """

    parent_class: WindowClass = ...
    close: Callable[[ShortcutsWindow], None] = ...
    search: Callable[[ShortcutsWindow], None] = ...

class SizeGroup(GObject.Object, Buildable):
    """
    :Constructors:

    ::

        SizeGroup(**properties)
        new(mode:Gtk.SizeGroupMode) -> Gtk.SizeGroup

    Object GtkSizeGroup

    Properties from GtkSizeGroup:
      mode -> GtkSizeGroupMode: Mode
        The directions in which the size group affects the requested sizes of its component widgets
      ignore-hidden -> gboolean: Ignore hidden
        If TRUE, unmapped widgets are ignored when determining the size of the group

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        ignore_hidden: bool
        mode: SizeGroupMode

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: SizeGroupPrivate = ...
    def __init__(self, ignore_hidden: bool = ..., mode: SizeGroupMode = ...): ...
    def add_widget(self, widget: Widget) -> None: ...
    def get_ignore_hidden(self) -> bool: ...
    def get_mode(self) -> SizeGroupMode: ...
    def get_widgets(self) -> list[Widget]: ...
    @classmethod
    def new(cls, mode: SizeGroupMode) -> SizeGroup: ...
    def remove_widget(self, widget: Widget) -> None: ...
    def set_ignore_hidden(self, ignore_hidden: bool) -> None: ...
    def set_mode(self, mode: SizeGroupMode) -> None: ...

class SizeGroupClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SizeGroupClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SizeGroupPrivate(GObject.GPointer): ...

class Socket(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Socket(**properties)
        new() -> Gtk.Widget

    Object GtkSocket

    Signals from GtkSocket:
      plug-added ()
      plug-removed () -> gboolean

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: SocketPrivate = ...
    def __init__(
        self,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_id(self, window: int) -> None: ...
    def do_plug_added(self) -> None: ...
    def do_plug_removed(self) -> bool: ...
    def get_id(self) -> int: ...
    def get_plug_window(self) -> Optional[Gdk.Window]: ...
    @classmethod
    def new(cls) -> Socket: ...

class SocketAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        SocketAccessible(**properties)

    Object GtkSocketAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: SocketAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def embed(self, path: str) -> None: ...

class SocketAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SocketAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class SocketAccessiblePrivate(GObject.GPointer): ...

class SocketClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SocketClass()
    """

    parent_class: ContainerClass = ...
    plug_added: Callable[[Socket], None] = ...
    plug_removed: Callable[[Socket], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SocketPrivate(GObject.GPointer): ...

class SpinButton(
    Entry, Atk.ImplementorIface, Buildable, CellEditable, Editable, Orientable
):
    """
    :Constructors:

    ::

        SpinButton(**properties)
        new(adjustment:Gtk.Adjustment=None, climb_rate:float, digits:int) -> Gtk.Widget
        new_with_range(min:float, max:float, step:float) -> Gtk.Widget

    Object GtkSpinButton

    Signals from GtkSpinButton:
      value-changed ()
      change-value (GtkScrollType)
      input (gpointer) -> gint
      output () -> gboolean
      wrapped ()

    Properties from GtkSpinButton:
      adjustment -> GtkAdjustment: Adjustment
        The adjustment that holds the value of the spin button
      climb-rate -> gdouble: Climb Rate
        The acceleration rate when you hold down a button or key
      digits -> guint: Digits
        The number of decimal places to display
      snap-to-ticks -> gboolean: Snap to Ticks
        Whether erroneous values are automatically changed to a spin button's nearest step increment
      numeric -> gboolean: Numeric
        Whether non-numeric characters should be ignored
      wrap -> gboolean: Wrap
        Whether a spin button should wrap upon reaching its limits
      update-policy -> GtkSpinButtonUpdatePolicy: Update Policy
        Whether the spin button should update always, or only when the value is legal
      value -> gdouble: Value
        Reads the current value, or sets a new value

    Signals from GtkEditable:
      changed ()
      insert-text (gchararray, gint, gpointer)
      delete-text (gint, gint)

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkEntry:
      activate ()
      move-cursor (GtkMovementStep, gint, gboolean)
      copy-clipboard ()
      populate-popup (GtkWidget)
      insert-at-cursor (gchararray)
      delete-from-cursor (GtkDeleteType, gint)
      backspace ()
      cut-clipboard ()
      paste-clipboard ()
      toggle-overwrite ()
      icon-press (GtkEntryIconPosition, GdkEvent)
      icon-release (GtkEntryIconPosition, GdkEvent)
      preedit-changed (gchararray)
      insert-emoji ()

    Properties from GtkEntry:
      buffer -> GtkEntryBuffer: Text Buffer
        Text buffer object which actually stores entry text
      cursor-position -> gint: Cursor Position
        The current position of the insertion cursor in chars
      selection-bound -> gint: Selection Bound
        The position of the opposite end of the selection from the cursor in chars
      editable -> gboolean: Editable
        Whether the entry contents can be edited
      max-length -> gint: Maximum length
        Maximum number of characters for this entry. Zero if no maximum
      visibility -> gboolean: Visibility
        FALSE displays the "invisible char" instead of the actual text (password mode)
      has-frame -> gboolean: Has Frame
        FALSE removes outside bevel from entry
      inner-border -> GtkBorder: Inner Border
        Border between text and frame. Overrides the inner-border style property
      invisible-char -> guint: Invisible character
        The character to use when masking entry contents (in "password mode")
      activates-default -> gboolean: Activates default
        Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed
      width-chars -> gint: Width in chars
        Number of characters to leave space for in the entry
      max-width-chars -> gint: Maximum width in characters
        The desired maximum width of the entry, in characters
      scroll-offset -> gint: Scroll offset
        Number of pixels of the entry scrolled off the screen to the left
      text -> gchararray: Text
        The contents of the entry
      xalign -> gfloat: X align
        The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
      truncate-multiline -> gboolean: Truncate multiline
        Whether to truncate multiline pastes to one line.
      shadow-type -> GtkShadowType: Shadow type
        Which kind of shadow to draw around the entry when has-frame is set
      overwrite-mode -> gboolean: Overwrite mode
        Whether new text overwrites existing text
      text-length -> guint: Text length
        Length of the text currently in the entry
      invisible-char-set -> gboolean: Invisible character set
        Whether the invisible character has been set
      caps-lock-warning -> gboolean: Caps Lock warning
        Whether password entries will show a warning when Caps Lock is on
      progress-fraction -> gdouble: Progress Fraction
        The current fraction of the task that's been completed
      progress-pulse-step -> gdouble: Progress Pulse Step
        The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse()
      primary-icon-pixbuf -> GdkPixbuf: Primary pixbuf
        Primary pixbuf for the entry
      secondary-icon-pixbuf -> GdkPixbuf: Secondary pixbuf
        Secondary pixbuf for the entry
      primary-icon-stock -> gchararray: Primary stock ID
        Stock ID for primary icon
      secondary-icon-stock -> gchararray: Secondary stock ID
        Stock ID for secondary icon
      primary-icon-name -> gchararray: Primary icon name
        Icon name for primary icon
      secondary-icon-name -> gchararray: Secondary icon name
        Icon name for secondary icon
      primary-icon-gicon -> GIcon: Primary GIcon
        GIcon for primary icon
      secondary-icon-gicon -> GIcon: Secondary GIcon
        GIcon for secondary icon
      primary-icon-storage-type -> GtkImageType: Primary storage type
        The representation being used for primary icon
      secondary-icon-storage-type -> GtkImageType: Secondary storage type
        The representation being used for secondary icon
      primary-icon-activatable -> gboolean: Primary icon activatable
        Whether the primary icon is activatable
      secondary-icon-activatable -> gboolean: Secondary icon activatable
        Whether the secondary icon is activatable
      primary-icon-sensitive -> gboolean: Primary icon sensitive
        Whether the primary icon is sensitive
      secondary-icon-sensitive -> gboolean: Secondary icon sensitive
        Whether the secondary icon is sensitive
      primary-icon-tooltip-text -> gchararray: Primary icon tooltip text
        The contents of the tooltip on the primary icon
      secondary-icon-tooltip-text -> gchararray: Secondary icon tooltip text
        The contents of the tooltip on the secondary icon
      primary-icon-tooltip-markup -> gchararray: Primary icon tooltip markup
        The contents of the tooltip on the primary icon
      secondary-icon-tooltip-markup -> gchararray: Secondary icon tooltip markup
        The contents of the tooltip on the secondary icon
      im-module -> gchararray: IM module
        Which IM module should be used
      placeholder-text -> gchararray: Placeholder text
        Show text in the entry when it's empty and unfocused
      completion -> GtkEntryCompletion: Completion
        The auxiliary completion object
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour
      attributes -> PangoAttrList: Attributes
        A list of style attributes to apply to the text of the label
      populate-all -> gboolean: Populate all
        Whether to emit ::populate-popup for touch popups
      tabs -> PangoTabArray: Tabs
        A list of tabstop locations to apply to the text of the entry
      show-emoji-icon -> gboolean: Emoji icon
        Whether to show an icon for Emoji
      enable-emoji-completion -> gboolean: Enable Emoji completion
        Whether to suggest Emoji replacements

    Signals from GtkEditable:
      changed ()
      insert-text (gchararray, gint, gpointer)
      delete-text (gint, gint)

    Signals from GtkCellEditable:
      editing-done ()
      remove-widget ()

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        climb_rate: float
        digits: int
        numeric: bool
        snap_to_ticks: bool
        update_policy: SpinButtonUpdatePolicy
        value: float
        wrap: bool
        activates_default: bool
        attributes: Optional[Pango.AttrList]
        buffer: EntryBuffer
        caps_lock_warning: bool
        completion: EntryCompletion
        cursor_position: int
        editable: bool
        enable_emoji_completion: bool
        has_frame: bool
        im_module: str
        inner_border: Optional[Border]
        input_hints: InputHints
        input_purpose: InputPurpose
        invisible_char: int
        invisible_char_set: bool
        max_length: int
        max_width_chars: int
        overwrite_mode: bool
        placeholder_text: str
        populate_all: bool
        primary_icon_activatable: bool
        primary_icon_gicon: Gio.Icon
        primary_icon_name: str
        primary_icon_pixbuf: GdkPixbuf.Pixbuf
        primary_icon_sensitive: bool
        primary_icon_stock: str
        primary_icon_storage_type: ImageType
        primary_icon_tooltip_markup: str
        primary_icon_tooltip_text: str
        progress_fraction: float
        progress_pulse_step: float
        scroll_offset: int
        secondary_icon_activatable: bool
        secondary_icon_gicon: Gio.Icon
        secondary_icon_name: str
        secondary_icon_pixbuf: GdkPixbuf.Pixbuf
        secondary_icon_sensitive: bool
        secondary_icon_stock: str
        secondary_icon_storage_type: ImageType
        secondary_icon_tooltip_markup: str
        secondary_icon_tooltip_text: str
        selection_bound: int
        shadow_type: ShadowType
        show_emoji_icon: bool
        tabs: Optional[Pango.TabArray]
        text: str
        text_length: int
        truncate_multiline: bool
        visibility: bool
        width_chars: int
        xalign: float
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        editing_canceled: bool
        orientation: Orientation

    props: Props = ...
    entry: Entry = ...
    priv: SpinButtonPrivate = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        climb_rate: float = ...,
        digits: int = ...,
        numeric: bool = ...,
        snap_to_ticks: bool = ...,
        update_policy: SpinButtonUpdatePolicy = ...,
        value: float = ...,
        wrap: bool = ...,
        activates_default: bool = ...,
        attributes: Pango.AttrList = ...,
        buffer: EntryBuffer = ...,
        caps_lock_warning: bool = ...,
        completion: Optional[EntryCompletion] = ...,
        editable: bool = ...,
        enable_emoji_completion: bool = ...,
        has_frame: bool = ...,
        im_module: str = ...,
        inner_border: Optional[Border] = ...,
        input_hints: InputHints = ...,
        input_purpose: InputPurpose = ...,
        invisible_char: int = ...,
        invisible_char_set: bool = ...,
        max_length: int = ...,
        max_width_chars: int = ...,
        overwrite_mode: bool = ...,
        placeholder_text: Optional[str] = ...,
        populate_all: bool = ...,
        primary_icon_activatable: bool = ...,
        primary_icon_gicon: Gio.Icon = ...,
        primary_icon_name: str = ...,
        primary_icon_pixbuf: GdkPixbuf.Pixbuf = ...,
        primary_icon_sensitive: bool = ...,
        primary_icon_stock: str = ...,
        primary_icon_tooltip_markup: str = ...,
        primary_icon_tooltip_text: str = ...,
        progress_fraction: float = ...,
        progress_pulse_step: float = ...,
        secondary_icon_activatable: bool = ...,
        secondary_icon_gicon: Gio.Icon = ...,
        secondary_icon_name: str = ...,
        secondary_icon_pixbuf: GdkPixbuf.Pixbuf = ...,
        secondary_icon_sensitive: bool = ...,
        secondary_icon_stock: str = ...,
        secondary_icon_tooltip_markup: str = ...,
        secondary_icon_tooltip_text: str = ...,
        shadow_type: ShadowType = ...,
        show_emoji_icon: bool = ...,
        tabs: Pango.TabArray = ...,
        text: str = ...,
        truncate_multiline: bool = ...,
        visibility: bool = ...,
        width_chars: int = ...,
        xalign: float = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        editing_canceled: bool = ...,
        orientation: Orientation = ...,
    ): ...
    def configure(
        self, adjustment: Optional[Adjustment], climb_rate: float, digits: int
    ) -> None: ...
    def do_change_value(self, scroll: ScrollType) -> None: ...
    def do_input(self, new_value: float) -> int: ...
    def do_output(self) -> int: ...
    def do_value_changed(self) -> None: ...
    def do_wrapped(self) -> None: ...
    def get_adjustment(self) -> Adjustment: ...
    def get_digits(self) -> int: ...
    def get_increments(self) -> Tuple[float, float]: ...
    def get_numeric(self) -> bool: ...
    def get_range(self) -> Tuple[float, float]: ...
    def get_snap_to_ticks(self) -> bool: ...
    def get_update_policy(self) -> SpinButtonUpdatePolicy: ...
    def get_value(self) -> float: ...
    def get_value_as_int(self) -> int: ...
    def get_wrap(self) -> bool: ...
    @classmethod
    def new(
        cls, adjustment: Optional[Adjustment], climb_rate: float, digits: int
    ) -> SpinButton: ...
    @classmethod
    def new_with_range(cls, min: float, max: float, step: float) -> SpinButton: ...
    def set_adjustment(self, adjustment: Adjustment) -> None: ...
    def set_digits(self, digits: int) -> None: ...
    def set_increments(self, step: float, page: float) -> None: ...
    def set_numeric(self, numeric: bool) -> None: ...
    def set_range(self, min: float, max: float) -> None: ...
    def set_snap_to_ticks(self, snap_to_ticks: bool) -> None: ...
    def set_update_policy(self, policy: SpinButtonUpdatePolicy) -> None: ...
    def set_value(self, value: float) -> None: ...
    def set_wrap(self, wrap: bool) -> None: ...
    def spin(self, direction: SpinType, increment: float) -> None: ...
    def update(self) -> None: ...

class SpinButtonAccessible(
    EntryAccessible, Atk.Action, Atk.Component, Atk.EditableText, Atk.Text, Atk.Value
):
    """
    :Constructors:

    ::

        SpinButtonAccessible(**properties)

    Object GtkSpinButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkText:
      text-changed (gint, gint)
      text-insert (gint, gint, gchararray)
      text-remove (gint, gint, gchararray)
      text-caret-moved (gint)
      text-selection-changed ()
      text-attributes-changed ()

    Signals from AtkValue:
      value-changed (gdouble, gchararray)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkText:
      text-changed (gint, gint)
      text-insert (gint, gint, gchararray)
      text-remove (gint, gint, gchararray)
      text-caret-moved (gint)
      text-selection-changed ()
      text-attributes-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: EntryAccessible = ...
    priv: SpinButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class SpinButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SpinButtonAccessibleClass()
    """

    parent_class: EntryAccessibleClass = ...

class SpinButtonAccessiblePrivate(GObject.GPointer): ...

class SpinButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SpinButtonClass()
    """

    parent_class: EntryClass = ...
    input: Callable[[SpinButton, float], int] = ...
    output: Callable[[SpinButton], int] = ...
    value_changed: Callable[[SpinButton], None] = ...
    change_value: Callable[[SpinButton, ScrollType], None] = ...
    wrapped: Callable[[SpinButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SpinButtonPrivate(GObject.GPointer): ...

class Spinner(Widget, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Spinner(**properties)
        new() -> Gtk.Widget

    Object GtkSpinner

    Properties from GtkSpinner:
      active -> gboolean: Active
        Whether the spinner is active

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    parent: Widget = ...
    priv: SpinnerPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    @classmethod
    def new(cls) -> Spinner: ...
    def start(self) -> None: ...
    def stop(self) -> None: ...

class SpinnerAccessible(WidgetAccessible, Atk.Component, Atk.Image):
    """
    :Constructors:

    ::

        SpinnerAccessible(**properties)

    Object GtkSpinnerAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: SpinnerAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class SpinnerAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SpinnerAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class SpinnerAccessiblePrivate(GObject.GPointer): ...

class SpinnerClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SpinnerClass()
    """

    parent_class: WidgetClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class SpinnerPrivate(GObject.GPointer): ...

class Stack(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Stack(**properties)
        new() -> Gtk.Widget

    Object GtkStack

    Properties from GtkStack:
      homogeneous -> gboolean: Homogeneous
        Homogeneous sizing
      hhomogeneous -> gboolean: Horizontally homogeneous
        Horizontally homogeneous sizing
      vhomogeneous -> gboolean: Vertically homogeneous
        Vertically homogeneous sizing
      visible-child -> GtkWidget: Visible child
        The widget currently visible in the stack
      visible-child-name -> gchararray: Name of visible child
        The name of the widget currently visible in the stack
      transition-duration -> guint: Transition duration
        The animation duration, in milliseconds
      transition-type -> GtkStackTransitionType: Transition type
        The type of animation used to transition
      transition-running -> gboolean: Transition running
        Whether or not the transition is currently running
      interpolate-size -> gboolean: Interpolate size
        Whether or not the size should smoothly change when changing between differently sized children

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        hhomogeneous: bool
        homogeneous: bool
        interpolate_size: bool
        transition_duration: int
        transition_running: bool
        transition_type: StackTransitionType
        vhomogeneous: bool
        visible_child: Optional[Widget]
        visible_child_name: Optional[str]
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent_instance: Container = ...
    def __init__(
        self,
        hhomogeneous: bool = ...,
        homogeneous: bool = ...,
        interpolate_size: bool = ...,
        transition_duration: int = ...,
        transition_type: StackTransitionType = ...,
        vhomogeneous: bool = ...,
        visible_child: Widget = ...,
        visible_child_name: str = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def add_named(self, child: Widget, name: str) -> None: ...
    def add_titled(self, child: Widget, name: str, title: str) -> None: ...
    # override
    @overload
    def child_get_property(
        self,
        widget: Widget,
        property_name: Literal["icon-name"],
        value: Optional[GObject.Value] = None,
    ) -> Optional[str]: ...
    # override
    @overload
    def child_get_property(
        self,
        widget: Widget,
        property_name: Literal["name"],
        value: Optional[GObject.Value] = None,
    ) -> Optional[str]: ...
    # override
    @overload
    def child_get_property(
        self,
        widget: Widget,
        property_name: Literal["needs-attention"],
        value: Optional[GObject.Value] = None,
    ) -> bool: ...
    # override
    @overload
    def child_get_property(
        self,
        widget: Widget,
        property_name: Literal["position"],
        value: Optional[GObject.Value] = None,
    ) -> int: ...
    # override
    @overload
    def child_get_property(
        self,
        widget: Widget,
        property_name: Literal["title"],
        value: Optional[GObject.Value] = None,
    ) -> Optional[str]: ...
    def get_child_by_name(self, name: str) -> Optional[Widget]: ...
    def get_hhomogeneous(self) -> bool: ...
    def get_homogeneous(self) -> bool: ...
    def get_interpolate_size(self) -> bool: ...
    def get_transition_duration(self) -> int: ...
    def get_transition_running(self) -> bool: ...
    def get_transition_type(self) -> StackTransitionType: ...
    def get_vhomogeneous(self) -> bool: ...
    def get_visible_child(self) -> Optional[Widget]: ...
    def get_visible_child_name(self) -> Optional[str]: ...
    @classmethod
    def new(cls) -> Stack: ...
    def set_hhomogeneous(self, hhomogeneous: bool) -> None: ...
    def set_homogeneous(self, homogeneous: bool) -> None: ...
    def set_interpolate_size(self, interpolate_size: bool) -> None: ...
    def set_transition_duration(self, duration: int) -> None: ...
    def set_transition_type(self, transition: StackTransitionType) -> None: ...
    def set_vhomogeneous(self, vhomogeneous: bool) -> None: ...
    def set_visible_child(self, child: Widget) -> None: ...
    def set_visible_child_full(
        self, name: str, transition: StackTransitionType
    ) -> None: ...
    def set_visible_child_name(self, name: str) -> None: ...

class StackAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        StackAccessible(**properties)

    Object GtkStackAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class StackAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StackAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class StackClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StackClass()
    """

    parent_class: ContainerClass = ...

class StackSidebar(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        StackSidebar(**properties)
        new() -> Gtk.Widget

    Object GtkStackSidebar

    Properties from GtkStackSidebar:
      stack -> GtkStack: Stack
        Associated stack for this GtkStackSidebar

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        stack: Optional[Stack]
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent: Bin = ...
    def __init__(
        self,
        stack: Stack = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_stack(self) -> Optional[Stack]: ...
    @classmethod
    def new(cls) -> StackSidebar: ...
    def set_stack(self, stack: Stack) -> None: ...

class StackSidebarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StackSidebarClass()
    """

    parent_class: BinClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class StackSidebarPrivate(GObject.GPointer): ...

class StackSwitcher(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        StackSwitcher(**properties)
        new() -> Gtk.Widget

    Object GtkStackSwitcher

    Properties from GtkStackSwitcher:
      icon-size -> gint: Icon Size
        Symbolic size to use for named icon
      stack -> GtkStack: Stack
        Stack

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        icon_size: int
        stack: Optional[Stack]
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    widget: Box = ...
    def __init__(
        self,
        icon_size: int = ...,
        stack: Optional[Stack] = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def get_stack(self) -> Optional[Stack]: ...
    @classmethod
    def new(cls) -> StackSwitcher: ...
    def set_stack(self, stack: Optional[Stack] = None) -> None: ...

class StackSwitcherClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StackSwitcherClass()
    """

    parent_class: BoxClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class StatusIcon(GObject.Object):
    """
    :Constructors:

    ::

        StatusIcon(**properties)
        new() -> Gtk.StatusIcon
        new_from_file(filename:str) -> Gtk.StatusIcon
        new_from_gicon(icon:Gio.Icon) -> Gtk.StatusIcon
        new_from_icon_name(icon_name:str) -> Gtk.StatusIcon
        new_from_pixbuf(pixbuf:GdkPixbuf.Pixbuf) -> Gtk.StatusIcon
        new_from_stock(stock_id:str) -> Gtk.StatusIcon

    Object GtkStatusIcon

    Signals from GtkStatusIcon:
      size-changed (gint) -> gboolean
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu (guint, guint)
      activate ()

    Properties from GtkStatusIcon:
      pixbuf -> GdkPixbuf: Pixbuf
        A GdkPixbuf to display
      file -> gchararray: Filename
        Filename to load and display
      stock -> gchararray: Stock ID
        Stock ID for a stock image to display
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      gicon -> GIcon: GIcon
        The GIcon being displayed
      storage-type -> GtkImageType: Storage type
        The representation being used for image data
      size -> gint: Size
        The size of the icon
      screen -> GdkScreen: Screen
        The screen where this status icon will be displayed
      visible -> gboolean: Visible
        Whether the status icon is visible
      orientation -> GtkOrientation: Orientation
        The orientation of the tray
      embedded -> gboolean: Embedded
        Whether the status icon is embedded
      has-tooltip -> gboolean: Has tooltip
        Whether this tray icon has a tooltip
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this tray icon
      title -> gchararray: Title
        The title of this tray icon

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        embedded: bool
        gicon: Optional[Gio.Icon]
        has_tooltip: bool
        icon_name: Optional[str]
        orientation: Orientation
        pixbuf: Optional[GdkPixbuf.Pixbuf]
        screen: Gdk.Screen
        size: int
        stock: Optional[str]
        storage_type: ImageType
        title: str
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        visible: bool
        file: str

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: StatusIconPrivate = ...
    def __init__(
        self,
        file: str = ...,
        gicon: Gio.Icon = ...,
        has_tooltip: bool = ...,
        icon_name: str = ...,
        pixbuf: GdkPixbuf.Pixbuf = ...,
        screen: Gdk.Screen = ...,
        stock: str = ...,
        title: str = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: str = ...,
        visible: bool = ...,
    ): ...
    def do_activate(self) -> None: ...
    def do_button_press_event(self, event: Gdk.EventButton) -> bool: ...
    def do_button_release_event(self, event: Gdk.EventButton) -> bool: ...
    def do_popup_menu(self, button: int, activate_time: int) -> None: ...
    def do_query_tooltip(
        self, x: int, y: int, keyboard_mode: bool, tooltip: Tooltip
    ) -> bool: ...
    def do_scroll_event(self, event: Gdk.EventScroll) -> bool: ...
    def do_size_changed(self, size: int) -> bool: ...
    def get_geometry(self) -> Tuple[bool, Gdk.Screen, Gdk.Rectangle, Orientation]: ...
    def get_gicon(self) -> Optional[Gio.Icon]: ...
    def get_has_tooltip(self) -> bool: ...
    def get_icon_name(self) -> Optional[str]: ...
    def get_pixbuf(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_screen(self) -> Gdk.Screen: ...
    def get_size(self) -> int: ...
    def get_stock(self) -> Optional[str]: ...
    def get_storage_type(self) -> ImageType: ...
    def get_title(self) -> str: ...
    def get_tooltip_markup(self) -> Optional[str]: ...
    def get_tooltip_text(self) -> Optional[str]: ...
    def get_visible(self) -> bool: ...
    def get_x11_window_id(self) -> int: ...
    def is_embedded(self) -> bool: ...
    @classmethod
    def new(cls) -> StatusIcon: ...
    @classmethod
    def new_from_file(cls, filename: str) -> StatusIcon: ...
    @classmethod
    def new_from_gicon(cls, icon: Gio.Icon) -> StatusIcon: ...
    @classmethod
    def new_from_icon_name(cls, icon_name: str) -> StatusIcon: ...
    @classmethod
    def new_from_pixbuf(cls, pixbuf: GdkPixbuf.Pixbuf) -> StatusIcon: ...
    @classmethod
    def new_from_stock(cls, stock_id: str) -> StatusIcon: ...
    @staticmethod
    def position_menu(menu: Menu, user_data: StatusIcon) -> Tuple[int, int, bool]: ...
    def set_from_file(self, filename: str) -> None: ...
    def set_from_gicon(self, icon: Gio.Icon) -> None: ...
    def set_from_icon_name(self, icon_name: str) -> None: ...
    def set_from_pixbuf(self, pixbuf: Optional[GdkPixbuf.Pixbuf] = None) -> None: ...
    def set_from_stock(self, stock_id: str) -> None: ...
    def set_has_tooltip(self, has_tooltip: bool) -> None: ...
    def set_name(self, name: str) -> None: ...
    def set_screen(self, screen: Gdk.Screen) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_tooltip_markup(self, markup: Optional[str] = None) -> None: ...
    def set_tooltip_text(self, text: str) -> None: ...
    def set_visible(self, visible: bool) -> None: ...

class StatusIconClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StatusIconClass()
    """

    parent_class: GObject.ObjectClass = ...
    activate: Callable[[StatusIcon], None] = ...
    popup_menu: Callable[[StatusIcon, int, int], None] = ...
    size_changed: Callable[[StatusIcon, int], bool] = ...
    button_press_event: Callable[[StatusIcon, Gdk.EventButton], bool] = ...
    button_release_event: Callable[[StatusIcon, Gdk.EventButton], bool] = ...
    scroll_event: Callable[[StatusIcon, Gdk.EventScroll], bool] = ...
    query_tooltip: Callable[[StatusIcon, int, int, bool, Tooltip], bool] = ...
    __gtk_reserved1: None = ...
    __gtk_reserved2: None = ...
    __gtk_reserved3: None = ...
    __gtk_reserved4: None = ...

class StatusIconPrivate(GObject.GPointer): ...

class Statusbar(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        Statusbar(**properties)
        new() -> Gtk.Widget

    Object GtkStatusbar

    Signals from GtkStatusbar:
      text-pushed (guint, gchararray)
      text-popped (guint, gchararray)

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent_widget: Box = ...
    priv: StatusbarPrivate = ...
    def __init__(
        self,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def do_text_popped(self, context_id: int, text: str) -> None: ...
    def do_text_pushed(self, context_id: int, text: str) -> None: ...
    def get_context_id(self, context_description: str) -> int: ...
    def get_message_area(self) -> Box: ...
    @classmethod
    def new(cls) -> Statusbar: ...
    def pop(self, context_id: int) -> None: ...
    def push(self, context_id: int, text: str) -> int: ...
    def remove(self, context_id: int, message_id: int) -> None: ...
    def remove_all(self, context_id: int) -> None: ...

class StatusbarAccessible(ContainerAccessible, Atk.Component):
    """
    :Constructors:

    ::

        StatusbarAccessible(**properties)

    Object GtkStatusbarAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: StatusbarAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class StatusbarAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StatusbarAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class StatusbarAccessiblePrivate(GObject.GPointer): ...

class StatusbarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StatusbarClass()
    """

    parent_class: BoxClass = ...
    reserved: None = ...
    text_pushed: Callable[[Statusbar, int, str], None] = ...
    text_popped: Callable[[Statusbar, int, str], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class StatusbarPrivate(GObject.GPointer): ...

class StockItem(GObject.GPointer):
    """
    :Constructors:

    ::

        StockItem()
    """

    stock_id: str = ...
    label: str = ...
    modifier: Gdk.ModifierType = ...
    keyval: int = ...
    translation_domain: str = ...
    def free(self) -> None: ...

class Style(GObject.Object):
    """
    :Constructors:

    ::

        Style(**properties)
        new() -> Gtk.Style

    Object GtkStyle

    Signals from GtkStyle:
      realize ()
      unrealize ()

    Properties from GtkStyle:
      context -> GtkStyleContext: Style context
        GtkStyleContext to get style from

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        context: StyleContext

    props: Props = ...
    parent_instance: GObject.Object = ...
    fg: list[Gdk.Color] = ...
    bg: list[Gdk.Color] = ...
    light: list[Gdk.Color] = ...
    dark: list[Gdk.Color] = ...
    mid: list[Gdk.Color] = ...
    text: list[Gdk.Color] = ...
    base: list[Gdk.Color] = ...
    text_aa: list[Gdk.Color] = ...
    black: Gdk.Color = ...
    white: Gdk.Color = ...
    font_desc: Pango.FontDescription = ...
    xthickness: int = ...
    ythickness: int = ...
    background: list[cairo.Pattern] = ...
    attach_count: int = ...
    visual: Gdk.Visual = ...
    private_font_desc: Pango.FontDescription = ...
    rc_style: RcStyle = ...
    styles: list[None] = ...
    property_cache: list[None] = ...
    icon_factories: list[None] = ...
    def __init__(self, context: StyleContext = ...): ...
    def apply_default_background(
        self,
        cr: cairo.Context[_SomeSurface],
        window: Gdk.Window,
        state_type: StateType,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def copy(self) -> Style: ...
    def detach(self) -> None: ...
    def do_copy(self, src: Style) -> None: ...
    def do_draw_arrow(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        arrow_type: ArrowType,
        fill: bool,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_box(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_box_gap(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
        gap_side: PositionType,
        gap_x: int,
        gap_width: int,
    ) -> None: ...
    def do_draw_check(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_diamond(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_expander(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        expander_style: ExpanderStyle,
    ) -> None: ...
    def do_draw_extension(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
        gap_side: PositionType,
    ) -> None: ...
    def do_draw_flat_box(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_focus(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_handle(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
        orientation: Orientation,
    ) -> None: ...
    def do_draw_hline(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        widget: Widget,
        detail: str,
        x1: int,
        x2: int,
        y: int,
    ) -> None: ...
    def do_draw_layout(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        use_text: bool,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        layout: Pango.Layout,
    ) -> None: ...
    def do_draw_option(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_resize_grip(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        widget: Widget,
        detail: str,
        edge: Gdk.WindowEdge,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_shadow(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_shadow_gap(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
        gap_side: PositionType,
        gap_x: int,
        gap_width: int,
    ) -> None: ...
    def do_draw_slider(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
        orientation: Orientation,
    ) -> None: ...
    def do_draw_spinner(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        widget: Widget,
        detail: str,
        step: int,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_tab(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        shadow_type: ShadowType,
        widget: Widget,
        detail: str,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None: ...
    def do_draw_vline(
        self,
        cr: cairo.Context[_SomeSurface],
        state_type: StateType,
        widget: Widget,
        detail: str,
        y1_: int,
        y2_: int,
        x: int,
    ) -> None: ...
    def do_init_from_rc(self, rc_style: RcStyle) -> None: ...
    def do_realize(self) -> None: ...
    def do_render_icon(
        self,
        source: IconSource,
        direction: TextDirection,
        state: StateType,
        size: int,
        widget: Optional[Widget] = None,
        detail: Optional[str] = None,
    ) -> GdkPixbuf.Pixbuf: ...
    def do_set_background(self, window: Gdk.Window, state_type: StateType) -> None: ...
    def do_unrealize(self) -> None: ...
    def get_style_property(self, widget_type: Type, property_name: str) -> Any: ...
    def has_context(self) -> bool: ...
    def lookup_color(self, color_name: str) -> Tuple[bool, Gdk.Color]: ...
    def lookup_icon_set(self, stock_id: str) -> IconSet: ...
    @classmethod
    def new(cls) -> Style: ...
    def render_icon(
        self,
        source: IconSource,
        direction: TextDirection,
        state: StateType,
        size: int,
        widget: Optional[Widget] = None,
        detail: Optional[str] = None,
    ) -> GdkPixbuf.Pixbuf: ...
    def set_background(self, window: Gdk.Window, state_type: StateType) -> None: ...

class StyleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StyleClass()
    """

    parent_class: GObject.ObjectClass = ...
    realize: Callable[[Style], None] = ...
    unrealize: Callable[[Style], None] = ...
    copy: Callable[[Style, Style], None] = ...
    clone: None = ...
    init_from_rc: Callable[[Style, RcStyle], None] = ...
    set_background: Callable[[Style, Gdk.Window, StateType], None] = ...
    render_icon: Callable[
        [
            Style,
            IconSource,
            TextDirection,
            StateType,
            int,
            Optional[Widget],
            Optional[str],
        ],
        GdkPixbuf.Pixbuf,
    ] = ...
    draw_hline: Callable[
        [Style, cairo.Context[_SomeSurface], StateType, Widget, str, int, int, int],
        None,
    ] = ...
    draw_vline: Callable[
        [Style, cairo.Context[_SomeSurface], StateType, Widget, str, int, int, int],
        None,
    ] = ...
    draw_shadow: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_arrow: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            ArrowType,
            bool,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_diamond: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_box: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_flat_box: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_check: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_option: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_tab: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_shadow_gap: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
            PositionType,
            int,
            int,
        ],
        None,
    ] = ...
    draw_box_gap: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
            PositionType,
            int,
            int,
        ],
        None,
    ] = ...
    draw_extension: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
            PositionType,
        ],
        None,
    ] = ...
    draw_focus: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            Widget,
            str,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_slider: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
            Orientation,
        ],
        None,
    ] = ...
    draw_handle: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            ShadowType,
            Widget,
            str,
            int,
            int,
            int,
            int,
            Orientation,
        ],
        None,
    ] = ...
    draw_expander: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            Widget,
            str,
            int,
            int,
            ExpanderStyle,
        ],
        None,
    ] = ...
    draw_layout: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            bool,
            Widget,
            str,
            int,
            int,
            Pango.Layout,
        ],
        None,
    ] = ...
    draw_resize_grip: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            Widget,
            str,
            Gdk.WindowEdge,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    draw_spinner: Callable[
        [
            Style,
            cairo.Context[_SomeSurface],
            StateType,
            Widget,
            str,
            int,
            int,
            int,
            int,
            int,
        ],
        None,
    ] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...
    _gtk_reserved9: None = ...
    _gtk_reserved10: None = ...
    _gtk_reserved11: None = ...

class StyleContext(GObject.Object):
    """
    :Constructors:

    ::

        StyleContext(**properties)
        new() -> Gtk.StyleContext

    Object GtkStyleContext

    Signals from GtkStyleContext:
      changed ()

    Properties from GtkStyleContext:
      screen -> GdkScreen: Screen
        The associated GdkScreen
      direction -> GtkTextDirection: Direction
        Text direction
      paint-clock -> GdkFrameClock: FrameClock
        The associated GdkFrameClock
      parent -> GtkStyleContext: Parent
        The parent style context

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        direction: TextDirection
        paint_clock: Gdk.FrameClock
        parent: Optional[StyleContext]
        screen: Gdk.Screen

    props: Props = ...
    parent_object: GObject.Object = ...
    priv: StyleContextPrivate = ...
    def __init__(
        self,
        direction: TextDirection = ...,
        paint_clock: Gdk.FrameClock = ...,
        parent: Optional[StyleContext] = ...,
        screen: Gdk.Screen = ...,
    ): ...
    def add_class(self, class_name: str) -> None: ...
    def add_provider(self, provider: StyleProvider, priority: int) -> None: ...
    @staticmethod
    def add_provider_for_screen(
        screen: Gdk.Screen, provider: StyleProvider, priority: int
    ) -> None: ...
    def add_region(self, region_name: str, flags: RegionFlags) -> None: ...
    def cancel_animations(self, region_id: None) -> None: ...
    def do_changed(self) -> None: ...
    def get_background_color(self, state: StateFlags) -> Gdk.RGBA: ...
    def get_border(self, state: StateFlags) -> Border: ...
    def get_border_color(self, state: StateFlags) -> Gdk.RGBA: ...
    def get_color(self, state: StateFlags) -> Gdk.RGBA: ...
    def get_direction(self) -> TextDirection: ...
    def get_font(self, state: StateFlags) -> Pango.FontDescription: ...
    def get_frame_clock(self) -> Optional[Gdk.FrameClock]: ...
    def get_junction_sides(self) -> JunctionSides: ...
    def get_margin(self, state: StateFlags) -> Border: ...
    def get_padding(self, state: StateFlags) -> Border: ...
    def get_parent(self) -> Optional[StyleContext]: ...
    def get_path(self) -> WidgetPath: ...
    def get_property(self, property: str, state: StateFlags) -> Any: ...
    def get_scale(self) -> int: ...
    def get_screen(self) -> Gdk.Screen: ...
    def get_section(self, property: str) -> Optional[CssSection]: ...
    def get_state(self) -> StateFlags: ...
    def get_style_property(self, property_name: str, value: Any) -> None: ...
    def has_class(self, class_name: str) -> bool: ...
    def has_region(self, region_name: str) -> Tuple[bool, RegionFlags]: ...
    def invalidate(self) -> None: ...
    def list_classes(self) -> list[str]: ...
    def list_regions(self) -> list[str]: ...
    def lookup_color(self, color_name: str) -> Tuple[bool, Gdk.RGBA]: ...
    def lookup_icon_set(self, stock_id: str) -> Optional[IconSet]: ...
    @classmethod
    def new(cls) -> StyleContext: ...
    def notify_state_change(
        self, window: Gdk.Window, region_id: None, state: StateType, state_value: bool
    ) -> None: ...
    def pop_animatable_region(self) -> None: ...
    def push_animatable_region(self, region_id: None) -> None: ...
    def remove_class(self, class_name: str) -> None: ...
    def remove_provider(self, provider: StyleProvider) -> None: ...
    @staticmethod
    def remove_provider_for_screen(
        screen: Gdk.Screen, provider: StyleProvider
    ) -> None: ...
    def remove_region(self, region_name: str) -> None: ...
    @staticmethod
    def reset_widgets(screen: Gdk.Screen) -> None: ...
    def restore(self) -> None: ...
    def save(self) -> None: ...
    def scroll_animations(self, window: Gdk.Window, dx: int, dy: int) -> None: ...
    def set_background(self, window: Gdk.Window) -> None: ...
    def set_direction(self, direction: TextDirection) -> None: ...
    def set_frame_clock(self, frame_clock: Gdk.FrameClock) -> None: ...
    def set_junction_sides(self, sides: JunctionSides) -> None: ...
    def set_parent(self, parent: Optional[StyleContext] = None) -> None: ...
    def set_path(self, path: WidgetPath) -> None: ...
    def set_scale(self, scale: int) -> None: ...
    def set_screen(self, screen: Gdk.Screen) -> None: ...
    def set_state(self, flags: StateFlags) -> None: ...
    def state_is_running(self, state: StateType) -> Tuple[bool, float]: ...
    def to_string(self, flags: StyleContextPrintFlags) -> str: ...

class StyleContextClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StyleContextClass()
    """

    parent_class: GObject.ObjectClass = ...
    changed: Callable[[StyleContext], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class StyleContextPrivate(GObject.GPointer): ...

class StyleProperties(GObject.Object, StyleProvider):
    """
    :Constructors:

    ::

        StyleProperties(**properties)
        new() -> Gtk.StyleProperties

    Object GtkStyleProperties

    Signals from GtkStyleProviderPrivate:
      -gtk-private-changed ()

    Signals from GObject:
      notify (GParam)
    """

    parent_object: GObject.Object = ...
    priv: StylePropertiesPrivate = ...
    def clear(self) -> None: ...
    def get_property(self, property: str, state: StateFlags) -> Tuple[bool, Any]: ...
    def lookup_color(self, name: str) -> SymbolicColor: ...
    def map_color(self, name: str, color: SymbolicColor) -> None: ...
    def merge(self, props_to_merge: StyleProperties, replace: bool) -> None: ...
    @classmethod
    def new(cls) -> StyleProperties: ...
    def set_property(self, property: str, state: StateFlags, value: Any) -> None: ...
    def unset_property(self, property: str, state: StateFlags) -> None: ...

class StylePropertiesClass(GObject.GPointer):
    """
    :Constructors:

    ::

        StylePropertiesClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class StylePropertiesPrivate(GObject.GPointer): ...

class StyleProvider(GObject.GInterface):
    """
    Interface GtkStyleProvider
    """

    def get_icon_factory(self, path: WidgetPath) -> Optional[IconFactory]: ...
    def get_style(self, path: WidgetPath) -> Optional[StyleProperties]: ...
    def get_style_property(
        self, path: WidgetPath, state: StateFlags, pspec: GObject.ParamSpec
    ) -> Tuple[bool, Any]: ...

class StyleProviderIface(GObject.GPointer):
    """
    :Constructors:

    ::

        StyleProviderIface()
    """

    g_iface: GObject.TypeInterface = ...
    get_style: Callable[[StyleProvider, WidgetPath], Optional[StyleProperties]] = ...
    get_style_property: Callable[
        [StyleProvider, WidgetPath, StateFlags, GObject.ParamSpec], Tuple[bool, Any]
    ] = ...
    get_icon_factory: Callable[[StyleProvider, WidgetPath], Optional[IconFactory]] = ...

class Switch(Widget, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        Switch(**properties)
        new() -> Gtk.Widget

    Object GtkSwitch

    Signals from GtkSwitch:
      activate ()
      state-set (gboolean) -> gboolean

    Properties from GtkSwitch:
      active -> gboolean: Active
        Whether the switch is on or off
      state -> gboolean: State
        The backend state

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        state: bool
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool

    props: Props = ...
    parent_instance: Widget = ...
    priv: SwitchPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        state: bool = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_activate(self) -> None: ...
    def do_state_set(self, state: bool) -> bool: ...
    def get_active(self) -> bool: ...
    def get_state(self) -> bool: ...
    @classmethod
    def new(cls) -> Switch: ...
    def set_active(self, is_active: bool) -> None: ...
    def set_state(self, state: bool) -> None: ...

class SwitchAccessible(WidgetAccessible, Atk.Action, Atk.Component):
    """
    :Constructors:

    ::

        SwitchAccessible(**properties)

    Object GtkSwitchAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: WidgetAccessible = ...
    priv: SwitchAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class SwitchAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SwitchAccessibleClass()
    """

    parent_class: WidgetAccessibleClass = ...

class SwitchAccessiblePrivate(GObject.GPointer): ...

class SwitchClass(GObject.GPointer):
    """
    :Constructors:

    ::

        SwitchClass()
    """

    parent_class: WidgetClass = ...
    activate: Callable[[Switch], None] = ...
    state_set: Callable[[Switch, bool], bool] = ...
    _switch_padding_1: None = ...
    _switch_padding_2: None = ...
    _switch_padding_3: None = ...
    _switch_padding_4: None = ...
    _switch_padding_5: None = ...

class SwitchPrivate(GObject.GPointer): ...

class SymbolicColor(GObject.GBoxed):
    """
    :Constructors:

    ::

        new_alpha(color:Gtk.SymbolicColor, factor:float) -> Gtk.SymbolicColor
        new_literal(color:Gdk.RGBA) -> Gtk.SymbolicColor
        new_mix(color1:Gtk.SymbolicColor, color2:Gtk.SymbolicColor, factor:float) -> Gtk.SymbolicColor
        new_name(name:str) -> Gtk.SymbolicColor
        new_shade(color:Gtk.SymbolicColor, factor:float) -> Gtk.SymbolicColor
        new_win32(theme_class:str, id:int) -> Gtk.SymbolicColor
    """

    @classmethod
    def new_alpha(cls, color: SymbolicColor, factor: float) -> SymbolicColor: ...
    @classmethod
    def new_literal(cls, color: Gdk.RGBA) -> SymbolicColor: ...
    @classmethod
    def new_mix(
        cls, color1: SymbolicColor, color2: SymbolicColor, factor: float
    ) -> SymbolicColor: ...
    @classmethod
    def new_name(cls, name: str) -> SymbolicColor: ...
    @classmethod
    def new_shade(cls, color: SymbolicColor, factor: float) -> SymbolicColor: ...
    @classmethod
    def new_win32(cls, theme_class: str, id: int) -> SymbolicColor: ...
    def ref(self) -> SymbolicColor: ...
    def resolve(
        self, props: Optional[StyleProperties] = None
    ) -> Tuple[bool, Gdk.RGBA]: ...
    def to_string(self) -> str: ...
    def unref(self) -> None: ...

class Table(Container, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Table(**properties)
        new(rows:int, columns:int, homogeneous:bool) -> Gtk.Widget

    Object GtkTable

    Properties from GtkTable:
      n-rows -> guint: Rows
        The number of rows in the table
      n-columns -> guint: Columns
        The number of columns in the table
      column-spacing -> guint: Column spacing
        The amount of space between two consecutive columns
      row-spacing -> guint: Row spacing
        The amount of space between two consecutive rows
      homogeneous -> gboolean: Homogeneous
        If TRUE, the table cells are all the same width/height

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        column_spacing: int
        homogeneous: bool
        n_columns: int
        n_rows: int
        row_spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: TablePrivate = ...
    def __init__(
        self,
        column_spacing: int = ...,
        homogeneous: bool = ...,
        n_columns: int = ...,
        n_rows: int = ...,
        row_spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    # override
    def attach(
        self,
        child: Widget,
        left_attach: int,
        right_attach: int,
        top_attach: int,
        bottom_attach: int,
        xoptions: AttachOptions,
        yoptions: AttachOptions,
        xpadding: int,
        ypadding: int,
    ): ...
    def attach_defaults(
        self,
        widget: Widget,
        left_attach: int,
        right_attach: int,
        top_attach: int,
        bottom_attach: int,
    ) -> None: ...
    def get_col_spacing(self, column: int) -> int: ...
    def get_default_col_spacing(self) -> int: ...
    def get_default_row_spacing(self) -> int: ...
    def get_homogeneous(self) -> bool: ...
    def get_row_spacing(self, row: int) -> int: ...
    def get_size(self) -> Tuple[int, int]: ...
    @classmethod
    def new(cls, rows: int, columns: int, homogeneous: bool) -> Table: ...
    def resize(self, rows: int, columns: int) -> None: ...
    def set_col_spacing(self, column: int, spacing: int) -> None: ...
    def set_col_spacings(self, spacing: int) -> None: ...
    def set_homogeneous(self, homogeneous: bool) -> None: ...
    def set_row_spacing(self, row: int, spacing: int) -> None: ...
    def set_row_spacings(self, spacing: int) -> None: ...

class TableChild(GObject.GPointer):
    """
    :Constructors:

    ::

        TableChild()
    """

    widget: Widget = ...
    left_attach: int = ...
    right_attach: int = ...
    top_attach: int = ...
    bottom_attach: int = ...
    xpadding: int = ...
    ypadding: int = ...
    xexpand: int = ...
    yexpand: int = ...
    xshrink: int = ...
    yshrink: int = ...
    xfill: int = ...
    yfill: int = ...

class TableClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TableClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TablePrivate(GObject.GPointer): ...

class TableRowCol(GObject.GPointer):
    """
    :Constructors:

    ::

        TableRowCol()
    """

    requisition: int = ...
    allocation: int = ...
    spacing: int = ...
    need_expand: int = ...
    need_shrink: int = ...
    expand: int = ...
    shrink: int = ...
    empty: int = ...

class TargetEntry(GObject.GBoxed):
    """
    :Constructors:

    ::

        TargetEntry()
        new(target:str, flags:int, info:int) -> Gtk.TargetEntry
    """

    target: str = ...
    flags: int = ...
    info: int = ...
    def copy(self) -> TargetEntry: ...
    def free(self) -> None: ...
    @classmethod
    def new(cls, target: str, flags: int, info: int) -> TargetEntry: ...

class TargetList(GObject.GBoxed):
    """
    :Constructors:

    ::

        new(targets:list=None) -> Gtk.TargetList
    """

    def add(self, target: Gdk.Atom, flags: int, info: int) -> None: ...
    def add_image_targets(self, info: int, writable: bool) -> None: ...
    def add_rich_text_targets(
        self, info: int, deserializable: bool, buffer: TextBuffer
    ) -> None: ...
    def add_table(self, targets: Sequence[TargetEntry]) -> None: ...
    def add_text_targets(self, info: int) -> None: ...
    def add_uri_targets(self, info: int) -> None: ...
    def find(self, target: Gdk.Atom) -> Tuple[bool, int]: ...
    @classmethod
    def new(cls, targets: Optional[Sequence[TargetEntry]] = None) -> TargetList: ...
    def ref(self) -> TargetList: ...
    def remove(self, target: Gdk.Atom) -> None: ...
    def unref(self) -> None: ...

class TargetPair(GObject.GPointer):
    """
    :Constructors:

    ::

        TargetPair()
    """

    target: Gdk.Atom = ...
    flags: int = ...
    info: int = ...

class TearoffMenuItem(
    MenuItem, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        TearoffMenuItem(**properties)
        new() -> Gtk.Widget

    Object GtkTearoffMenuItem

    Signals from GtkMenuItem:
      activate ()
      activate-item ()
      toggle-size-request (gpointer)
      toggle-size-allocate (gint)
      select ()
      deselect ()

    Properties from GtkMenuItem:
      right-justified -> gboolean: Right Justified
        Sets whether the menu item appears justified at the right side of a menu bar
      submenu -> GtkMenu: Submenu
        The submenu attached to the menu item, or NULL if it has none
      accel-path -> gchararray: Accel Path
        Sets the accelerator path of the menu item
      label -> gchararray: Label
        The text for the child label
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accel_path: Optional[str]
        label: str
        right_justified: bool
        submenu: Optional[Menu]
        use_underline: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    menu_item: MenuItem = ...
    priv: TearoffMenuItemPrivate = ...
    def __init__(
        self,
        accel_path: Optional[str] = ...,
        label: str = ...,
        right_justified: bool = ...,
        submenu: Optional[Menu] = ...,
        use_underline: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    @classmethod
    def new(cls) -> TearoffMenuItem: ...

class TearoffMenuItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TearoffMenuItemClass()
    """

    parent_class: MenuItemClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TearoffMenuItemPrivate(GObject.GPointer): ...

# override
class Template:
    def __init__(
        self, filename: str = ..., resource_path: str = ..., string: str = ...
    ) -> None: ...
    @classmethod
    def from_file(cls, filename: str): ...
    @classmethod
    def from_resource(cls, resource_path: str): ...
    @classmethod
    def from_string(cls, string: str): ...
    def __call__(self, cls): ...

    class Callback:
        def __init__(self, name: str = ...) -> None: ...
        def __call__(self, func: Callable[..., Any]) -> Any: ...

    class Child: ...

class TextAppearance(GObject.GPointer):
    """
    :Constructors:

    ::

        TextAppearance()
    """

    bg_color: Gdk.Color = ...
    fg_color: Gdk.Color = ...
    rise: int = ...
    underline: int = ...
    strikethrough: int = ...
    draw_bg: int = ...
    inside_selection: int = ...
    is_text: int = ...

class TextAttributes(GObject.GBoxed):
    """
    :Constructors:

    ::

        TextAttributes()
        new() -> Gtk.TextAttributes
    """

    refcount: int = ...
    appearance: TextAppearance = ...
    justification: Justification = ...
    direction: TextDirection = ...
    font: Pango.FontDescription = ...
    font_scale: float = ...
    left_margin: int = ...
    right_margin: int = ...
    indent: int = ...
    pixels_above_lines: int = ...
    pixels_below_lines: int = ...
    pixels_inside_wrap: int = ...
    tabs: Pango.TabArray = ...
    wrap_mode: WrapMode = ...
    language: Pango.Language = ...
    pg_bg_color: Gdk.Color = ...
    invisible: int = ...
    bg_full_height: int = ...
    editable: int = ...
    no_fallback: int = ...
    pg_bg_rgba: Gdk.RGBA = ...
    letter_spacing: int = ...
    def copy(self) -> TextAttributes: ...
    def copy_values(self, dest: TextAttributes) -> None: ...
    @classmethod
    def new(cls) -> TextAttributes: ...
    def ref(self) -> TextAttributes: ...
    def unref(self) -> None: ...

class TextBTree(GObject.GPointer): ...

class TextBuffer(GObject.Object):
    """
    :Constructors:

    ::

        TextBuffer(**properties)
        new(table:Gtk.TextTagTable=None) -> Gtk.TextBuffer

    Object GtkTextBuffer

    Signals from GtkTextBuffer:
      changed ()
      insert-text (GtkTextIter, gchararray, gint)
      insert-pixbuf (GtkTextIter, GdkPixbuf)
      insert-child-anchor (GtkTextIter, GtkTextChildAnchor)
      delete-range (GtkTextIter, GtkTextIter)
      modified-changed ()
      mark-set (GtkTextIter, GtkTextMark)
      mark-deleted (GtkTextMark)
      apply-tag (GtkTextTag, GtkTextIter, GtkTextIter)
      remove-tag (GtkTextTag, GtkTextIter, GtkTextIter)
      begin-user-action ()
      end-user-action ()
      paste-done (GtkClipboard)

    Properties from GtkTextBuffer:
      tag-table -> GtkTextTagTable: Tag Table
        Text Tag Table
      text -> gchararray: Text
        Current text of the buffer
      has-selection -> gboolean: Has selection
        Whether the buffer has some text currently selected
      cursor-position -> gint: Cursor position
        The position of the insert mark (as offset from the beginning of the buffer)
      copy-target-list -> GtkTargetList: Copy target list
        The list of targets this buffer supports for clipboard copying and DND source
      paste-target-list -> GtkTargetList: Paste target list
        The list of targets this buffer supports for clipboard pasting and DND destination

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        copy_target_list: TargetList
        cursor_position: int
        has_selection: bool
        paste_target_list: TargetList
        tag_table: TextTagTable
        text: str

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: TextBufferPrivate = ...
    def __init__(self, tag_table: TextTagTable = ..., text: str = ...): ...
    def add_mark(self, mark: TextMark, where: TextIter) -> None: ...
    def add_selection_clipboard(self, clipboard: Clipboard) -> None: ...
    def apply_tag(self, tag: TextTag, start: TextIter, end: TextIter) -> None: ...
    def apply_tag_by_name(self, name: str, start: TextIter, end: TextIter) -> None: ...
    def backspace(
        self, iter: TextIter, interactive: bool, default_editable: bool
    ) -> bool: ...
    def begin_user_action(self) -> None: ...
    def copy_clipboard(self, clipboard: Clipboard) -> None: ...
    def create_child_anchor(self, iter: TextIter) -> TextChildAnchor: ...
    # override
    def create_mark(
        self, mark_name: Optional[str], where: TextIter, left_gravity: bool
    ) -> TextMark: ...
    # override
    def create_tag(self, tag_name: Optional[str] = None, **kwargs: Any) -> TextTag: ...
    def cut_clipboard(self, clipboard: Clipboard, default_editable: bool) -> None: ...
    def delete(self, start: TextIter, end: TextIter) -> None: ...
    def delete_interactive(
        self, start_iter: TextIter, end_iter: TextIter, default_editable: bool
    ) -> bool: ...
    def delete_mark(self, mark: TextMark) -> None: ...
    def delete_mark_by_name(self, name: str) -> None: ...
    def delete_selection(self, interactive: bool, default_editable: bool) -> bool: ...
    def deserialize(
        self,
        content_buffer: TextBuffer,
        format: Gdk.Atom,
        iter: TextIter,
        data: Sequence[int],
    ) -> bool: ...
    def deserialize_get_can_create_tags(self, format: Gdk.Atom) -> bool: ...
    def deserialize_set_can_create_tags(
        self, format: Gdk.Atom, can_create_tags: bool
    ) -> None: ...
    def do_apply_tag(self, tag: TextTag, start: TextIter, end: TextIter) -> None: ...
    def do_begin_user_action(self) -> None: ...
    def do_changed(self) -> None: ...
    def do_delete_range(self, start: TextIter, end: TextIter) -> None: ...
    def do_end_user_action(self) -> None: ...
    def do_insert_child_anchor(
        self, iter: TextIter, anchor: TextChildAnchor
    ) -> None: ...
    def do_insert_pixbuf(self, iter: TextIter, pixbuf: GdkPixbuf.Pixbuf) -> None: ...
    def do_insert_text(
        self, pos: TextIter, new_text: str, new_text_length: int
    ) -> None: ...
    def do_mark_deleted(self, mark: TextMark) -> None: ...
    def do_mark_set(self, location: TextIter, mark: TextMark) -> None: ...
    def do_modified_changed(self) -> None: ...
    def do_paste_done(self, clipboard: Clipboard) -> None: ...
    def do_remove_tag(self, tag: TextTag, start: TextIter, end: TextIter) -> None: ...
    def end_user_action(self) -> None: ...
    def get_bounds(self) -> Tuple[TextIter, TextIter]: ...
    def get_char_count(self) -> int: ...
    def get_copy_target_list(self) -> TargetList: ...
    def get_deserialize_formats(self) -> list[Gdk.Atom]: ...
    def get_end_iter(self) -> TextIter: ...
    def get_has_selection(self) -> bool: ...
    def get_insert(self) -> TextMark: ...
    def get_iter_at_child_anchor(self, anchor: TextChildAnchor) -> TextIter: ...
    def get_iter_at_line(self, line_number: int) -> TextIter: ...
    def get_iter_at_line_index(self, line_number: int, byte_index: int) -> TextIter: ...
    def get_iter_at_line_offset(
        self, line_number: int, char_offset: int
    ) -> TextIter: ...
    def get_iter_at_mark(self, mark: TextMark) -> TextIter: ...
    def get_iter_at_offset(self, char_offset: int) -> TextIter: ...
    def get_line_count(self) -> int: ...
    def get_mark(self, name: str) -> Optional[TextMark]: ...
    def get_modified(self) -> bool: ...
    def get_paste_target_list(self) -> TargetList: ...
    def get_selection_bound(self) -> TextMark: ...
    # override
    def get_selection_bounds(self) -> Optional[tuple[TextIter, TextIter]]: ...
    def get_serialize_formats(self) -> list[Gdk.Atom]: ...
    def get_slice(
        self, start: TextIter, end: TextIter, include_hidden_chars: bool
    ) -> str: ...
    def get_start_iter(self) -> TextIter: ...
    def get_tag_table(self) -> TextTagTable: ...
    def get_text(
        self, start: TextIter, end: TextIter, include_hidden_chars: bool
    ) -> str: ...
    # override
    def insert(self, iter: TextIter, text: str, length: int = ...) -> None: ...
    # override
    def insert_at_cursor(self, text: str, length: int = -1) -> None: ...
    def insert_child_anchor(self, iter: TextIter, anchor: TextChildAnchor) -> None: ...
    def insert_interactive(
        self, iter: TextIter, text: str, len: int, default_editable: bool
    ) -> bool: ...
    def insert_interactive_at_cursor(
        self, text: str, len: int, default_editable: bool
    ) -> bool: ...
    def insert_markup(self, iter: TextIter, markup: str, len: int) -> None: ...
    def insert_pixbuf(self, iter: TextIter, pixbuf: GdkPixbuf.Pixbuf) -> None: ...
    def insert_range(self, iter: TextIter, start: TextIter, end: TextIter) -> None: ...
    def insert_range_interactive(
        self, iter: TextIter, start: TextIter, end: TextIter, default_editable: bool
    ) -> bool: ...
    def insert_with_tags(self, iter, text, *tags): ...  # FIXME Function
    # override
    def insert_with_tags_by_name(
        self, iter: TextIter, text: str, *tags: Any
    ) -> None: ...
    def move_mark(self, mark: TextMark, where: TextIter) -> None: ...
    def move_mark_by_name(self, name: str, where: TextIter) -> None: ...
    @classmethod
    def new(cls, table: Optional[TextTagTable] = None) -> TextBuffer: ...
    def paste_clipboard(
        self,
        clipboard: Clipboard,
        override_location: Optional[TextIter],
        default_editable: bool,
    ) -> None: ...
    def place_cursor(self, where: TextIter) -> None: ...
    def register_deserialize_format(
        self, mime_type: str, function: Callable[..., bool], *user_data: Any
    ) -> Gdk.Atom: ...
    def register_deserialize_tagset(
        self, tagset_name: Optional[str] = None
    ) -> Gdk.Atom: ...
    def register_serialize_format(
        self, mime_type: str, function: Callable[..., Optional[bytes]], *user_data: Any
    ) -> Gdk.Atom: ...
    def register_serialize_tagset(
        self, tagset_name: Optional[str] = None
    ) -> Gdk.Atom: ...
    def remove_all_tags(self, start: TextIter, end: TextIter) -> None: ...
    def remove_selection_clipboard(self, clipboard: Clipboard) -> None: ...
    def remove_tag(self, tag: TextTag, start: TextIter, end: TextIter) -> None: ...
    def remove_tag_by_name(self, name: str, start: TextIter, end: TextIter) -> None: ...
    def select_range(self, ins: TextIter, bound: TextIter) -> None: ...
    def serialize(
        self,
        content_buffer: TextBuffer,
        format: Gdk.Atom,
        start: TextIter,
        end: TextIter,
    ) -> bytes: ...
    def set_modified(self, setting: bool) -> None: ...
    # override
    def set_text(self, text: str, length: int = -1) -> None: ...
    def unregister_deserialize_format(self, format: Gdk.Atom) -> None: ...
    def unregister_serialize_format(self, format: Gdk.Atom) -> None: ...

class TextBufferClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextBufferClass()
    """

    parent_class: GObject.ObjectClass = ...
    insert_text: Callable[[TextBuffer, TextIter, str, int], None] = ...
    insert_pixbuf: Callable[[TextBuffer, TextIter, GdkPixbuf.Pixbuf], None] = ...
    insert_child_anchor: Callable[[TextBuffer, TextIter, TextChildAnchor], None] = ...
    delete_range: Callable[[TextBuffer, TextIter, TextIter], None] = ...
    changed: Callable[[TextBuffer], None] = ...
    modified_changed: Callable[[TextBuffer], None] = ...
    mark_set: Callable[[TextBuffer, TextIter, TextMark], None] = ...
    mark_deleted: Callable[[TextBuffer, TextMark], None] = ...
    apply_tag: Callable[[TextBuffer, TextTag, TextIter, TextIter], None] = ...
    remove_tag: Callable[[TextBuffer, TextTag, TextIter, TextIter], None] = ...
    begin_user_action: Callable[[TextBuffer], None] = ...
    end_user_action: Callable[[TextBuffer], None] = ...
    paste_done: Callable[[TextBuffer, Clipboard], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TextBufferPrivate(GObject.GPointer): ...

class TextCellAccessible(
    RendererCellAccessible, Atk.Action, Atk.Component, Atk.TableCell, Atk.Text
):
    """
    :Constructors:

    ::

        TextCellAccessible(**properties)

    Object GtkTextCellAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkText:
      text-changed (gint, gint)
      text-insert (gint, gint, gchararray)
      text-remove (gint, gint, gchararray)
      text-caret-moved (gint)
      text-selection-changed ()
      text-attributes-changed ()

    Properties from GtkRendererCellAccessible:
      renderer -> GtkCellRenderer: Cell renderer
        The cell renderer represented by this accessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        renderer: CellRenderer
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: RendererCellAccessible = ...
    priv: TextCellAccessiblePrivate = ...
    def __init__(
        self,
        renderer: CellRenderer = ...,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class TextCellAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextCellAccessibleClass()
    """

    parent_class: RendererCellAccessibleClass = ...

class TextCellAccessiblePrivate(GObject.GPointer): ...

class TextChildAnchor(GObject.Object):
    """
    :Constructors:

    ::

        TextChildAnchor(**properties)
        new() -> Gtk.TextChildAnchor

    Object GtkTextChildAnchor

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    segment: None = ...
    def get_deleted(self) -> bool: ...
    def get_widgets(self) -> list[Widget]: ...
    @classmethod
    def new(cls) -> TextChildAnchor: ...

class TextChildAnchorClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextChildAnchorClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TextIter(GObject.GBoxed):
    """
    :Constructors:

    ::

        TextIter()
    """

    dummy1: None = ...
    dummy2: None = ...
    dummy3: int = ...
    dummy4: int = ...
    dummy5: int = ...
    dummy6: int = ...
    dummy7: int = ...
    dummy8: int = ...
    dummy9: None = ...
    dummy10: None = ...
    dummy11: int = ...
    dummy12: int = ...
    dummy13: int = ...
    dummy14: None = ...
    def assign(self, other: TextIter) -> None: ...
    def backward_char(self) -> bool: ...
    def backward_chars(self, count: int) -> bool: ...
    def backward_cursor_position(self) -> bool: ...
    def backward_cursor_positions(self, count: int) -> bool: ...
    def backward_find_char(
        self,
        pred: Callable[..., bool],
        limit: Optional[TextIter] = None,
        *user_data: Any,
    ) -> bool: ...
    def backward_line(self) -> bool: ...
    def backward_lines(self, count: int) -> bool: ...
    def backward_search(
        self, str: str, flags: TextSearchFlags, limit: Optional[TextIter] = None
    ) -> Optional[Tuple[TextIter, TextIter]]: ...  # CHECK Wrapped function
    def backward_sentence_start(self) -> bool: ...
    def backward_sentence_starts(self, count: int) -> bool: ...
    def backward_to_tag_toggle(self, tag: Optional[TextTag] = None) -> bool: ...
    def backward_visible_cursor_position(self) -> bool: ...
    def backward_visible_cursor_positions(self, count: int) -> bool: ...
    def backward_visible_line(self) -> bool: ...
    def backward_visible_lines(self, count: int) -> bool: ...
    def backward_visible_word_start(self) -> bool: ...
    def backward_visible_word_starts(self, count: int) -> bool: ...
    def backward_word_start(self) -> bool: ...
    def backward_word_starts(self, count: int) -> bool: ...
    def begins_tag(self, tag: Optional[TextTag] = None) -> bool: ...
    def can_insert(self, default_editability: bool) -> bool: ...
    def compare(self, rhs: TextIter) -> int: ...
    def copy(self) -> TextIter: ...
    def editable(self, default_setting: bool) -> bool: ...
    def ends_line(self) -> bool: ...
    def ends_sentence(self) -> bool: ...
    def ends_tag(self, tag: Optional[TextTag] = None) -> bool: ...
    def ends_word(self) -> bool: ...
    def equal(self, rhs: TextIter) -> bool: ...
    def forward_char(self) -> bool: ...
    def forward_chars(self, count: int) -> bool: ...
    def forward_cursor_position(self) -> bool: ...
    def forward_cursor_positions(self, count: int) -> bool: ...
    def forward_find_char(
        self,
        pred: Callable[..., bool],
        limit: Optional[TextIter] = None,
        *user_data: Any,
    ) -> bool: ...
    def forward_line(self) -> bool: ...
    def forward_lines(self, count: int) -> bool: ...
    def forward_search(
        self, str: str, flags: TextSearchFlags, limit: Optional[TextIter] = None
    ) -> Optional[Tuple[TextIter, TextIter]]: ...  # CHECK Wrapped function
    def forward_sentence_end(self) -> bool: ...
    def forward_sentence_ends(self, count: int) -> bool: ...
    def forward_to_end(self) -> None: ...
    def forward_to_line_end(self) -> bool: ...
    def forward_to_tag_toggle(self, tag: Optional[TextTag] = None) -> bool: ...
    def forward_visible_cursor_position(self) -> bool: ...
    def forward_visible_cursor_positions(self, count: int) -> bool: ...
    def forward_visible_line(self) -> bool: ...
    def forward_visible_lines(self, count: int) -> bool: ...
    def forward_visible_word_end(self) -> bool: ...
    def forward_visible_word_ends(self, count: int) -> bool: ...
    def forward_word_end(self) -> bool: ...
    def forward_word_ends(self, count: int) -> bool: ...
    def free(self) -> None: ...
    def get_attributes(self) -> Tuple[bool, TextAttributes]: ...
    def get_buffer(self) -> TextBuffer: ...
    def get_bytes_in_line(self) -> int: ...
    def get_char(self) -> str: ...
    def get_chars_in_line(self) -> int: ...
    def get_child_anchor(self) -> TextChildAnchor: ...
    def get_language(self) -> Pango.Language: ...
    def get_line(self) -> int: ...
    def get_line_index(self) -> int: ...
    def get_line_offset(self) -> int: ...
    def get_marks(self) -> list[TextMark]: ...
    def get_offset(self) -> int: ...
    def get_pixbuf(self) -> GdkPixbuf.Pixbuf: ...
    def get_slice(self, end: TextIter) -> str: ...
    def get_tags(self) -> list[TextTag]: ...
    def get_text(self, end: TextIter) -> str: ...
    def get_toggled_tags(self, toggled_on: bool) -> list[TextTag]: ...
    def get_visible_line_index(self) -> int: ...
    def get_visible_line_offset(self) -> int: ...
    def get_visible_slice(self, end: TextIter) -> str: ...
    def get_visible_text(self, end: TextIter) -> str: ...
    def has_tag(self, tag: TextTag) -> bool: ...
    def in_range(self, start: TextIter, end: TextIter) -> bool: ...
    def inside_sentence(self) -> bool: ...
    def inside_word(self) -> bool: ...
    def is_cursor_position(self) -> bool: ...
    def is_end(self) -> bool: ...
    def is_start(self) -> bool: ...
    def order(self, second: TextIter) -> None: ...
    def set_line(self, line_number: int) -> None: ...
    def set_line_index(self, byte_on_line: int) -> None: ...
    def set_line_offset(self, char_on_line: int) -> None: ...
    def set_offset(self, char_offset: int) -> None: ...
    def set_visible_line_index(self, byte_on_line: int) -> None: ...
    def set_visible_line_offset(self, char_on_line: int) -> None: ...
    def starts_line(self) -> bool: ...
    def starts_sentence(self) -> bool: ...
    def starts_tag(self, tag: Optional[TextTag] = None) -> bool: ...
    def starts_word(self) -> bool: ...
    def toggles_tag(self, tag: Optional[TextTag] = None) -> bool: ...

class TextMark(GObject.Object):
    """
    :Constructors:

    ::

        TextMark(**properties)
        new(name:str=None, left_gravity:bool) -> Gtk.TextMark

    Object GtkTextMark

    Properties from GtkTextMark:
      name -> gchararray: Name
        Mark name
      left-gravity -> gboolean: Left gravity
        Whether the mark has left gravity

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        left_gravity: bool
        name: Optional[str]

    props: Props = ...
    parent_instance: GObject.Object = ...
    segment: None = ...
    def __init__(self, left_gravity: bool = ..., name: str = ...): ...
    def get_buffer(self) -> TextBuffer: ...
    def get_deleted(self) -> bool: ...
    def get_left_gravity(self) -> bool: ...
    def get_name(self) -> Optional[str]: ...
    def get_visible(self) -> bool: ...
    @classmethod
    def new(cls, name: Optional[str], left_gravity: bool) -> TextMark: ...
    def set_visible(self, setting: bool) -> None: ...

class TextMarkClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextMarkClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TextTag(GObject.Object):
    """
    :Constructors:

    ::

        TextTag(**properties)
        new(name:str=None) -> Gtk.TextTag

    Object GtkTextTag

    Signals from GtkTextTag:
      event (GObject, GdkEvent, GtkTextIter) -> gboolean

    Properties from GtkTextTag:
      name -> gchararray: Tag name
        Name used to refer to the text tag. NULL for anonymous tags
      background -> gchararray: Background color name
        Background color as a string
      foreground -> gchararray: Foreground color name
        Foreground color as a string
      background-gdk -> GdkColor: Background color
        Background color as a GdkColor
      foreground-gdk -> GdkColor: Foreground color
        Foreground color as a GdkColor
      background-rgba -> GdkRGBA: Background RGBA
        Background color as a GdkRGBA
      foreground-rgba -> GdkRGBA: Foreground RGBA
        Foreground color as a GdkRGBA
      font -> gchararray: Font
        Font description as a string, e.g. "Sans Italic 12"
      font-desc -> PangoFontDescription: Font
        Font description as a PangoFontDescription struct
      family -> gchararray: Font family
        Name of the font family, e.g. Sans, Helvetica, Times, Monospace
      style -> PangoStyle: Font style
        Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC
      variant -> PangoVariant: Font variant
        Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS
      weight -> gint: Font weight
        Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD
      stretch -> PangoStretch: Font stretch
        Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED
      size -> gint: Font size
        Font size in Pango units
      size-points -> gdouble: Font points
        Font size in points
      scale -> gdouble: 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
      pixels-above-lines -> gint: Pixels above lines
        Pixels of blank space above paragraphs
      pixels-below-lines -> gint: Pixels below lines
        Pixels of blank space below paragraphs
      pixels-inside-wrap -> gint: Pixels inside wrap
        Pixels of blank space between wrapped lines in a paragraph
      editable -> gboolean: Editable
        Whether the text can be modified by the user
      wrap-mode -> GtkWrapMode: Wrap mode
        Whether to wrap lines never, at word boundaries, or at character boundaries
      justification -> GtkJustification: Justification
        Left, right, or center justification
      direction -> GtkTextDirection: Text direction
        Text direction, e.g. right-to-left or left-to-right
      left-margin -> gint: Left margin
        Width of the left margin in pixels
      indent -> gint: Indent
        Amount to indent the paragraph, in pixels
      strikethrough -> gboolean: Strikethrough
        Whether to strike through the text
      strikethrough-rgba -> GdkRGBA: Strikethrough RGBA
        Color of strikethrough for this text
      right-margin -> gint: Right margin
        Width of the right margin in pixels
      underline -> PangoUnderline: Underline
        Style of underline for this text
      underline-rgba -> GdkRGBA: Underline RGBA
        Color of underline for this text
      rise -> gint: Rise
        Offset of text above the baseline (below the baseline if rise is negative) in Pango units
      background-full-height -> gboolean: Background full height
        Whether the background color fills the entire line height or only the height of the tagged characters
      language -> gchararray: 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.
      tabs -> PangoTabArray: Tabs
        Custom tabs for this text
      invisible -> gboolean: Invisible
        Whether this text is hidden.
      paragraph-background -> gchararray: Paragraph background color name
        Paragraph background color as a string
      paragraph-background-gdk -> GdkColor: Paragraph background color
        Paragraph background color as a GdkColor
      paragraph-background-rgba -> GdkRGBA: Paragraph background RGBA
        Paragraph background RGBA as a GdkRGBA
      fallback -> gboolean: Fallback
        Whether font fallback is enabled.
      letter-spacing -> gint: Letter Spacing
        Extra spacing between graphemes
      font-features -> gchararray: Font Features
        OpenType Font Features to use
      accumulative-margin -> gboolean: Margin Accumulates
        Whether left and right margins accumulate.
      background-set -> gboolean: Background set
        Whether this tag affects the background color
      foreground-set -> gboolean: Foreground set
        Whether this tag affects the foreground color
      family-set -> gboolean: Font family set
        Whether this tag affects the font family
      style-set -> gboolean: Font style set
        Whether this tag affects the font style
      variant-set -> gboolean: Font variant set
        Whether this tag affects the font variant
      weight-set -> gboolean: Font weight set
        Whether this tag affects the font weight
      stretch-set -> gboolean: Font stretch set
        Whether this tag affects the font stretch
      size-set -> gboolean: Font size set
        Whether this tag affects the font size
      scale-set -> gboolean: Font scale set
        Whether this tag scales the font size by a factor
      pixels-above-lines-set -> gboolean: Pixels above lines set
        Whether this tag affects the number of pixels above lines
      pixels-below-lines-set -> gboolean: Pixels below lines set
        Whether this tag affects the number of pixels above lines
      pixels-inside-wrap-set -> gboolean: Pixels inside wrap set
        Whether this tag affects the number of pixels between wrapped lines
      editable-set -> gboolean: Editability set
        Whether this tag affects text editability
      wrap-mode-set -> gboolean: Wrap mode set
        Whether this tag affects line wrap mode
      justification-set -> gboolean: Justification set
        Whether this tag affects paragraph justification
      left-margin-set -> gboolean: Left margin set
        Whether this tag affects the left margin
      indent-set -> gboolean: Indent set
        Whether this tag affects indentation
      strikethrough-set -> gboolean: Strikethrough set
        Whether this tag affects strikethrough
      strikethrough-rgba-set -> gboolean: Strikethrough RGBA set
        Whether this tag affects strikethrough color
      right-margin-set -> gboolean: Right margin set
        Whether this tag affects the right margin
      underline-set -> gboolean: Underline set
        Whether this tag affects underlining
      underline-rgba-set -> gboolean: Underline RGBA set
        Whether this tag affects underlining color
      rise-set -> gboolean: Rise set
        Whether this tag affects the rise
      background-full-height-set -> gboolean: Background full height set
        Whether this tag affects background height
      language-set -> gboolean: Language set
        Whether this tag affects the language the text is rendered as
      tabs-set -> gboolean: Tabs set
        Whether this tag affects tabs
      invisible-set -> gboolean: Invisible set
        Whether this tag affects text visibility
      paragraph-background-set -> gboolean: Paragraph background set
        Whether this tag affects the paragraph background color
      fallback-set -> gboolean: Fallback set
        Whether this tag affects font fallback
      letter-spacing-set -> gboolean: Letter spacing set
        Whether this tag affects letter spacing
      font-features-set -> gboolean: Font features set
        Whether this tag affects font features

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accumulative_margin: bool
        background_full_height: bool
        background_full_height_set: bool
        background_gdk: Gdk.Color
        background_rgba: Gdk.RGBA
        background_set: bool
        direction: TextDirection
        editable: bool
        editable_set: bool
        fallback: bool
        fallback_set: bool
        family: str
        family_set: bool
        font: str
        font_desc: Pango.FontDescription
        font_features: str
        font_features_set: bool
        foreground_gdk: Gdk.Color
        foreground_rgba: Gdk.RGBA
        foreground_set: bool
        indent: int
        indent_set: bool
        invisible: bool
        invisible_set: bool
        justification: Justification
        justification_set: bool
        language: str
        language_set: bool
        left_margin: int
        left_margin_set: bool
        letter_spacing: int
        letter_spacing_set: bool
        name: str
        paragraph_background_gdk: Gdk.Color
        paragraph_background_rgba: Gdk.RGBA
        paragraph_background_set: bool
        pixels_above_lines: int
        pixels_above_lines_set: bool
        pixels_below_lines: int
        pixels_below_lines_set: bool
        pixels_inside_wrap: int
        pixels_inside_wrap_set: bool
        right_margin: int
        right_margin_set: bool
        rise: int
        rise_set: bool
        scale: float
        scale_set: bool
        size: int
        size_points: float
        size_set: bool
        stretch: Pango.Stretch
        stretch_set: bool
        strikethrough: bool
        strikethrough_rgba: Gdk.RGBA
        strikethrough_rgba_set: bool
        strikethrough_set: bool
        style: Pango.Style
        style_set: bool
        tabs: Pango.TabArray
        tabs_set: bool
        underline: Pango.Underline
        underline_rgba: Gdk.RGBA
        underline_rgba_set: bool
        underline_set: bool
        variant: Pango.Variant
        variant_set: bool
        weight: int
        weight_set: bool
        wrap_mode: WrapMode
        wrap_mode_set: bool
        background: str
        foreground: str
        paragraph_background: str

    props: Props = ...
    parent_instance: GObject.Object = ...
    priv: TextTagPrivate = ...
    def __init__(
        self,
        accumulative_margin: bool = ...,
        background: str = ...,
        background_full_height: bool = ...,
        background_full_height_set: bool = ...,
        background_gdk: Gdk.Color = ...,
        background_rgba: Gdk.RGBA = ...,
        background_set: bool = ...,
        direction: TextDirection = ...,
        editable: bool = ...,
        editable_set: bool = ...,
        fallback: bool = ...,
        fallback_set: bool = ...,
        family: str = ...,
        family_set: bool = ...,
        font: str = ...,
        font_desc: Pango.FontDescription = ...,
        font_features: str = ...,
        font_features_set: bool = ...,
        foreground: str = ...,
        foreground_gdk: Gdk.Color = ...,
        foreground_rgba: Gdk.RGBA = ...,
        foreground_set: bool = ...,
        indent: int = ...,
        indent_set: bool = ...,
        invisible: bool = ...,
        invisible_set: bool = ...,
        justification: Justification = ...,
        justification_set: bool = ...,
        language: str = ...,
        language_set: bool = ...,
        left_margin: int = ...,
        left_margin_set: bool = ...,
        letter_spacing: int = ...,
        letter_spacing_set: bool = ...,
        name: str = ...,
        paragraph_background: str = ...,
        paragraph_background_gdk: Gdk.Color = ...,
        paragraph_background_rgba: Gdk.RGBA = ...,
        paragraph_background_set: bool = ...,
        pixels_above_lines: int = ...,
        pixels_above_lines_set: bool = ...,
        pixels_below_lines: int = ...,
        pixels_below_lines_set: bool = ...,
        pixels_inside_wrap: int = ...,
        pixels_inside_wrap_set: bool = ...,
        right_margin: int = ...,
        right_margin_set: bool = ...,
        rise: int = ...,
        rise_set: bool = ...,
        scale: float = ...,
        scale_set: bool = ...,
        size: int = ...,
        size_points: float = ...,
        size_set: bool = ...,
        stretch: Pango.Stretch = ...,
        stretch_set: bool = ...,
        strikethrough: bool = ...,
        strikethrough_rgba: Gdk.RGBA = ...,
        strikethrough_rgba_set: bool = ...,
        strikethrough_set: bool = ...,
        style: Pango.Style = ...,
        style_set: bool = ...,
        tabs: Pango.TabArray = ...,
        tabs_set: bool = ...,
        underline: Pango.Underline = ...,
        underline_rgba: Gdk.RGBA = ...,
        underline_rgba_set: bool = ...,
        underline_set: bool = ...,
        variant: Pango.Variant = ...,
        variant_set: bool = ...,
        weight: int = ...,
        weight_set: bool = ...,
        wrap_mode: WrapMode = ...,
        wrap_mode_set: bool = ...,
    ): ...
    def changed(self, size_changed: bool) -> None: ...
    def do_event(
        self, event_object: GObject.Object, event: Gdk.Event, iter: TextIter
    ) -> bool: ...
    def event(
        self, event_object: GObject.Object, event: Gdk.Event, iter: TextIter
    ) -> bool: ...
    def get_priority(self) -> int: ...
    @classmethod
    def new(cls, name: Optional[str] = None) -> TextTag: ...
    def set_priority(self, priority: int) -> None: ...

class TextTagClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextTagClass()
    """

    parent_class: GObject.ObjectClass = ...
    event: Callable[[TextTag, GObject.Object, Gdk.Event, TextIter], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TextTagPrivate(GObject.GPointer): ...

class TextTagTable(GObject.Object, Buildable):
    """
    :Constructors:

    ::

        TextTagTable(**properties)
        new() -> Gtk.TextTagTable

    Object GtkTextTagTable

    Signals from GtkTextTagTable:
      tag-changed (GtkTextTag, gboolean)
      tag-added (GtkTextTag)
      tag-removed (GtkTextTag)

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    priv: TextTagTablePrivate = ...
    def add(self, tag: TextTag) -> bool: ...
    def do_tag_added(self, tag: TextTag) -> None: ...
    def do_tag_changed(self, tag: TextTag, size_changed: bool) -> None: ...
    def do_tag_removed(self, tag: TextTag) -> None: ...
    def foreach(self, func: Callable[..., None], *data: Any) -> None: ...
    def get_size(self) -> int: ...
    def lookup(self, name: str) -> Optional[TextTag]: ...
    @classmethod
    def new(cls) -> TextTagTable: ...
    def remove(self, tag: TextTag) -> None: ...

class TextTagTableClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextTagTableClass()
    """

    parent_class: GObject.ObjectClass = ...
    tag_changed: Callable[[TextTagTable, TextTag, bool], None] = ...
    tag_added: Callable[[TextTagTable, TextTag], None] = ...
    tag_removed: Callable[[TextTagTable, TextTag], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TextTagTablePrivate(GObject.GPointer): ...

class TextView(Container, Atk.ImplementorIface, Buildable, Scrollable):
    """
    :Constructors:

    ::

        TextView(**properties)
        new() -> Gtk.Widget
        new_with_buffer(buffer:Gtk.TextBuffer) -> Gtk.Widget

    Object GtkTextView

    Signals from GtkTextView:
      move-cursor (GtkMovementStep, gint, gboolean)
      copy-clipboard ()
      populate-popup (GtkWidget)
      insert-at-cursor (gchararray)
      delete-from-cursor (GtkDeleteType, gint)
      backspace ()
      cut-clipboard ()
      paste-clipboard ()
      toggle-overwrite ()
      preedit-changed (gchararray)
      insert-emoji ()
      select-all (gboolean)
      move-viewport (GtkScrollStep, gint)
      set-anchor ()
      toggle-cursor-visible ()
      extend-selection (GtkTextExtendSelection, GtkTextIter, GtkTextIter, GtkTextIter) -> gboolean

    Properties from GtkTextView:
      pixels-above-lines -> gint: Pixels Above Lines
        Pixels of blank space above paragraphs
      pixels-below-lines -> gint: Pixels Below Lines
        Pixels of blank space below paragraphs
      pixels-inside-wrap -> gint: Pixels Inside Wrap
        Pixels of blank space between wrapped lines in a paragraph
      editable -> gboolean: Editable
        Whether the text can be modified by the user
      wrap-mode -> GtkWrapMode: Wrap Mode
        Whether to wrap lines never, at word boundaries, or at character boundaries
      justification -> GtkJustification: Justification
        Left, right, or center justification
      left-margin -> gint: Left Margin
        Width of the left margin in pixels
      right-margin -> gint: Right Margin
        Width of the right margin in pixels
      top-margin -> gint: Top Margin
        Height of the top margin in pixels
      bottom-margin -> gint: Bottom Margin
        Height of the bottom margin in pixels
      indent -> gint: Indent
        Amount to indent the paragraph, in pixels
      tabs -> PangoTabArray: Tabs
        Custom tabs for this text
      cursor-visible -> gboolean: Cursor Visible
        If the insertion cursor is shown
      buffer -> GtkTextBuffer: Buffer
        The buffer which is displayed
      overwrite -> gboolean: Overwrite mode
        Whether entered text overwrites existing contents
      accepts-tab -> gboolean: Accepts tab
        Whether Tab will result in a tab character being entered
      im-module -> gchararray: IM module
        Which IM module should be used
      input-purpose -> GtkInputPurpose: Purpose
        Purpose of the text field
      input-hints -> GtkInputHints: hints
        Hints for the text field behaviour
      populate-all -> gboolean: Populate all
        Whether to emit ::populate-popup for touch popups
      monospace -> gboolean: Monospace
        Whether to use a monospace font

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accepts_tab: bool
        bottom_margin: int
        buffer: TextBuffer
        cursor_visible: bool
        editable: bool
        im_module: str
        indent: int
        input_hints: InputHints
        input_purpose: InputPurpose
        justification: Justification
        left_margin: int
        monospace: bool
        overwrite: bool
        pixels_above_lines: int
        pixels_below_lines: int
        pixels_inside_wrap: int
        populate_all: bool
        right_margin: int
        tabs: Optional[Pango.TabArray]
        top_margin: int
        wrap_mode: WrapMode
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        hadjustment: Adjustment
        hscroll_policy: ScrollablePolicy
        vadjustment: Adjustment
        vscroll_policy: ScrollablePolicy
        child: Widget

    props: Props = ...
    parent_instance: Container = ...
    priv: TextViewPrivate = ...
    def __init__(
        self,
        accepts_tab: bool = ...,
        bottom_margin: int = ...,
        buffer: Optional[TextBuffer] = ...,
        cursor_visible: bool = ...,
        editable: bool = ...,
        im_module: str = ...,
        indent: int = ...,
        input_hints: InputHints = ...,
        input_purpose: InputPurpose = ...,
        justification: Justification = ...,
        left_margin: int = ...,
        monospace: bool = ...,
        overwrite: bool = ...,
        pixels_above_lines: int = ...,
        pixels_below_lines: int = ...,
        pixels_inside_wrap: int = ...,
        populate_all: bool = ...,
        right_margin: int = ...,
        tabs: Pango.TabArray = ...,
        top_margin: int = ...,
        wrap_mode: WrapMode = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscroll_policy: ScrollablePolicy = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscroll_policy: ScrollablePolicy = ...,
    ): ...
    def add_child_at_anchor(self, child: Widget, anchor: TextChildAnchor) -> None: ...
    def add_child_in_window(
        self, child: Widget, which_window: TextWindowType, xpos: int, ypos: int
    ) -> None: ...
    def backward_display_line(self, iter: TextIter) -> bool: ...
    def backward_display_line_start(self, iter: TextIter) -> bool: ...
    def buffer_to_window_coords(
        self, win: TextWindowType, buffer_x: int, buffer_y: int
    ) -> Tuple[int, int]: ...
    def do_backspace(self) -> None: ...
    def do_copy_clipboard(self) -> None: ...
    def do_cut_clipboard(self) -> None: ...
    def do_delete_from_cursor(self, type: DeleteType, count: int) -> None: ...
    def do_draw_layer(
        self, layer: TextViewLayer, cr: cairo.Context[_SomeSurface]
    ) -> None: ...
    def do_extend_selection(
        self,
        granularity: TextExtendSelection,
        location: TextIter,
        start: TextIter,
        end: TextIter,
    ) -> bool: ...
    def do_insert_at_cursor(self, str: str) -> None: ...
    def do_insert_emoji(self) -> None: ...
    def do_move_cursor(
        self, step: MovementStep, count: int, extend_selection: bool
    ) -> None: ...
    def do_paste_clipboard(self) -> None: ...
    def do_populate_popup(self, popup: Widget) -> None: ...
    def do_set_anchor(self) -> None: ...
    def do_toggle_overwrite(self) -> None: ...
    def forward_display_line(self, iter: TextIter) -> bool: ...
    def forward_display_line_end(self, iter: TextIter) -> bool: ...
    def get_accepts_tab(self) -> bool: ...
    def get_border_window_size(self, type: TextWindowType) -> int: ...
    def get_bottom_margin(self) -> int: ...
    def get_buffer(self) -> TextBuffer: ...
    def get_cursor_locations(
        self, iter: Optional[TextIter] = None
    ) -> Tuple[Gdk.Rectangle, Gdk.Rectangle]: ...
    def get_cursor_visible(self) -> bool: ...
    def get_default_attributes(self) -> TextAttributes: ...
    def get_editable(self) -> bool: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_indent(self) -> int: ...
    def get_input_hints(self) -> InputHints: ...
    def get_input_purpose(self) -> InputPurpose: ...
    def get_iter_at_location(self, x: int, y: int) -> Tuple[bool, TextIter]: ...
    def get_iter_at_position(self, x: int, y: int) -> Tuple[bool, TextIter, int]: ...
    def get_iter_location(self, iter: TextIter) -> Gdk.Rectangle: ...
    def get_justification(self) -> Justification: ...
    def get_left_margin(self) -> int: ...
    def get_line_at_y(self, y: int) -> Tuple[TextIter, int]: ...
    def get_line_yrange(self, iter: TextIter) -> Tuple[int, int]: ...
    def get_monospace(self) -> bool: ...
    def get_overwrite(self) -> bool: ...
    def get_pixels_above_lines(self) -> int: ...
    def get_pixels_below_lines(self) -> int: ...
    def get_pixels_inside_wrap(self) -> int: ...
    def get_right_margin(self) -> int: ...
    def get_tabs(self) -> Optional[Pango.TabArray]: ...
    def get_top_margin(self) -> int: ...
    def get_vadjustment(self) -> Adjustment: ...
    def get_visible_rect(self) -> Gdk.Rectangle: ...
    def get_window(self, win: TextWindowType) -> Optional[Gdk.Window]: ...
    def get_window_type(self, window: Gdk.Window) -> TextWindowType: ...
    def get_wrap_mode(self) -> WrapMode: ...
    def im_context_filter_keypress(self, event: Gdk.EventKey) -> bool: ...
    def move_child(self, child: Widget, xpos: int, ypos: int) -> None: ...
    def move_mark_onscreen(self, mark: TextMark) -> bool: ...
    def move_visually(self, iter: TextIter, count: int) -> bool: ...
    @classmethod
    def new(cls) -> TextView: ...
    @classmethod
    def new_with_buffer(cls, buffer: TextBuffer) -> TextView: ...
    def place_cursor_onscreen(self) -> bool: ...
    def reset_cursor_blink(self) -> None: ...
    def reset_im_context(self) -> None: ...
    def scroll_mark_onscreen(self, mark: TextMark) -> None: ...
    def scroll_to_iter(
        self,
        iter: TextIter,
        within_margin: float,
        use_align: bool,
        xalign: float,
        yalign: float,
    ) -> bool: ...
    def scroll_to_mark(
        self,
        mark: TextMark,
        within_margin: float,
        use_align: bool,
        xalign: float,
        yalign: float,
    ) -> None: ...
    def set_accepts_tab(self, accepts_tab: bool) -> None: ...
    def set_border_window_size(self, type: TextWindowType, size: int) -> None: ...
    def set_bottom_margin(self, bottom_margin: int) -> None: ...
    def set_buffer(self, buffer: Optional[TextBuffer] = None) -> None: ...
    def set_cursor_visible(self, setting: bool) -> None: ...
    def set_editable(self, setting: bool) -> None: ...
    def set_indent(self, indent: int) -> None: ...
    def set_input_hints(self, hints: InputHints) -> None: ...
    def set_input_purpose(self, purpose: InputPurpose) -> None: ...
    def set_justification(self, justification: Justification) -> None: ...
    def set_left_margin(self, left_margin: int) -> None: ...
    def set_monospace(self, monospace: bool) -> None: ...
    def set_overwrite(self, overwrite: bool) -> None: ...
    def set_pixels_above_lines(self, pixels_above_lines: int) -> None: ...
    def set_pixels_below_lines(self, pixels_below_lines: int) -> None: ...
    def set_pixels_inside_wrap(self, pixels_inside_wrap: int) -> None: ...
    def set_right_margin(self, right_margin: int) -> None: ...
    def set_tabs(self, tabs: Pango.TabArray) -> None: ...
    def set_top_margin(self, top_margin: int) -> None: ...
    def set_wrap_mode(self, wrap_mode: WrapMode) -> None: ...
    def starts_display_line(self, iter: TextIter) -> bool: ...
    def window_to_buffer_coords(
        self, win: TextWindowType, window_x: int, window_y: int
    ) -> Tuple[int, int]: ...

class TextViewAccessible(
    ContainerAccessible,
    Atk.Component,
    Atk.EditableText,
    Atk.StreamableContent,
    Atk.Text,
):
    """
    :Constructors:

    ::

        TextViewAccessible(**properties)

    Object GtkTextViewAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkText:
      text-changed (gint, gint)
      text-insert (gint, gint, gchararray)
      text-remove (gint, gint, gchararray)
      text-caret-moved (gint)
      text-selection-changed ()
      text-attributes-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: TextViewAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class TextViewAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextViewAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class TextViewAccessiblePrivate(GObject.GPointer): ...

class TextViewClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TextViewClass()
    """

    parent_class: ContainerClass = ...
    populate_popup: Callable[[TextView, Widget], None] = ...
    move_cursor: Callable[[TextView, MovementStep, int, bool], None] = ...
    set_anchor: Callable[[TextView], None] = ...
    insert_at_cursor: Callable[[TextView, str], None] = ...
    delete_from_cursor: Callable[[TextView, DeleteType, int], None] = ...
    backspace: Callable[[TextView], None] = ...
    cut_clipboard: Callable[[TextView], None] = ...
    copy_clipboard: Callable[[TextView], None] = ...
    paste_clipboard: Callable[[TextView], None] = ...
    toggle_overwrite: Callable[[TextView], None] = ...
    create_buffer: None = ...
    draw_layer: Callable[
        [TextView, TextViewLayer, cairo.Context[_SomeSurface]], None
    ] = ...
    extend_selection: Callable[
        [TextView, TextExtendSelection, TextIter, TextIter, TextIter], bool
    ] = ...
    insert_emoji: Callable[[TextView], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TextViewPrivate(GObject.GPointer): ...
class ThemeEngine(GObject.GPointer): ...

class ThemingEngine(GObject.Object):
    """
    :Constructors:

    ::

        ThemingEngine(**properties)

    Object GtkThemingEngine

    Properties from GtkThemingEngine:
      name -> gchararray: Name
        Theming engine name

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        name: str

    props: Props = ...
    parent_object: GObject.Object = ...
    priv: ThemingEnginePrivate = ...
    def __init__(self, name: str = ...): ...
    def do_render_activity(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_arrow(
        self,
        cr: cairo.Context[_SomeSurface],
        angle: float,
        x: float,
        y: float,
        size: float,
    ) -> None: ...
    def do_render_background(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_check(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_expander(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_extension(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
        gap_side: PositionType,
    ) -> None: ...
    def do_render_focus(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_frame(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_frame_gap(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
        gap_side: PositionType,
        xy0_gap: float,
        xy1_gap: float,
    ) -> None: ...
    def do_render_handle(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_icon(
        self,
        cr: cairo.Context[_SomeSurface],
        pixbuf: GdkPixbuf.Pixbuf,
        x: float,
        y: float,
    ) -> None: ...
    def do_render_icon_surface(
        self,
        cr: cairo.Context[_SomeSurface],
        surface: cairo.Surface,
        x: float,
        y: float,
    ) -> None: ...
    def do_render_layout(
        self, cr: cairo.Context[_SomeSurface], x: float, y: float, layout: Pango.Layout
    ) -> None: ...
    def do_render_line(
        self,
        cr: cairo.Context[_SomeSurface],
        x0: float,
        y0: float,
        x1: float,
        y1: float,
    ) -> None: ...
    def do_render_option(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
    ) -> None: ...
    def do_render_slider(
        self,
        cr: cairo.Context[_SomeSurface],
        x: float,
        y: float,
        width: float,
        height: float,
        orientation: Orientation,
    ) -> None: ...
    def get_background_color(self, state: StateFlags) -> Gdk.RGBA: ...
    def get_border(self, state: StateFlags) -> Border: ...
    def get_border_color(self, state: StateFlags) -> Gdk.RGBA: ...
    def get_color(self, state: StateFlags) -> Gdk.RGBA: ...
    def get_direction(self) -> TextDirection: ...
    def get_font(self, state: StateFlags) -> Pango.FontDescription: ...
    def get_junction_sides(self) -> JunctionSides: ...
    def get_margin(self, state: StateFlags) -> Border: ...
    def get_padding(self, state: StateFlags) -> Border: ...
    def get_path(self) -> WidgetPath: ...
    def get_property(self, property: str, state: StateFlags) -> Any: ...
    def get_screen(self) -> Optional[Gdk.Screen]: ...
    def get_state(self) -> StateFlags: ...
    def get_style_property(self, property_name: str) -> Any: ...
    def has_class(self, style_class: str) -> bool: ...
    def has_region(self, style_region: str) -> Tuple[bool, RegionFlags]: ...
    @staticmethod
    def load(name: str) -> Optional[ThemingEngine]: ...
    def lookup_color(self, color_name: str) -> Tuple[bool, Gdk.RGBA]: ...
    def state_is_running(self, state: StateType) -> Tuple[bool, float]: ...

class ThemingEngineClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ThemingEngineClass()
    """

    parent_class: GObject.ObjectClass = ...
    render_line: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_background: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_frame: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_frame_gap: Callable[
        [
            ThemingEngine,
            cairo.Context[_SomeSurface],
            float,
            float,
            float,
            float,
            PositionType,
            float,
            float,
        ],
        None,
    ] = ...
    render_extension: Callable[
        [
            ThemingEngine,
            cairo.Context[_SomeSurface],
            float,
            float,
            float,
            float,
            PositionType,
        ],
        None,
    ] = ...
    render_check: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_option: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_arrow: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_expander: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_focus: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_layout: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, Pango.Layout], None
    ] = ...
    render_slider: Callable[
        [
            ThemingEngine,
            cairo.Context[_SomeSurface],
            float,
            float,
            float,
            float,
            Orientation,
        ],
        None,
    ] = ...
    render_handle: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_activity: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], float, float, float, float], None
    ] = ...
    render_icon_pixbuf: None = ...
    render_icon: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], GdkPixbuf.Pixbuf, float, float],
        None,
    ] = ...
    render_icon_surface: Callable[
        [ThemingEngine, cairo.Context[_SomeSurface], cairo.Surface, float, float], None
    ] = ...
    padding: list[None] = ...

class ThemingEnginePrivate(GObject.GPointer): ...

class ToggleAction(Action, Buildable):
    """
    :Constructors:

    ::

        ToggleAction(**properties)
        new(name:str, label:str=None, tooltip:str=None, stock_id:str=None) -> Gtk.ToggleAction

    Object GtkToggleAction

    Signals from GtkToggleAction:
      toggled ()

    Properties from GtkToggleAction:
      draw-as-radio -> gboolean: Create the same proxies as a radio action
        Whether the proxies for this action look like radio action proxies
      active -> gboolean: Active
        Whether the toggle action should be active

    Signals from GtkAction:
      activate ()

    Properties from GtkAction:
      name -> gchararray: Name
        A unique name for the action.
      label -> gchararray: Label
        The label used for menu items and buttons that activate this action.
      short-label -> gchararray: Short label
        A shorter label that may be used on toolbar buttons.
      tooltip -> gchararray: Tooltip
        A tooltip for this action.
      stock-id -> gchararray: Stock Icon
        The stock icon displayed in widgets representing this action.
      icon-name -> gchararray: Icon Name
        The name of the icon from the icon theme
      gicon -> GIcon: GIcon
        The GIcon being displayed
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      visible-overflown -> gboolean: Visible when overflown
        When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.
      is-important -> gboolean: Is important
        Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.
      hide-if-empty -> gboolean: Hide if empty
        When TRUE, empty menu proxies for this action are hidden.
      sensitive -> gboolean: Sensitive
        Whether the action is enabled.
      visible -> gboolean: Visible
        Whether the action is visible.
      action-group -> GtkActionGroup: Action Group
        The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        draw_as_radio: bool
        action_group: ActionGroup
        always_show_image: bool
        gicon: Gio.Icon
        hide_if_empty: bool
        icon_name: str
        is_important: bool
        label: str
        name: str
        sensitive: bool
        short_label: str
        stock_id: str
        tooltip: str
        visible: bool
        visible_horizontal: bool
        visible_overflown: bool
        visible_vertical: bool

    props: Props = ...
    parent: Action = ...
    private_data: ToggleActionPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        draw_as_radio: bool = ...,
        action_group: ActionGroup = ...,
        always_show_image: bool = ...,
        gicon: Gio.Icon = ...,
        hide_if_empty: bool = ...,
        icon_name: str = ...,
        is_important: bool = ...,
        label: str = ...,
        name: str = ...,
        sensitive: bool = ...,
        short_label: str = ...,
        stock_id: str = ...,
        tooltip: str = ...,
        visible: bool = ...,
        visible_horizontal: bool = ...,
        visible_overflown: bool = ...,
        visible_vertical: bool = ...,
    ): ...
    def do_toggled(self) -> None: ...
    def get_active(self) -> bool: ...
    def get_draw_as_radio(self) -> bool: ...
    @classmethod
    def new(
        cls,
        name: str,
        label: Optional[str] = None,
        tooltip: Optional[str] = None,
        stock_id: Optional[str] = None,
    ) -> ToggleAction: ...
    def set_active(self, is_active: bool) -> None: ...
    def set_draw_as_radio(self, draw_as_radio: bool) -> None: ...
    def toggled(self) -> None: ...

class ToggleActionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToggleActionClass()
    """

    parent_class: ActionClass = ...
    toggled: Callable[[ToggleAction], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToggleActionEntry(GObject.GPointer):
    """
    :Constructors:

    ::

        ToggleActionEntry()
    """

    name: str = ...
    stock_id: str = ...
    label: str = ...
    accelerator: str = ...
    tooltip: str = ...
    callback: Callable[[], None] = ...
    is_active: bool = ...

class ToggleActionPrivate(GObject.GPointer): ...

class ToggleButton(Button, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        ToggleButton(**properties)
        new() -> Gtk.Widget
        new_with_label(label:str) -> Gtk.Widget
        new_with_mnemonic(label:str) -> Gtk.Widget

    Object GtkToggleButton

    Signals from GtkToggleButton:
      toggled ()

    Properties from GtkToggleButton:
      active -> gboolean: Active
        If the toggle button should be pressed in
      inconsistent -> gboolean: Inconsistent
        If the toggle button is in an "in between" state
      draw-indicator -> gboolean: Draw Indicator
        If the toggle part of the button is displayed

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        draw_indicator: bool
        inconsistent: bool
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    button: Button = ...
    priv: ToggleButtonPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        draw_indicator: bool = ...,
        inconsistent: bool = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_toggled(self) -> None: ...
    def get_active(self) -> bool: ...
    def get_inconsistent(self) -> bool: ...
    def get_mode(self) -> bool: ...
    @classmethod
    def new(cls) -> ToggleButton: ...
    @classmethod
    def new_with_label(cls, label: str) -> ToggleButton: ...
    @classmethod
    def new_with_mnemonic(cls, label: str) -> ToggleButton: ...
    def set_active(self, is_active: bool) -> None: ...
    def set_inconsistent(self, setting: bool) -> None: ...
    def set_mode(self, draw_indicator: bool) -> None: ...
    def toggled(self) -> None: ...

class ToggleButtonAccessible(ButtonAccessible, Atk.Action, Atk.Component, Atk.Image):
    """
    :Constructors:

    ::

        ToggleButtonAccessible(**properties)

    Object GtkToggleButtonAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ButtonAccessible = ...
    priv: ToggleButtonAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class ToggleButtonAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToggleButtonAccessibleClass()
    """

    parent_class: ButtonAccessibleClass = ...

class ToggleButtonAccessiblePrivate(GObject.GPointer): ...

class ToggleButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToggleButtonClass()
    """

    parent_class: ButtonClass = ...
    toggled: Callable[[ToggleButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToggleButtonPrivate(GObject.GPointer): ...

class ToggleToolButton(
    ToolButton, Atk.ImplementorIface, Actionable, Activatable, Buildable
):
    """
    :Constructors:

    ::

        ToggleToolButton(**properties)
        new() -> Gtk.ToolItem
        new_from_stock(stock_id:str) -> Gtk.ToolItem

    Object GtkToggleToolButton

    Signals from GtkToggleToolButton:
      toggled ()

    Properties from GtkToggleToolButton:
      active -> gboolean: Active
        If the toggle button should be pressed in

    Signals from GtkToolButton:
      clicked ()

    Properties from GtkToolButton:
      label -> gchararray: Label
        Text to show in the item.
      use-underline -> gboolean: Use underline
        If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu
      label-widget -> GtkWidget: Label widget
        Widget to use as the item label
      stock-id -> gchararray: Stock Id
        The stock icon displayed on the item
      icon-name -> gchararray: Icon name
        The name of the themed icon displayed on the item
      icon-widget -> GtkWidget: Icon widget
        Icon widget to display in the item

    Signals from GtkToolItem:
      create-menu-proxy () -> gboolean
      toolbar-reconfigured ()

    Properties from GtkToolItem:
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      is-important -> gboolean: Is important
        Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        active: bool
        icon_name: Optional[str]
        icon_widget: Optional[Widget]
        label: Optional[str]
        label_widget: Optional[Widget]
        stock_id: str
        use_underline: bool
        is_important: bool
        visible_horizontal: bool
        visible_vertical: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: ToolButton = ...
    priv: ToggleToolButtonPrivate = ...
    def __init__(
        self,
        active: bool = ...,
        icon_name: Optional[str] = ...,
        icon_widget: Optional[Widget] = ...,
        label: Optional[str] = ...,
        label_widget: Optional[Widget] = ...,
        stock_id: Optional[str] = ...,
        use_underline: bool = ...,
        is_important: bool = ...,
        visible_horizontal: bool = ...,
        visible_vertical: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_toggled(self) -> None: ...
    def get_active(self) -> bool: ...
    @classmethod
    def new(cls) -> ToggleToolButton: ...
    @classmethod
    def new_from_stock(cls, stock_id: str) -> ToggleToolButton: ...
    def set_active(self, is_active: bool) -> None: ...

class ToggleToolButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToggleToolButtonClass()
    """

    parent_class: ToolButtonClass = ...
    toggled: Callable[[ToggleToolButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToggleToolButtonPrivate(GObject.GPointer): ...

class ToolButton(ToolItem, Atk.ImplementorIface, Actionable, Activatable, Buildable):
    """
    :Constructors:

    ::

        ToolButton(**properties)
        new(icon_widget:Gtk.Widget=None, label:str=None) -> Gtk.ToolItem
        new_from_stock(stock_id:str) -> Gtk.ToolItem

    Object GtkToolButton

    Signals from GtkToolButton:
      clicked ()

    Properties from GtkToolButton:
      label -> gchararray: Label
        Text to show in the item.
      use-underline -> gboolean: Use underline
        If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu
      label-widget -> GtkWidget: Label widget
        Widget to use as the item label
      stock-id -> gchararray: Stock Id
        The stock icon displayed on the item
      icon-name -> gchararray: Icon name
        The name of the themed icon displayed on the item
      icon-widget -> GtkWidget: Icon widget
        Icon widget to display in the item

    Signals from GtkToolItem:
      create-menu-proxy () -> gboolean
      toolbar-reconfigured ()

    Properties from GtkToolItem:
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      is-important -> gboolean: Is important
        Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        icon_name: Optional[str]
        icon_widget: Optional[Widget]
        label: Optional[str]
        label_widget: Optional[Widget]
        stock_id: str
        use_underline: bool
        is_important: bool
        visible_horizontal: bool
        visible_vertical: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: ToolItem = ...
    priv: ToolButtonPrivate = ...
    def __init__(
        self,
        icon_name: Optional[str] = ...,
        icon_widget: Optional[Widget] = ...,
        label: Optional[str] = ...,
        label_widget: Optional[Widget] = ...,
        stock_id: Optional[str] = ...,
        use_underline: bool = ...,
        is_important: bool = ...,
        visible_horizontal: bool = ...,
        visible_vertical: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_clicked(self) -> None: ...
    def get_icon_name(self) -> Optional[str]: ...
    def get_icon_widget(self) -> Optional[Widget]: ...
    def get_label(self) -> Optional[str]: ...
    def get_label_widget(self) -> Optional[Widget]: ...
    def get_stock_id(self) -> str: ...
    def get_use_underline(self) -> bool: ...
    @classmethod
    def new(
        cls, icon_widget: Optional[Widget] = None, label: Optional[str] = None
    ) -> ToolButton: ...
    @classmethod
    def new_from_stock(cls, stock_id: str) -> ToolButton: ...
    def set_icon_name(self, icon_name: Optional[str] = None) -> None: ...
    def set_icon_widget(self, icon_widget: Optional[Widget] = None) -> None: ...
    def set_label(self, label: Optional[str] = None) -> None: ...
    def set_label_widget(self, label_widget: Optional[Widget] = None) -> None: ...
    def set_stock_id(self, stock_id: Optional[str] = None) -> None: ...
    def set_use_underline(self, use_underline: bool) -> None: ...

class ToolButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToolButtonClass()
    """

    parent_class: ToolItemClass = ...
    button_type: Type = ...
    clicked: Callable[[ToolButton], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToolButtonPrivate(GObject.GPointer): ...

class ToolItem(Bin, Atk.ImplementorIface, Activatable, Buildable):
    """
    :Constructors:

    ::

        ToolItem(**properties)
        new() -> Gtk.ToolItem

    Object GtkToolItem

    Signals from GtkToolItem:
      create-menu-proxy () -> gboolean
      toolbar-reconfigured ()

    Properties from GtkToolItem:
      visible-horizontal -> gboolean: Visible when horizontal
        Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
      visible-vertical -> gboolean: Visible when vertical
        Whether the toolbar item is visible when the toolbar is in a vertical orientation.
      is-important -> gboolean: Is important
        Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        is_important: bool
        visible_horizontal: bool
        visible_vertical: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        related_action: Action
        use_action_appearance: bool
        child: Widget

    props: Props = ...
    parent: Bin = ...
    priv: ToolItemPrivate = ...
    def __init__(
        self,
        is_important: bool = ...,
        visible_horizontal: bool = ...,
        visible_vertical: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
    ): ...
    def do_create_menu_proxy(self) -> bool: ...
    def do_toolbar_reconfigured(self) -> None: ...
    def get_ellipsize_mode(self) -> Pango.EllipsizeMode: ...
    def get_expand(self) -> bool: ...
    def get_homogeneous(self) -> bool: ...
    def get_icon_size(self) -> int: ...
    def get_is_important(self) -> bool: ...
    def get_orientation(self) -> Orientation: ...
    def get_proxy_menu_item(self, menu_item_id: str) -> Optional[Widget]: ...
    def get_relief_style(self) -> ReliefStyle: ...
    def get_text_alignment(self) -> float: ...
    def get_text_orientation(self) -> Orientation: ...
    def get_text_size_group(self) -> SizeGroup: ...
    def get_toolbar_style(self) -> ToolbarStyle: ...
    def get_use_drag_window(self) -> bool: ...
    def get_visible_horizontal(self) -> bool: ...
    def get_visible_vertical(self) -> bool: ...
    @classmethod
    def new(cls) -> ToolItem: ...
    def rebuild_menu(self) -> None: ...
    def retrieve_proxy_menu_item(self) -> Widget: ...
    def set_expand(self, expand: bool) -> None: ...
    def set_homogeneous(self, homogeneous: bool) -> None: ...
    def set_is_important(self, is_important: bool) -> None: ...
    def set_proxy_menu_item(
        self, menu_item_id: str, menu_item: Optional[Widget] = None
    ) -> None: ...
    def set_tooltip_markup(self, markup: str) -> None: ...
    def set_tooltip_text(self, text: str) -> None: ...
    def set_use_drag_window(self, use_drag_window: bool) -> None: ...
    def set_visible_horizontal(self, visible_horizontal: bool) -> None: ...
    def set_visible_vertical(self, visible_vertical: bool) -> None: ...
    def toolbar_reconfigured(self) -> None: ...

class ToolItemClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToolItemClass()
    """

    parent_class: BinClass = ...
    create_menu_proxy: Callable[[ToolItem], bool] = ...
    toolbar_reconfigured: Callable[[ToolItem], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToolItemGroup(Container, Atk.ImplementorIface, Buildable, ToolShell):
    """
    :Constructors:

    ::

        ToolItemGroup(**properties)
        new(label:str) -> Gtk.Widget

    Object GtkToolItemGroup

    Properties from GtkToolItemGroup:
      label -> gchararray: Label
        The human-readable title of this item group
      label-widget -> GtkWidget: Label widget
        A widget to display in place of the usual label
      collapsed -> gboolean: Collapsed
        Whether the group has been collapsed and items are hidden
      ellipsize -> PangoEllipsizeMode: ellipsize
        Ellipsize for item group headers
      header-relief -> GtkReliefStyle: Header Relief
        Relief of the group header button

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        collapsed: bool
        ellipsize: Pango.EllipsizeMode
        header_relief: ReliefStyle
        label: str
        label_widget: Widget
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        child: Widget

    props: Props = ...
    parent_instance: Container = ...
    priv: ToolItemGroupPrivate = ...
    def __init__(
        self,
        collapsed: bool = ...,
        ellipsize: Pango.EllipsizeMode = ...,
        header_relief: ReliefStyle = ...,
        label: str = ...,
        label_widget: Widget = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def get_collapsed(self) -> bool: ...
    def get_drop_item(self, x: int, y: int) -> ToolItem: ...
    def get_ellipsize(self) -> Pango.EllipsizeMode: ...
    def get_header_relief(self) -> ReliefStyle: ...
    def get_item_position(self, item: ToolItem) -> int: ...
    def get_label(self) -> str: ...
    def get_label_widget(self) -> Widget: ...
    def get_n_items(self) -> int: ...
    def get_nth_item(self, index: int) -> ToolItem: ...
    def insert(self, item: ToolItem, position: int) -> None: ...
    @classmethod
    def new(cls, label: str) -> ToolItemGroup: ...
    def set_collapsed(self, collapsed: bool) -> None: ...
    def set_ellipsize(self, ellipsize: Pango.EllipsizeMode) -> None: ...
    def set_header_relief(self, style: ReliefStyle) -> None: ...
    def set_item_position(self, item: ToolItem, position: int) -> None: ...
    def set_label(self, label: str) -> None: ...
    def set_label_widget(self, label_widget: Widget) -> None: ...

class ToolItemGroupClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToolItemGroupClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToolItemGroupPrivate(GObject.GPointer): ...
class ToolItemPrivate(GObject.GPointer): ...

class ToolPalette(Container, Atk.ImplementorIface, Buildable, Orientable, Scrollable):
    """
    :Constructors:

    ::

        ToolPalette(**properties)
        new() -> Gtk.Widget

    Object GtkToolPalette

    Properties from GtkToolPalette:
      icon-size -> GtkIconSize: Icon size
        Size of icons in this tool palette
      icon-size-set -> gboolean: Icon size set
        Whether the icon-size property has been set
      toolbar-style -> GtkToolbarStyle: Toolbar Style
        Style of items in the tool palette

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        icon_size: IconSize
        icon_size_set: bool
        toolbar_style: ToolbarStyle
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        hadjustment: Adjustment
        hscroll_policy: ScrollablePolicy
        vadjustment: Adjustment
        vscroll_policy: ScrollablePolicy
        child: Widget

    props: Props = ...
    parent_instance: Container = ...
    priv: ToolPalettePrivate = ...
    def __init__(
        self,
        icon_size: IconSize = ...,
        icon_size_set: bool = ...,
        toolbar_style: ToolbarStyle = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscroll_policy: ScrollablePolicy = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscroll_policy: ScrollablePolicy = ...,
    ): ...
    def add_drag_dest(
        self,
        widget: Widget,
        flags: DestDefaults,
        targets: ToolPaletteDragTargets,
        actions: Gdk.DragAction,
    ) -> None: ...
    def get_drag_item(self, selection: SelectionData) -> Widget: ...
    @staticmethod
    def get_drag_target_group() -> TargetEntry: ...
    @staticmethod
    def get_drag_target_item() -> TargetEntry: ...
    def get_drop_group(self, x: int, y: int) -> Optional[ToolItemGroup]: ...
    def get_drop_item(self, x: int, y: int) -> Optional[ToolItem]: ...
    def get_exclusive(self, group: ToolItemGroup) -> bool: ...
    def get_expand(self, group: ToolItemGroup) -> bool: ...
    def get_group_position(self, group: ToolItemGroup) -> int: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_icon_size(self) -> int: ...
    def get_style(self) -> ToolbarStyle: ...
    def get_vadjustment(self) -> Adjustment: ...
    @classmethod
    def new(cls) -> ToolPalette: ...
    def set_drag_source(self, targets: ToolPaletteDragTargets) -> None: ...
    def set_exclusive(self, group: ToolItemGroup, exclusive: bool) -> None: ...
    def set_expand(self, group: ToolItemGroup, expand: bool) -> None: ...
    def set_group_position(self, group: ToolItemGroup, position: int) -> None: ...
    def set_icon_size(self, icon_size: int) -> None: ...
    def set_style(self, style: ToolbarStyle) -> None: ...
    def unset_icon_size(self) -> None: ...
    def unset_style(self) -> None: ...

class ToolPaletteClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToolPaletteClass()
    """

    parent_class: ContainerClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToolPalettePrivate(GObject.GPointer): ...

class ToolShell(GObject.GInterface):
    """
    Interface GtkToolShell

    Signals from GObject:
      notify (GParam)
    """

    def get_ellipsize_mode(self) -> Pango.EllipsizeMode: ...
    def get_icon_size(self) -> int: ...
    def get_orientation(self) -> Orientation: ...
    def get_relief_style(self) -> ReliefStyle: ...
    def get_style(self) -> ToolbarStyle: ...
    def get_text_alignment(self) -> float: ...
    def get_text_orientation(self) -> Orientation: ...
    def get_text_size_group(self) -> SizeGroup: ...
    def rebuild_menu(self) -> None: ...

class ToolShellIface(GObject.GPointer):
    """
    :Constructors:

    ::

        ToolShellIface()
    """

    g_iface: GObject.TypeInterface = ...
    get_icon_size: Callable[[ToolShell], IconSize] = ...
    get_orientation: Callable[[ToolShell], Orientation] = ...
    get_style: Callable[[ToolShell], ToolbarStyle] = ...
    get_relief_style: Callable[[ToolShell], ReliefStyle] = ...
    rebuild_menu: Callable[[ToolShell], None] = ...
    get_text_orientation: Callable[[ToolShell], Orientation] = ...
    get_text_alignment: Callable[[ToolShell], float] = ...
    get_ellipsize_mode: Callable[[ToolShell], Pango.EllipsizeMode] = ...
    get_text_size_group: Callable[[ToolShell], SizeGroup] = ...

class Toolbar(Container, Atk.ImplementorIface, Buildable, Orientable, ToolShell):
    """
    :Constructors:

    ::

        Toolbar(**properties)
        new() -> Gtk.Widget

    Object GtkToolbar

    Signals from GtkToolbar:
      orientation-changed (GtkOrientation)
      style-changed (GtkToolbarStyle)
      popup-context-menu (gint, gint, gint) -> gboolean
      focus-home-or-end (gboolean) -> gboolean

    Properties from GtkToolbar:
      toolbar-style -> GtkToolbarStyle: Toolbar Style
        How to draw the toolbar
      show-arrow -> gboolean: Show Arrow
        If an arrow should be shown if the toolbar doesn't fit
      icon-size -> GtkIconSize: Icon size
        Size of icons in this toolbar
      icon-size-set -> gboolean: Icon size set
        Whether the icon-size property has been set

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        icon_size: IconSize
        icon_size_set: bool
        show_arrow: bool
        toolbar_style: ToolbarStyle
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    container: Container = ...
    priv: ToolbarPrivate = ...
    def __init__(
        self,
        icon_size: IconSize = ...,
        icon_size_set: bool = ...,
        show_arrow: bool = ...,
        toolbar_style: ToolbarStyle = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    def do_orientation_changed(self, orientation: Orientation) -> None: ...
    def do_popup_context_menu(self, x: int, y: int, button_number: int) -> bool: ...
    def do_style_changed(self, style: ToolbarStyle) -> None: ...
    def get_drop_index(self, x: int, y: int) -> int: ...
    def get_icon_size(self) -> IconSize: ...
    def get_item_index(self, item: ToolItem) -> int: ...
    def get_n_items(self) -> int: ...
    def get_nth_item(self, n: int) -> Optional[ToolItem]: ...
    def get_relief_style(self) -> ReliefStyle: ...
    def get_show_arrow(self) -> bool: ...
    def get_style(self) -> ToolbarStyle: ...
    def insert(self, item: ToolItem, pos: int) -> None: ...
    @classmethod
    def new(cls) -> Toolbar: ...
    def set_drop_highlight_item(
        self, tool_item: Optional[ToolItem], index_: int
    ) -> None: ...
    def set_icon_size(self, icon_size: IconSize) -> None: ...
    def set_show_arrow(self, show_arrow: bool) -> None: ...
    def set_style(self, style: ToolbarStyle) -> None: ...
    def unset_icon_size(self) -> None: ...
    def unset_style(self) -> None: ...

class ToolbarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToolbarClass()
    """

    parent_class: ContainerClass = ...
    orientation_changed: Callable[[Toolbar, Orientation], None] = ...
    style_changed: Callable[[Toolbar, ToolbarStyle], None] = ...
    popup_context_menu: Callable[[Toolbar, int, int, int], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ToolbarPrivate(GObject.GPointer): ...

class Tooltip(GObject.Object):
    """
    :Constructors:

    ::

        Tooltip(**properties)

    Object GtkTooltip

    Signals from GObject:
      notify (GParam)
    """

    def set_custom(self, custom_widget: Optional[Widget] = None) -> None: ...
    def set_icon(self, pixbuf: Optional[GdkPixbuf.Pixbuf] = None) -> None: ...
    def set_icon_from_gicon(self, gicon: Optional[Gio.Icon], size: int) -> None: ...
    def set_icon_from_icon_name(self, icon_name: Optional[str], size: int) -> None: ...
    def set_icon_from_stock(self, stock_id: Optional[str], size: int) -> None: ...
    def set_markup(self, markup: Optional[str] = None) -> None: ...
    def set_text(self, text: Optional[str] = None) -> None: ...
    def set_tip_area(self, rect: Gdk.Rectangle) -> None: ...
    @staticmethod
    def trigger_tooltip_query(display: Gdk.Display) -> None: ...

class ToplevelAccessible(Atk.Object):
    """
    :Constructors:

    ::

        ToplevelAccessible(**properties)

    Object GtkToplevelAccessible

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: Atk.Object = ...
    priv: ToplevelAccessiblePrivate = ...
    def __init__(
        self,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...
    def get_children(self) -> list[Window]: ...

class ToplevelAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ToplevelAccessibleClass()
    """

    parent_class: Atk.ObjectClass = ...

class ToplevelAccessiblePrivate(GObject.GPointer): ...

class TreeDragDest(GObject.GInterface):
    """
    Interface GtkTreeDragDest
    """

    def drag_data_received(
        self, dest: TreePath, selection_data: SelectionData
    ) -> bool: ...
    def row_drop_possible(
        self, dest_path: TreePath, selection_data: SelectionData
    ) -> bool: ...

class TreeDragDestIface(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeDragDestIface()
    """

    g_iface: GObject.TypeInterface = ...
    drag_data_received: Callable[[TreeDragDest, TreePath, SelectionData], bool] = ...
    row_drop_possible: Callable[[TreeDragDest, TreePath, SelectionData], bool] = ...

class TreeDragSource(GObject.GInterface):
    """
    Interface GtkTreeDragSource
    """

    def drag_data_delete(self, path: TreePath) -> bool: ...
    def drag_data_get(self, path: TreePath, selection_data: SelectionData) -> bool: ...
    def row_draggable(self, path: TreePath) -> bool: ...

class TreeDragSourceIface(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeDragSourceIface()
    """

    g_iface: GObject.TypeInterface = ...
    row_draggable: Callable[[TreeDragSource, TreePath], bool] = ...
    drag_data_get: Callable[[TreeDragSource, TreePath, SelectionData], bool] = ...
    drag_data_delete: Callable[[TreeDragSource, TreePath], bool] = ...

class TreeIter(GObject.GBoxed):
    """
    :Constructors:

    ::

        TreeIter()
    """

    stamp: int = ...
    user_data: None = ...
    user_data2: None = ...
    user_data3: None = ...
    def copy(self) -> TreeIter: ...
    def free(self) -> None: ...

# override
class TreeModel(GObject.GInterface):
    """
    Interface GtkTreeModel

    Signals from GObject:
      notify (GParam)
    """

    def filter_new(self, root: Optional[TreePath] = None) -> TreeModelFilter: ...
    def foreach(self, func: Callable[..., bool], *user_data: Any) -> None: ...
    def get(self, treeiter: TreeIter, *columns: list[str]) -> tuple[Any, ...]: ...
    def get_column_type(self, index_: int) -> Type: ...
    def get_flags(self) -> TreeModelFlags: ...
    def get_iter(self, path: Union[str, TreePath]) -> TreeIter: ...
    def get_iter_first(self) -> Optional[TreeIter]: ...
    def get_iter_from_string(self, path_string: str) -> TreeIter: ...
    def get_n_columns(self) -> int: ...
    def get_path(self, iter: TreeIter) -> TreePath: ...
    def get_string_from_iter(self, iter: TreeIter) -> str: ...
    def get_value(self, iter: TreeIter, column: int) -> Any: ...
    def iter_children(self, parent: Optional[TreeIter]) -> Optional[TreeIter]: ...
    def iter_has_child(self, iter: TreeIter) -> bool: ...
    def iter_n_children(self, iter: Optional[TreeIter] = None) -> int: ...
    def iter_next(self, iter: TreeIter) -> Optional[TreeIter]: ...
    def iter_nth_child(
        self, parent: Optional[TreeIter], n: int
    ) -> Optional[TreeIter]: ...
    def iter_parent(self, child: TreeIter) -> Optional[TreeIter]: ...
    def iter_previous(self, iter: TreeIter) -> Optional[TreeIter]: ...
    def ref_node(self, iter: TreeIter) -> None: ...
    def row_changed(self, path: TreePath, iter: TreeIter) -> None: ...
    def row_deleted(self, path: TreePath) -> None: ...
    def row_has_child_toggled(self, path: TreePath, iter: TreeIter) -> None: ...
    def row_inserted(self, path: TreePath, iter: TreeIter) -> None: ...
    def rows_reordered(
        self, path: TreePath, iter: Optional[TreeIter], new_order: list[int]
    ) -> None: ...
    def set_row(self, treeiter: TreeIter, row: list[Any]): ...
    def sort_new_with_model(self) -> TreeModelSort: ...
    def unref_node(self, iter: TreeIter) -> None: ...
    def __getitem__(
        self, item: Union[TreeIter, TreePath, str, int]
    ) -> TreeModelRow: ...
    def __delitem__(self, item: Union[TreeIter, TreePath, str, int]) -> None: ...
    def __iter__(self) -> TreeModelRowIter: ...
    def __len__(self) -> int: ...

class TreeModelFilter(GObject.Object, TreeDragSource, TreeModel):
    """
    :Constructors:

    ::

        TreeModelFilter(**properties)

    Object GtkTreeModelFilter

    Properties from GtkTreeModelFilter:
      child-model -> GtkTreeModel: The child model
        The model for the filtermodel to filter
      virtual-root -> GtkTreePath: The virtual root
        The virtual root (relative to the child model) for this filtermodel

    Signals from GtkTreeModel:
      row-changed (GtkTreePath, GtkTreeIter)
      row-inserted (GtkTreePath, GtkTreeIter)
      row-has-child-toggled (GtkTreePath, GtkTreeIter)
      row-deleted (GtkTreePath)
      rows-reordered (GtkTreePath, GtkTreeIter, gpointer)

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        child_model: TreeModel
        virtual_root: TreePath

    props: Props = ...
    parent: GObject.Object = ...
    priv: TreeModelFilterPrivate = ...
    def __init__(self, child_model: TreeModel = ..., virtual_root: TreePath = ...): ...
    def clear_cache(self) -> None: ...
    def convert_child_iter_to_iter(
        self, child_iter: TreeIter
    ) -> Tuple[bool, TreeIter]: ...
    def convert_child_path_to_path(
        self, child_path: TreePath
    ) -> Optional[TreePath]: ...
    def convert_iter_to_child_iter(self, filter_iter: TreeIter) -> TreeIter: ...
    def convert_path_to_child_path(
        self, filter_path: TreePath
    ) -> Optional[TreePath]: ...
    def do_modify(
        self, child_model: TreeModel, iter: TreeIter, value: Any, column: int
    ) -> None: ...
    def do_visible(self, child_model: TreeModel, iter: TreeIter) -> bool: ...
    def get_model(self) -> TreeModel: ...
    def refilter(self) -> None: ...
    def set_modify_func(
        self, types: Sequence[Type], func: Callable[..., Any], *data: Any
    ) -> None: ...
    def set_value(self, iter, column, value): ...  # FIXME Function
    def set_visible_column(self, column: int) -> None: ...
    # override
    def set_visible_func(
        self,
        func: Callable[[TreeModelFilter, TreeIter, Any], bool],
        data: Optional[Any] = ...,
    ) -> None: ...

class TreeModelFilterClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeModelFilterClass()
    """

    parent_class: GObject.ObjectClass = ...
    visible: Callable[[TreeModelFilter, TreeModel, TreeIter], bool] = ...
    modify: Callable[[TreeModelFilter, TreeModel, TreeIter, Any, int], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TreeModelFilterPrivate(GObject.GPointer): ...

class TreeModelIface(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeModelIface()
    """

    g_iface: GObject.TypeInterface = ...
    row_changed: Callable[[TreeModel, TreePath, TreeIter], None] = ...
    row_inserted: Callable[[TreeModel, TreePath, TreeIter], None] = ...
    row_has_child_toggled: Callable[[TreeModel, TreePath, TreeIter], None] = ...
    row_deleted: Callable[[TreeModel, TreePath], None] = ...
    rows_reordered: Callable[[TreeModel, TreePath, TreeIter, int], None] = ...
    get_flags: Callable[[TreeModel], TreeModelFlags] = ...
    get_n_columns: Callable[[TreeModel], int] = ...
    get_column_type: Callable[[TreeModel, int], Type] = ...
    get_iter: Callable[[TreeModel, TreePath], Tuple[bool, TreeIter]] = ...
    get_path: Callable[[TreeModel, TreeIter], TreePath] = ...
    get_value: Callable[[TreeModel, TreeIter, int], Any] = ...
    iter_next: Callable[[TreeModel, TreeIter], bool] = ...
    iter_previous: Callable[[TreeModel, TreeIter], bool] = ...
    iter_children: Callable[
        [TreeModel, Optional[TreeIter]], Tuple[bool, TreeIter]
    ] = ...
    iter_has_child: Callable[[TreeModel, TreeIter], bool] = ...
    iter_n_children: Callable[[TreeModel, Optional[TreeIter]], int] = ...
    iter_nth_child: Callable[
        [TreeModel, Optional[TreeIter], int], Tuple[bool, TreeIter]
    ] = ...
    iter_parent: Callable[[TreeModel, TreeIter], Tuple[bool, TreeIter]] = ...
    ref_node: Callable[[TreeModel, TreeIter], None] = ...
    unref_node: Callable[[TreeModel, TreeIter], None] = ...

# override
class TreeModelRow:
    iter: TreeIter
    model: TreeModel
    next = ...
    parent = ...
    path = ...
    previous = ...

    def get_next(self): ...
    def get_parent(self): ...
    def get_previous(self): ...
    def iterchildren(self) -> Iterator[TreeModelRow]: ...
    def __getitem__(self, key: int) -> Any: ...
    def __setitem__(self, key: int, value: Any) -> None: ...

# override
class TreeModelRowIter:
    def next(self) -> TreeModelRow: ...
    def __next__(self) -> TreeModelRow: ...

class TreeModelSort(GObject.Object, TreeDragSource, TreeModel, TreeSortable):
    """
    :Constructors:

    ::

        TreeModelSort(**properties)
        new_with_model(child_model:Gtk.TreeModel) -> Gtk.TreeModelSort

    Object GtkTreeModelSort

    Properties from GtkTreeModelSort:
      model -> GtkTreeModel: TreeModelSort Model
        The model for the TreeModelSort to sort

    Signals from GtkTreeModel:
      row-changed (GtkTreePath, GtkTreeIter)
      row-inserted (GtkTreePath, GtkTreeIter)
      row-has-child-toggled (GtkTreePath, GtkTreeIter)
      row-deleted (GtkTreePath)
      rows-reordered (GtkTreePath, GtkTreeIter, gpointer)

    Signals from GtkTreeSortable:
      sort-column-changed ()

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        model: TreeModel

    props: Props = ...
    parent: GObject.Object = ...
    priv: TreeModelSortPrivate = ...
    def __init__(self, model: TreeModel = ...): ...
    def clear_cache(self) -> None: ...
    def convert_child_iter_to_iter(
        self, child_iter: TreeIter
    ) -> Tuple[bool, TreeIter]: ...
    def convert_child_path_to_path(
        self, child_path: TreePath
    ) -> Optional[TreePath]: ...
    def convert_iter_to_child_iter(self, sorted_iter: TreeIter) -> TreeIter: ...
    def convert_path_to_child_path(
        self, sorted_path: TreePath
    ) -> Optional[TreePath]: ...
    def get_model(self) -> TreeModel: ...
    def iter_is_valid(self, iter: TreeIter) -> bool: ...
    @classmethod
    def new_with_model(cls, child_model: TreeModel) -> TreeModelSort: ...
    def reset_default_sort_func(self) -> None: ...

class TreeModelSortClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeModelSortClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TreeModelSortPrivate(GObject.GPointer): ...

class TreePath(GObject.GBoxed):
    """
    :Constructors:

    ::

        new() -> Gtk.TreePath
        new_first() -> Gtk.TreePath
        new_from_indices(indices:list) -> Gtk.TreePath
        new_from_string(path:str) -> Gtk.TreePath
    """

    def append_index(self, index_: int) -> None: ...
    def compare(self, b: TreePath) -> int: ...
    def copy(self) -> TreePath: ...
    def down(self) -> None: ...
    def free(self) -> None: ...
    def get_depth(self) -> int: ...
    def get_indices(self) -> list[int]: ...
    def is_ancestor(self, descendant: TreePath) -> bool: ...
    def is_descendant(self, ancestor: TreePath) -> bool: ...
    @classmethod
    def new(cls) -> TreePath: ...
    @classmethod
    def new_first(cls) -> TreePath: ...
    @classmethod
    def new_from_indices(cls, indices: Sequence[int]) -> TreePath: ...
    @classmethod
    def new_from_string(cls, path: str) -> TreePath: ...
    def next(self) -> None: ...
    def prepend_index(self, index_: int) -> None: ...
    def prev(self) -> bool: ...
    def to_string(self) -> str: ...
    def up(self) -> bool: ...

class TreeRowReference(GObject.GBoxed):
    """
    :Constructors:

    ::

        new(model:Gtk.TreeModel, path:Gtk.TreePath) -> Gtk.TreeRowReference
        new_proxy(proxy:GObject.Object, model:Gtk.TreeModel, path:Gtk.TreePath) -> Gtk.TreeRowReference
    """

    # override
    def __init__(self, model: TreeModel, path: TreePath) -> None: ...
    def copy(self) -> TreeRowReference: ...
    @staticmethod
    def deleted(proxy: GObject.Object, path: TreePath) -> None: ...
    def free(self) -> None: ...
    def get_model(self) -> TreeModel: ...
    def get_path(self) -> Optional[TreePath]: ...
    @staticmethod
    def inserted(proxy: GObject.Object, path: TreePath) -> None: ...
    @classmethod
    def new(cls, model: TreeModel, path: TreePath) -> TreeRowReference: ...
    @classmethod
    def new_proxy(
        cls, proxy: GObject.Object, model: TreeModel, path: TreePath
    ) -> TreeRowReference: ...
    def valid(self) -> bool: ...

class TreeSelection(GObject.Object):
    """
    :Constructors:

    ::

        TreeSelection(**properties)

    Object GtkTreeSelection

    Signals from GtkTreeSelection:
      changed ()

    Properties from GtkTreeSelection:
      mode -> GtkSelectionMode: Mode
        Selection mode

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        mode: SelectionMode

    props: Props = ...
    parent: GObject.Object = ...
    priv: TreeSelectionPrivate = ...
    def __init__(self, mode: SelectionMode = ...): ...
    def count_selected_rows(self) -> int: ...
    def do_changed(self) -> None: ...
    def get_mode(self) -> SelectionMode: ...
    # override
    def get_selected(self) -> tuple[TreeModel, Optional[TreeIter]]: ...
    # override
    def get_selected_rows(self) -> tuple[TreeModel, list[TreePath]]: ...
    def get_tree_view(self) -> TreeView: ...
    def iter_is_selected(self, iter: TreeIter) -> bool: ...
    def path_is_selected(self, path: TreePath) -> bool: ...
    def select_all(self) -> None: ...
    def select_iter(self, iter: TreeIter) -> None: ...
    # override
    def select_path(self, path: TreePath) -> None: ...
    def select_range(self, start_path: TreePath, end_path: TreePath) -> None: ...
    def selected_foreach(self, func: Callable[..., None], *data: Any) -> None: ...
    def set_mode(self, type: SelectionMode) -> None: ...
    def set_select_function(
        self, func: Optional[Callable[..., bool]] = None, *data: Any
    ) -> None: ...
    def unselect_all(self) -> None: ...
    def unselect_iter(self, iter: TreeIter) -> None: ...
    def unselect_path(self, path: TreePath) -> None: ...
    def unselect_range(self, start_path: TreePath, end_path: TreePath) -> None: ...

class TreeSelectionClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeSelectionClass()
    """

    parent_class: GObject.ObjectClass = ...
    changed: Callable[[TreeSelection], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TreeSelectionPrivate(GObject.GPointer): ...

class TreeSortable(GObject.GInterface):
    """
    Interface GtkTreeSortable

    Signals from GObject:
      notify (GParam)
    """

    def get_sort_column_id(
        self,
    ) -> Tuple[int, SortType] | Tuple[None, None]: ...  # CHECK Wrapped function
    def has_default_sort_func(self) -> bool: ...
    def set_default_sort_func(self, sort_func, user_data=None): ...  # FIXME Function
    def set_sort_column_id(self, sort_column_id: int, order: SortType) -> None: ...
    # override
    def set_sort_func(
        self,
        sort_column_id: int,
        sort_func: Callable[[TreeModel, TreeIter, TreeIter, Any], Any],
        user_data: Optional[Any] = None,
    ) -> None: ...
    def sort_column_changed(self) -> None: ...

class TreeSortableIface(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeSortableIface()
    """

    g_iface: GObject.TypeInterface = ...
    sort_column_changed: Callable[[TreeSortable], None] = ...
    get_sort_column_id: Callable[[TreeSortable], Tuple[bool, int, SortType]] = ...
    set_sort_column_id: Callable[[TreeSortable, int, SortType], None] = ...
    set_sort_func: Callable[..., None] = ...
    set_default_sort_func: Callable[..., None] = ...
    has_default_sort_func: Callable[[TreeSortable], bool] = ...

class TreeStore(
    GObject.Object, Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable
):
    """
    :Constructors:

    ::

        TreeStore(**properties)
        new(types:list) -> Gtk.TreeStore

    Object GtkTreeStore

    Signals from GtkTreeModel:
      row-changed (GtkTreePath, GtkTreeIter)
      row-inserted (GtkTreePath, GtkTreeIter)
      row-has-child-toggled (GtkTreePath, GtkTreeIter)
      row-deleted (GtkTreePath)
      rows-reordered (GtkTreePath, GtkTreeIter, gpointer)

    Signals from GtkTreeSortable:
      sort-column-changed ()

    Signals from GObject:
      notify (GParam)
    """

    parent: GObject.Object = ...
    priv: TreeStorePrivate = ...
    # override
    def __init__(self, *column_types: Any) -> None: ...
    # override
    def append(
        self, parent: Optional[TreeIter], row: Optional[list[Any]] = None
    ) -> TreeIter: ...
    def clear(self) -> None: ...
    def insert(self, parent, position, row=None): ...  # FIXME Function
    def insert_after(self, parent, sibling, row=None): ...  # FIXME Function
    def insert_before(self, parent, sibling, row=None): ...  # FIXME Function
    def insert_with_values(
        self,
        parent: Optional[TreeIter],
        position: int,
        columns: Sequence[int],
        values: Sequence[Any],
    ) -> TreeIter: ...
    def is_ancestor(self, iter: TreeIter, descendant: TreeIter) -> bool: ...
    def iter_depth(self, iter: TreeIter) -> int: ...
    def iter_is_valid(self, iter: TreeIter) -> bool: ...
    def move_after(
        self, iter: TreeIter, position: Optional[TreeIter] = None
    ) -> None: ...
    def move_before(
        self, iter: TreeIter, position: Optional[TreeIter] = None
    ) -> None: ...
    @classmethod
    def new(cls, types: Sequence[Type]) -> TreeStore: ...
    def prepend(self, parent, row=None): ...  # FIXME Function
    def remove(self, iter: TreeIter) -> bool: ...
    def set(self, treeiter, *args): ...  # FIXME Function
    def set_column_types(self, types: Sequence[Type]) -> None: ...
    def set_value(self, treeiter, column, value): ...  # FIXME Function
    def swap(self, a: TreeIter, b: TreeIter) -> None: ...

class TreeStoreClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeStoreClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TreeStorePrivate(GObject.GPointer): ...

# override
class TreeView(Container, Atk.ImplementorIface, Buildable, Scrollable):
    """
    :Constructors:

    ::

        TreeView(**properties)
        new() -> Gtk.Widget
        new_with_model(model:Gtk.TreeModel) -> Gtk.Widget

    Object GtkTreeView

    Signals from GtkTreeView:
      move-cursor (GtkMovementStep, gint) -> gboolean
      select-all () -> gboolean
      unselect-all () -> gboolean
      row-activated (GtkTreePath, GtkTreeViewColumn)
      toggle-cursor-row () -> gboolean
      test-expand-row (GtkTreeIter, GtkTreePath) -> gboolean
      test-collapse-row (GtkTreeIter, GtkTreePath) -> gboolean
      row-expanded (GtkTreeIter, GtkTreePath)
      row-collapsed (GtkTreeIter, GtkTreePath)
      columns-changed ()
      cursor-changed ()
      select-cursor-row (gboolean) -> gboolean
      expand-collapse-cursor-row (gboolean, gboolean, gboolean) -> gboolean
      select-cursor-parent () -> gboolean
      start-interactive-search () -> gboolean

    Properties from GtkTreeView:
      model -> GtkTreeModel: TreeView Model
        The model for the tree view
      headers-visible -> gboolean: Headers Visible
        Show the column header buttons
      headers-clickable -> gboolean: Headers Clickable
        Column headers respond to click events
      expander-column -> GtkTreeViewColumn: Expander Column
        Set the column for the expander column
      reorderable -> gboolean: Reorderable
        View is reorderable
      rules-hint -> gboolean: Rules Hint
        Set a hint to the theme engine to draw rows in alternating colors
      enable-search -> gboolean: Enable Search
        View allows user to search through columns interactively
      search-column -> gint: Search Column
        Model column to search through during interactive search
      fixed-height-mode -> gboolean: Fixed Height Mode
        Speeds up GtkTreeView by assuming that all rows have the same height
      hover-selection -> gboolean: Hover Selection
        Whether the selection should follow the pointer
      hover-expand -> gboolean: Hover Expand
        Whether rows should be expanded/collapsed when the pointer moves over them
      show-expanders -> gboolean: Show Expanders
        View has expanders
      level-indentation -> gint: Level Indentation
        Extra indentation for each level
      rubber-banding -> gboolean: Rubber Banding
        Whether to enable selection of multiple items by dragging the mouse pointer
      enable-grid-lines -> GtkTreeViewGridLines: Enable Grid Lines
        Whether grid lines should be drawn in the tree view
      enable-tree-lines -> gboolean: Enable Tree Lines
        Whether tree lines should be drawn in the tree view
      tooltip-column -> gint: Tooltip Column
        The column in the model containing the tooltip texts for the rows
      activate-on-single-click -> gboolean: Activate on Single Click
        Activate row on a single click

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        activate_on_single_click: bool
        enable_grid_lines: TreeViewGridLines
        enable_search: bool
        enable_tree_lines: bool
        expander_column: TreeViewColumn
        fixed_height_mode: bool
        headers_clickable: bool
        headers_visible: bool
        hover_expand: bool
        hover_selection: bool
        level_indentation: int
        model: Optional[TreeModel]
        reorderable: bool
        rubber_banding: bool
        rules_hint: bool
        search_column: int
        show_expanders: bool
        tooltip_column: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        hadjustment: Adjustment
        hscroll_policy: ScrollablePolicy
        vadjustment: Adjustment
        vscroll_policy: ScrollablePolicy
        child: Widget

    props: Props = ...
    parent: Container = ...
    priv: TreeViewPrivate = ...

    def __init__(
        self,
        activate_on_single_click: bool = ...,
        enable_grid_lines: TreeViewGridLines = ...,
        enable_search: bool = ...,
        enable_tree_lines: bool = ...,
        expander_column: Optional[TreeViewColumn] = ...,
        fixed_height_mode: bool = ...,
        headers_clickable: bool = ...,
        headers_visible: bool = ...,
        hover_expand: bool = ...,
        hover_selection: bool = ...,
        level_indentation: int = ...,
        model: Optional[TreeModel] = ...,
        reorderable: bool = ...,
        rubber_banding: bool = ...,
        rules_hint: bool = ...,
        search_column: int = ...,
        show_expanders: bool = ...,
        tooltip_column: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscroll_policy: ScrollablePolicy = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscroll_policy: ScrollablePolicy = ...,
    ): ...
    def append_column(self, column: TreeViewColumn) -> int: ...
    def collapse_all(self) -> None: ...
    def collapse_row(self, path: TreePath) -> bool: ...
    def columns_autosize(self) -> None: ...
    def convert_bin_window_to_tree_coords(
        self, bx: int, by: int
    ) -> Tuple[int, int]: ...
    def convert_bin_window_to_widget_coords(
        self, bx: int, by: int
    ) -> Tuple[int, int]: ...
    def convert_tree_to_bin_window_coords(
        self, tx: int, ty: int
    ) -> Tuple[int, int]: ...
    def convert_tree_to_widget_coords(self, tx: int, ty: int) -> Tuple[int, int]: ...
    def convert_widget_to_bin_window_coords(
        self, wx: int, wy: int
    ) -> Tuple[int, int]: ...
    def convert_widget_to_tree_coords(self, wx: int, wy: int) -> Tuple[int, int]: ...
    def create_row_drag_icon(self, path: TreePath) -> cairo.Surface: ...
    def do_columns_changed(self) -> None: ...
    def do_cursor_changed(self) -> None: ...
    def do_expand_collapse_cursor_row(
        self, logical: bool, expand: bool, open_all: bool
    ) -> bool: ...
    def do_move_cursor(self, step: MovementStep, count: int) -> bool: ...
    def do_row_activated(self, path: TreePath, column: TreeViewColumn) -> None: ...
    def do_row_collapsed(self, iter: TreeIter, path: TreePath) -> None: ...
    def do_row_expanded(self, iter: TreeIter, path: TreePath) -> None: ...
    def do_select_all(self) -> bool: ...
    def do_select_cursor_parent(self) -> bool: ...
    def do_select_cursor_row(self, start_editing: bool) -> bool: ...
    def do_start_interactive_search(self) -> bool: ...
    def do_test_collapse_row(self, iter: TreeIter, path: TreePath) -> bool: ...
    def do_test_expand_row(self, iter: TreeIter, path: TreePath) -> bool: ...
    def do_toggle_cursor_row(self) -> bool: ...
    def do_unselect_all(self) -> bool: ...
    def enable_model_drag_dest(
        self, targets: list[TargetEntry], actions: Gdk.DragAction
    ) -> None: ...
    def enable_model_drag_source(
        self,
        start_button_mask: Gdk.ModifierType,
        targets: list[TargetEntry],
        actions: Gdk.DragAction,
    ) -> None: ...
    def expand_all(self) -> None: ...
    def expand_row(self, path: TreePath, open_all: bool) -> bool: ...
    def expand_to_path(self, path: TreePath) -> None: ...
    def get_activate_on_single_click(self) -> bool: ...
    def get_background_area(
        self, path: Optional[TreePath] = None, column: Optional[TreeViewColumn] = None
    ) -> Gdk.Rectangle: ...
    def get_bin_window(self) -> Optional[Gdk.Window]: ...
    def get_cell_area(
        self, path: Optional[TreePath], column: Optional[TreeViewColumn]
    ) -> Gdk.Rectangle: ...
    def get_column(self, n: int) -> Optional[TreeViewColumn]: ...
    def get_columns(self) -> list[TreeViewColumn]: ...
    def get_cursor(self) -> Tuple[TreePath, TreeViewColumn]: ...
    def get_dest_row_at_pos(
        self, drag_x: int, drag_y: int
    ) -> Optional[tuple[TreePath, TreeViewDropPosition]]: ...
    def get_drag_dest_row(self) -> Tuple[TreePath, TreeViewDropPosition]: ...
    def get_enable_search(self) -> bool: ...
    def get_enable_tree_lines(self) -> bool: ...
    def get_expander_column(self) -> TreeViewColumn: ...
    def get_fixed_height_mode(self) -> bool: ...
    def get_grid_lines(self) -> TreeViewGridLines: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_headers_clickable(self) -> bool: ...
    def get_headers_visible(self) -> bool: ...
    def get_hover_expand(self) -> bool: ...
    def get_hover_selection(self) -> bool: ...
    def get_level_indentation(self) -> int: ...
    def get_model(self) -> Optional[TreeModel]: ...
    def get_n_columns(self) -> int: ...
    def get_path_at_pos(
        self, x: int, y: int
    ) -> Optional[tuple[Optional[TreePath], Optional[TreeViewColumn], int, int]]: ...
    def get_reorderable(self) -> bool: ...
    def get_rubber_banding(self) -> bool: ...
    def get_rules_hint(self) -> bool: ...
    def get_search_column(self) -> int: ...
    def get_search_entry(self) -> Entry: ...
    def get_selection(self) -> TreeSelection: ...
    def get_show_expanders(self) -> bool: ...
    def get_tooltip_column(self) -> int: ...
    def get_tooltip_context(
        self, x: int, y: int, keyboard_tip: bool
    ) -> tuple[bool, int, int, Optional[TreeModel], TreePath, TreeIter]: ...
    def get_vadjustment(self) -> Adjustment: ...
    def get_visible_range(self, *args, **kwargs): ...
    def get_visible_rect(self) -> Gdk.Rectangle: ...
    def insert_column(self, column: TreeViewColumn, position: int) -> int: ...
    def insert_column_with_attributes(
        self, position: int, title: str, cell: CellRenderer, **kwargs: Any
    ) -> None: ...
    def insert_column_with_data_func(
        self,
        position: int,
        title: str,
        cell: CellRenderer,
        func: Callable[..., None],
        *data: Any,
    ) -> int: ...
    def is_blank_at_pos(
        self, x: int, y: int
    ) -> Tuple[bool, TreePath, TreeViewColumn, int, int]: ...
    def is_rubber_banding_active(self) -> bool: ...
    def map_expanded_rows(self, func: Callable[..., None], *data: Any) -> None: ...
    def move_column_after(
        self, column: TreeViewColumn, base_column: Optional[TreeViewColumn] = None
    ) -> None: ...
    @classmethod
    def new(cls) -> TreeView: ...
    @classmethod
    def new_with_model(cls, model: TreeModel) -> TreeView: ...
    def remove_column(self, column: TreeViewColumn) -> int: ...
    def row_activated(self, path: TreePath, column: TreeViewColumn) -> None: ...
    def row_expanded(self, path: TreePath) -> bool: ...
    def scroll_to_cell(
        self,
        path: Optional[TreePath],
        column: Optional[TreeViewColumn],
        use_align: bool,
        row_align: float,
        col_align: float,
    ) -> None: ...
    def scroll_to_point(self, tree_x: int, tree_y: int) -> None: ...
    def set_activate_on_single_click(self, single: bool) -> None: ...
    def set_column_drag_function(
        self, func: Optional[Callable[..., bool]] = None, *user_data: Any
    ) -> None: ...
    def set_cursor(
        self,
        path: TreePath,
        focus_column: Optional[TreeViewColumn] = None,
        start_editing: bool = True,
    ) -> None: ...
    def set_cursor_on_cell(
        self,
        path: TreePath,
        focus_column: Optional[TreeViewColumn],
        focus_cell: Optional[CellRenderer],
        start_editing: bool,
    ) -> None: ...
    def set_destroy_count_func(
        self, func: Optional[Callable[..., None]] = None, *data: Any
    ) -> None: ...
    def set_drag_dest_row(
        self, path: Optional[TreePath], pos: TreeViewDropPosition
    ) -> None: ...
    def set_enable_search(self, enable_search: bool) -> None: ...
    def set_enable_tree_lines(self, enabled: bool) -> None: ...
    def set_expander_column(self, column: Optional[TreeViewColumn] = None) -> None: ...
    def set_fixed_height_mode(self, enable: bool) -> None: ...
    def set_grid_lines(self, grid_lines: TreeViewGridLines) -> None: ...
    def set_hadjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...
    def set_headers_clickable(self, setting: bool) -> None: ...
    def set_headers_visible(self, headers_visible: bool) -> None: ...
    def set_hover_expand(self, expand: bool) -> None: ...
    def set_hover_selection(self, hover: bool) -> None: ...
    def set_level_indentation(self, indentation: int) -> None: ...
    def set_model(self, model: Optional[TreeModel] = None) -> None: ...
    def set_reorderable(self, reorderable: bool) -> None: ...
    def set_row_separator_func(
        self, func: Optional[Callable[..., bool]] = None, *data: Any
    ) -> None: ...
    def set_rubber_banding(self, enable: bool) -> None: ...
    def set_rules_hint(self, setting: bool) -> None: ...
    def set_search_column(self, column: int) -> None: ...
    def set_search_entry(self, entry: Optional[Entry] = None) -> None: ...
    def set_search_equal_func(
        self, search_equal_func: Callable[..., bool], *search_user_data: Any
    ) -> None: ...
    def set_search_position_func(
        self, func: Optional[Callable[..., None]] = None, *data: Any
    ) -> None: ...
    def set_show_expanders(self, enabled: bool) -> None: ...
    def set_tooltip_cell(
        self,
        tooltip: Tooltip,
        path: Optional[TreePath] = None,
        column: Optional[TreeViewColumn] = None,
        cell: Optional[CellRenderer] = None,
    ) -> None: ...
    def set_tooltip_column(self, column: int) -> None: ...
    def set_tooltip_row(self, tooltip: Tooltip, path: TreePath) -> None: ...
    def set_vadjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...
    def unset_rows_drag_dest(self) -> None: ...
    def unset_rows_drag_source(self) -> None: ...

class TreeViewAccessible(
    ContainerAccessible, Atk.Component, Atk.Selection, Atk.Table, CellAccessibleParent
):
    """
    :Constructors:

    ::

        TreeViewAccessible(**properties)

    Object GtkTreeViewAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkTable:
      row-inserted (gint, gint)
      row-deleted (gint, gint)
      column-inserted (gint, gint)
      column-deleted (gint, gint)
      row-reordered ()
      column-reordered ()
      model-changed ()

    Signals from AtkSelection:
      selection-changed ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: TreeViewAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class TreeViewAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeViewAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class TreeViewAccessiblePrivate(GObject.GPointer): ...

class TreeViewClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeViewClass()
    """

    parent_class: ContainerClass = ...
    row_activated: Callable[[TreeView, TreePath, TreeViewColumn], None] = ...
    test_expand_row: Callable[[TreeView, TreeIter, TreePath], bool] = ...
    test_collapse_row: Callable[[TreeView, TreeIter, TreePath], bool] = ...
    row_expanded: Callable[[TreeView, TreeIter, TreePath], None] = ...
    row_collapsed: Callable[[TreeView, TreeIter, TreePath], None] = ...
    columns_changed: Callable[[TreeView], None] = ...
    cursor_changed: Callable[[TreeView], None] = ...
    move_cursor: Callable[[TreeView, MovementStep, int], bool] = ...
    select_all: Callable[[TreeView], bool] = ...
    unselect_all: Callable[[TreeView], bool] = ...
    select_cursor_row: Callable[[TreeView, bool], bool] = ...
    toggle_cursor_row: Callable[[TreeView], bool] = ...
    expand_collapse_cursor_row: Callable[[TreeView, bool, bool, bool], bool] = ...
    select_cursor_parent: Callable[[TreeView], bool] = ...
    start_interactive_search: Callable[[TreeView], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...
    _gtk_reserved5: None = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    _gtk_reserved8: None = ...

class TreeViewColumn(GObject.InitiallyUnowned, Buildable, CellLayout):
    """
    :Constructors:

    ::

        TreeViewColumn(**properties)
        new() -> Gtk.TreeViewColumn
        new_with_area(area:Gtk.CellArea) -> Gtk.TreeViewColumn

    Object GtkTreeViewColumn

    Signals from GtkTreeViewColumn:
      clicked ()

    Properties from GtkTreeViewColumn:
      visible -> gboolean: Visible
        Whether to display the column
      resizable -> gboolean: Resizable
        Column is user-resizable
      x-offset -> gint: X position
        Current X position of the column
      width -> gint: Width
        Current width of the column
      spacing -> gint: Spacing
        Space which is inserted between cells
      sizing -> GtkTreeViewColumnSizing: Sizing
        Resize mode of the column
      fixed-width -> gint: Fixed Width
        Current fixed width of the column
      min-width -> gint: Minimum Width
        Minimum allowed width of the column
      max-width -> gint: Maximum Width
        Maximum allowed width of the column
      title -> gchararray: Title
        Title to appear in column header
      expand -> gboolean: Expand
        Column gets share of extra width allocated to the widget
      clickable -> gboolean: Clickable
        Whether the header can be clicked
      widget -> GtkWidget: Widget
        Widget to put in column header button instead of column title
      alignment -> gfloat: Alignment
        X Alignment of the column header text or widget
      reorderable -> gboolean: Reorderable
        Whether the column can be reordered around the headers
      sort-indicator -> gboolean: Sort indicator
        Whether to show a sort indicator
      sort-order -> GtkSortType: Sort order
        Sort direction the sort indicator should indicate
      sort-column-id -> gint: Sort column ID
        Logical sort column ID this column sorts on when selected for sorting
      cell-area -> GtkCellArea: Cell Area
        The GtkCellArea used to layout cells

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        alignment: float
        cell_area: CellArea
        clickable: bool
        expand: bool
        fixed_width: int
        max_width: int
        min_width: int
        reorderable: bool
        resizable: bool
        sizing: TreeViewColumnSizing
        sort_column_id: int
        sort_indicator: bool
        sort_order: SortType
        spacing: int
        title: str
        visible: bool
        widget: Optional[Widget]
        width: int
        x_offset: int

    props: Props = ...
    parent_instance: GObject.InitiallyUnowned = ...
    priv: TreeViewColumnPrivate = ...
    # override
    def __init__(
        self,
        title: str = ...,
        cell_renderer: Optional[CellRenderer] = None,
        **attributes: Any,
    ): ...
    def add_attribute(
        self, cell_renderer: CellRenderer, attribute: str, column: int
    ) -> None: ...
    def cell_get_position(
        self, cell_renderer: CellRenderer
    ) -> Optional[Tuple[int, int]]: ...  # CHECK Wrapped function
    def cell_get_size(
        self, cell_area: Optional[Gdk.Rectangle] = None
    ) -> Tuple[int, int, int, int]: ...
    def cell_is_visible(self) -> bool: ...
    def cell_set_cell_data(
        self,
        tree_model: TreeModel,
        iter: TreeIter,
        is_expander: bool,
        is_expanded: bool,
    ) -> None: ...
    def clear(self) -> None: ...
    def clear_attributes(self, cell_renderer: CellRenderer) -> None: ...
    def clicked(self) -> None: ...
    def do_clicked(self) -> None: ...
    def focus_cell(self, cell: CellRenderer) -> None: ...
    def get_alignment(self) -> float: ...
    def get_button(self) -> Widget: ...
    def get_clickable(self) -> bool: ...
    def get_expand(self) -> bool: ...
    def get_fixed_width(self) -> int: ...
    def get_max_width(self) -> int: ...
    def get_min_width(self) -> int: ...
    def get_reorderable(self) -> bool: ...
    def get_resizable(self) -> bool: ...
    def get_sizing(self) -> TreeViewColumnSizing: ...
    def get_sort_column_id(self) -> int: ...
    def get_sort_indicator(self) -> bool: ...
    def get_sort_order(self) -> SortType: ...
    def get_spacing(self) -> int: ...
    def get_title(self) -> str: ...
    def get_tree_view(self) -> Optional[Widget]: ...
    def get_visible(self) -> bool: ...
    def get_widget(self) -> Optional[Widget]: ...
    def get_width(self) -> int: ...
    def get_x_offset(self) -> int: ...
    @classmethod
    def new(cls) -> TreeViewColumn: ...
    @classmethod
    def new_with_area(cls, area: CellArea) -> TreeViewColumn: ...
    def pack_end(self, cell: CellRenderer, expand: bool) -> None: ...
    def pack_start(self, cell: CellRenderer, expand: bool) -> None: ...
    def queue_resize(self) -> None: ...
    def set_alignment(self, xalign: float) -> None: ...
    def set_attributes(self, cell_renderer, **attributes): ...  # FIXME Function
    # override
    def set_cell_data_func(
        self,
        cell_renderer: CellRendererT,
        func: Callable[[TreeViewColumn, CellRendererT, TreeModel, TreeIter, Any], Any],
        func_data: Optional[object] = None,
    ) -> None: ...
    def set_clickable(self, clickable: bool) -> None: ...
    def set_expand(self, expand: bool) -> None: ...
    def set_fixed_width(self, fixed_width: int) -> None: ...
    def set_max_width(self, max_width: int) -> None: ...
    def set_min_width(self, min_width: int) -> None: ...
    def set_reorderable(self, reorderable: bool) -> None: ...
    def set_resizable(self, resizable: bool) -> None: ...
    def set_sizing(self, type: TreeViewColumnSizing) -> None: ...
    def set_sort_column_id(self, sort_column_id: int) -> None: ...
    def set_sort_indicator(self, setting: bool) -> None: ...
    def set_sort_order(self, order: SortType) -> None: ...
    def set_spacing(self, spacing: int) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_visible(self, visible: bool) -> None: ...
    def set_widget(self, widget: Optional[Widget] = None) -> None: ...

class TreeViewColumnClass(GObject.GPointer):
    """
    :Constructors:

    ::

        TreeViewColumnClass()
    """

    parent_class: GObject.InitiallyUnownedClass = ...
    clicked: Callable[[TreeViewColumn], None] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class TreeViewColumnPrivate(GObject.GPointer): ...
class TreeViewPrivate(GObject.GPointer): ...

class UIManager(GObject.Object, Buildable):
    """
    :Constructors:

    ::

        UIManager(**properties)
        new() -> Gtk.UIManager

    Object GtkUIManager

    Signals from GtkUIManager:
      connect-proxy (GtkAction, GtkWidget)
      disconnect-proxy (GtkAction, GtkWidget)
      pre-activate (GtkAction)
      post-activate (GtkAction)
      add-widget (GtkWidget)
      actions-changed ()

    Properties from GtkUIManager:
      add-tearoffs -> gboolean: Add tearoffs to menus
        Whether tearoff menu items should be added to menus
      ui -> gchararray: Merged UI definition
        An XML string describing the merged UI

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        add_tearoffs: bool
        ui: str

    props: Props = ...
    parent: GObject.Object = ...
    private_data: UIManagerPrivate = ...
    def __init__(self, add_tearoffs: bool = ...): ...
    def add_ui(
        self,
        merge_id: int,
        path: str,
        name: str,
        action: Optional[str],
        type: UIManagerItemType,
        top: bool,
    ) -> None: ...
    def add_ui_from_file(self, filename: str) -> int: ...
    def add_ui_from_resource(self, resource_path: str) -> int: ...
    def add_ui_from_string(self, buffer): ...  # FIXME Function
    def do_actions_changed(self) -> None: ...
    def do_add_widget(self, widget: Widget) -> None: ...
    def do_connect_proxy(self, action: Action, proxy: Widget) -> None: ...
    def do_disconnect_proxy(self, action: Action, proxy: Widget) -> None: ...
    def do_get_action(self, path: str) -> Action: ...
    def do_get_widget(self, path: str) -> Widget: ...
    def do_post_activate(self, action: Action) -> None: ...
    def do_pre_activate(self, action: Action) -> None: ...
    def ensure_update(self) -> None: ...
    def get_accel_group(self) -> AccelGroup: ...
    def get_action(self, path: str) -> Action: ...
    def get_action_groups(self) -> list[ActionGroup]: ...
    def get_add_tearoffs(self) -> bool: ...
    def get_toplevels(self, types: UIManagerItemType) -> list[Widget]: ...
    def get_ui(self) -> str: ...
    def get_widget(self, path: str) -> Widget: ...
    def insert_action_group(self, buffer, length=-1): ...  # FIXME Function
    @classmethod
    def new(cls) -> UIManager: ...
    def new_merge_id(self) -> int: ...
    def remove_action_group(self, action_group: ActionGroup) -> None: ...
    def remove_ui(self, merge_id: int) -> None: ...
    def set_add_tearoffs(self, add_tearoffs: bool) -> None: ...

class UIManagerClass(GObject.GPointer):
    """
    :Constructors:

    ::

        UIManagerClass()
    """

    parent_class: GObject.ObjectClass = ...
    add_widget: Callable[[UIManager, Widget], None] = ...
    actions_changed: Callable[[UIManager], None] = ...
    connect_proxy: Callable[[UIManager, Action, Widget], None] = ...
    disconnect_proxy: Callable[[UIManager, Action, Widget], None] = ...
    pre_activate: Callable[[UIManager, Action], None] = ...
    post_activate: Callable[[UIManager, Action], None] = ...
    get_widget: Callable[[UIManager, str], Widget] = ...
    get_action: Callable[[UIManager, str], Action] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class UIManagerPrivate(GObject.GPointer): ...

class VBox(Box, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        VBox(**properties)
        new(homogeneous:bool, spacing:int) -> Gtk.Widget

    Object GtkVBox

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    box: Box = ...
    def __init__(
        self,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, homogeneous: bool, spacing: int) -> VBox: ...

class VBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VBoxClass()
    """

    parent_class: BoxClass = ...

class VButtonBox(ButtonBox, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        VButtonBox(**properties)
        new() -> Gtk.Widget

    Object GtkVButtonBox

    Properties from GtkButtonBox:
      layout-style -> GtkButtonBoxStyle: Layout style
        How to lay out the buttons in the box. Possible values are: spread, edge, start and end

    Properties from GtkBox:
      spacing -> gint: Spacing
        The amount of space between children
      homogeneous -> gboolean: Homogeneous
        Whether the children should all be the same size
      baseline-position -> GtkBaselinePosition: Baseline position
        The position of the baseline aligned widgets if extra space is available

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        layout_style: ButtonBoxStyle
        baseline_position: BaselinePosition
        homogeneous: bool
        spacing: int
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    button_box: ButtonBox = ...
    def __init__(
        self,
        layout_style: ButtonBoxStyle = ...,
        baseline_position: BaselinePosition = ...,
        homogeneous: bool = ...,
        spacing: int = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> VButtonBox: ...

class VButtonBoxClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VButtonBoxClass()
    """

    parent_class: ButtonBoxClass = ...

class VPaned(Paned, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        VPaned(**properties)
        new() -> Gtk.Widget

    Object GtkVPaned

    Signals from GtkPaned:
      cycle-child-focus (gboolean) -> gboolean
      toggle-handle-focus () -> gboolean
      move-handle (GtkScrollType) -> gboolean
      cycle-handle-focus (gboolean) -> gboolean
      accept-position () -> gboolean
      cancel-position () -> gboolean

    Properties from GtkPaned:
      position -> gint: Position
        Position of paned separator in pixels (0 means all the way to the left/top)
      position-set -> gboolean: Position Set
        TRUE if the Position property should be used
      min-position -> gint: Minimal Position
        Smallest possible value for the "position" property
      max-position -> gint: Maximal Position
        Largest possible value for the "position" property
      wide-handle -> gboolean: Wide Handle
        Whether the paned should have a prominent handle

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        max_position: int
        min_position: int
        position: int
        position_set: bool
        wide_handle: bool
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation
        child: Widget

    props: Props = ...
    paned: Paned = ...
    def __init__(
        self,
        position: int = ...,
        position_set: bool = ...,
        wide_handle: bool = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> VPaned: ...

class VPanedClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VPanedClass()
    """

    parent_class: PanedClass = ...

class VScale(Scale, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        VScale(**properties)
        new(adjustment:Gtk.Adjustment) -> Gtk.Widget
        new_with_range(min:float, max:float, step:float) -> Gtk.Widget

    Object GtkVScale

    Signals from GtkScale:
      format-value (gdouble) -> gchararray

    Properties from GtkScale:
      digits -> gint: Digits
        The number of decimal places that are displayed in the value
      draw-value -> gboolean: Draw Value
        Whether the current value is displayed as a string next to the slider
      has-origin -> gboolean: Has Origin
        Whether the scale has an origin
      value-pos -> GtkPositionType: Value Position
        The position in which the current value is displayed

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        digits: int
        draw_value: bool
        has_origin: bool
        value_pos: PositionType
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    scale: Scale = ...
    def __init__(
        self,
        digits: int = ...,
        draw_value: bool = ...,
        has_origin: bool = ...,
        value_pos: PositionType = ...,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, adjustment: Adjustment) -> VScale: ...
    @classmethod
    def new_with_range(cls, min: float, max: float, step: float) -> VScale: ...

class VScaleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VScaleClass()
    """

    parent_class: ScaleClass = ...

class VScrollbar(Scrollbar, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        VScrollbar(**properties)
        new(adjustment:Gtk.Adjustment=None) -> Gtk.Widget

    Object GtkVScrollbar

    Signals from GtkRange:
      value-changed ()
      adjust-bounds (gdouble)
      move-slider (GtkScrollType)
      change-value (GtkScrollType, gdouble) -> gboolean

    Properties from GtkRange:
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this range object
      inverted -> gboolean: Inverted
        Invert direction slider moves to increase range value
      lower-stepper-sensitivity -> GtkSensitivityType: Lower stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's lower side
      upper-stepper-sensitivity -> GtkSensitivityType: Upper stepper sensitivity
        The sensitivity policy for the stepper that points to the adjustment's upper side
      show-fill-level -> gboolean: Show Fill Level
        Whether to display a fill level indicator graphics on trough.
      restrict-to-fill-level -> gboolean: Restrict to Fill Level
        Whether to restrict the upper boundary to the fill level.
      fill-level -> gdouble: Fill Level
        The fill level.
      round-digits -> gint: Round Digits
        The number of digits to round the value to.

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        adjustment: Adjustment
        fill_level: float
        inverted: bool
        lower_stepper_sensitivity: SensitivityType
        restrict_to_fill_level: bool
        round_digits: int
        show_fill_level: bool
        upper_stepper_sensitivity: SensitivityType
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    scrollbar: Scrollbar = ...
    def __init__(
        self,
        adjustment: Adjustment = ...,
        fill_level: float = ...,
        inverted: bool = ...,
        lower_stepper_sensitivity: SensitivityType = ...,
        restrict_to_fill_level: bool = ...,
        round_digits: int = ...,
        show_fill_level: bool = ...,
        upper_stepper_sensitivity: SensitivityType = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls, adjustment: Optional[Adjustment] = None) -> VScrollbar: ...

class VScrollbarClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VScrollbarClass()
    """

    parent_class: ScrollbarClass = ...

class VSeparator(Separator, Atk.ImplementorIface, Buildable, Orientable):
    """
    :Constructors:

    ::

        VSeparator(**properties)
        new() -> Gtk.Widget

    Object GtkVSeparator

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        orientation: Orientation

    props: Props = ...
    separator: Separator = ...
    def __init__(
        self,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> VSeparator: ...

class VSeparatorClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VSeparatorClass()
    """

    parent_class: SeparatorClass = ...

class Viewport(Bin, Atk.ImplementorIface, Buildable, Scrollable):
    """
    :Constructors:

    ::

        Viewport(**properties)
        new(hadjustment:Gtk.Adjustment=None, vadjustment:Gtk.Adjustment=None) -> Gtk.Widget

    Object GtkViewport

    Properties from GtkViewport:
      shadow-type -> GtkShadowType: Shadow type
        Determines how the shadowed box around the viewport is drawn

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        shadow_type: ShadowType
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        hadjustment: Adjustment
        hscroll_policy: ScrollablePolicy
        vadjustment: Adjustment
        vscroll_policy: ScrollablePolicy
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: ViewportPrivate = ...
    def __init__(
        self,
        shadow_type: ShadowType = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        hadjustment: Optional[Adjustment] = ...,
        hscroll_policy: ScrollablePolicy = ...,
        vadjustment: Optional[Adjustment] = ...,
        vscroll_policy: ScrollablePolicy = ...,
    ): ...
    def get_bin_window(self) -> Gdk.Window: ...
    def get_hadjustment(self) -> Adjustment: ...
    def get_shadow_type(self) -> ShadowType: ...
    def get_vadjustment(self) -> Adjustment: ...
    def get_view_window(self) -> Gdk.Window: ...
    @classmethod
    def new(
        cls,
        hadjustment: Optional[Adjustment] = None,
        vadjustment: Optional[Adjustment] = None,
    ) -> Viewport: ...
    def set_hadjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...
    def set_shadow_type(self, type: ShadowType) -> None: ...
    def set_vadjustment(self, adjustment: Optional[Adjustment] = None) -> None: ...

class ViewportClass(GObject.GPointer):
    """
    :Constructors:

    ::

        ViewportClass()
    """

    parent_class: BinClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class ViewportPrivate(GObject.GPointer): ...

class VolumeButton(
    ScaleButton, Atk.ImplementorIface, Actionable, Activatable, Buildable, Orientable
):
    """
    :Constructors:

    ::

        VolumeButton(**properties)
        new() -> Gtk.Widget

    Object GtkVolumeButton

    Properties from GtkVolumeButton:
      use-symbolic -> gboolean: Use symbolic icons
        Whether to use symbolic icons

    Signals from GtkScaleButton:
      value-changed (gdouble)
      popup ()
      popdown ()

    Properties from GtkScaleButton:
      value -> gdouble: Value
        The value of the scale
      size -> GtkIconSize: Icon size
        The icon size
      adjustment -> GtkAdjustment: Adjustment
        The GtkAdjustment that contains the current value of this scale button object
      icons -> GStrv: Icons
        List of icon names

    Signals from GtkButton:
      activate ()
      pressed ()
      released ()
      clicked ()
      enter ()
      leave ()

    Properties from GtkButton:
      label -> gchararray: Label
        Text of the label widget inside the button, if the button contains a label widget
      image -> GtkWidget: Image widget
        Child widget to appear next to the button text
      relief -> GtkReliefStyle: Border relief
        The border relief style
      use-underline -> gboolean: Use underline
        If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key
      use-stock -> gboolean: Use stock
        If set, the label is used to pick a stock item instead of being displayed
      xalign -> gfloat: Horizontal alignment for child
        Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned
      yalign -> gfloat: Vertical alignment for child
        Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned
      image-position -> GtkPositionType: Image position
        The position of the image relative to the text
      always-show-image -> gboolean: Always show image
        Whether the image will always be shown

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        use_symbolic: bool
        adjustment: Adjustment
        icons: list[str]
        size: IconSize
        value: float
        always_show_image: bool
        image: Optional[Widget]
        image_position: PositionType
        label: str
        relief: ReliefStyle
        use_stock: bool
        use_underline: bool
        xalign: float
        yalign: float
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        action_name: Optional[str]
        action_target: GLib.Variant
        related_action: Action
        use_action_appearance: bool
        orientation: Orientation
        child: Widget

    props: Props = ...
    parent: ScaleButton = ...
    def __init__(
        self,
        use_symbolic: bool = ...,
        adjustment: Adjustment = ...,
        icons: Sequence[str] = ...,
        size: IconSize = ...,
        value: float = ...,
        always_show_image: bool = ...,
        image: Optional[Widget] = ...,
        image_position: PositionType = ...,
        label: str = ...,
        relief: ReliefStyle = ...,
        use_stock: bool = ...,
        use_underline: bool = ...,
        xalign: float = ...,
        yalign: float = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
        action_name: Optional[str] = ...,
        action_target: GLib.Variant = ...,
        related_action: Action = ...,
        use_action_appearance: bool = ...,
        orientation: Orientation = ...,
    ): ...
    @classmethod
    def new(cls) -> VolumeButton: ...

class VolumeButtonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        VolumeButtonClass()
    """

    parent_class: ScaleButtonClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class Widget(GObject.InitiallyUnowned, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Widget(**properties)

    Object GtkWidget

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]

    props: Props = ...
    parent_instance: GObject.InitiallyUnowned = ...
    priv: WidgetPrivate = ...
    def __init__(
        self,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def activate(self) -> bool: ...
    def add_accelerator(
        self,
        accel_signal: str,
        accel_group: AccelGroup,
        accel_key: int,
        accel_mods: Gdk.ModifierType,
        accel_flags: AccelFlags,
    ) -> None: ...
    def add_device_events(self, device: Gdk.Device, events: Gdk.EventMask) -> None: ...
    def add_events(self, events: int) -> None: ...
    def add_mnemonic_label(self, label: Widget) -> None: ...
    def add_tick_callback(
        self, callback: Callable[..., bool], *user_data: Any
    ) -> int: ...
    def bind_template_callback_full(
        self, callback_name: str, callback_symbol: Callable[[], None]
    ) -> None: ...
    def bind_template_child_full(
        self, name: str, internal_child: bool, struct_offset: int
    ) -> None: ...
    def can_activate_accel(self, signal_id: int) -> bool: ...
    def child_focus(self, direction: DirectionType) -> bool: ...
    def child_notify(self, child_property: str) -> None: ...
    def class_path(self) -> Tuple[int, str, str]: ...
    def compute_expand(self, orientation: Orientation) -> bool: ...
    def create_pango_context(self) -> Pango.Context: ...
    def create_pango_layout(self, text: Optional[str] = None) -> Pango.Layout: ...
    def destroy(self) -> None: ...
    def destroyed(self) -> Widget: ...
    def device_is_shadowed(self, device: Gdk.Device) -> bool: ...
    def do_adjust_baseline_allocation(self, baseline: int) -> None: ...
    def do_adjust_baseline_request(
        self, minimum_baseline: int, natural_baseline: int
    ) -> None: ...
    def do_adjust_size_allocation(
        self,
        orientation: Orientation,
        minimum_size: int,
        natural_size: int,
        allocated_pos: int,
        allocated_size: int,
    ) -> None: ...
    def do_adjust_size_request(
        self, orientation: Orientation, minimum_size: int, natural_size: int
    ) -> None: ...
    def do_button_press_event(self, event: Gdk.EventButton) -> bool: ...
    def do_button_release_event(self, event: Gdk.EventButton) -> bool: ...
    def do_can_activate_accel(self, signal_id: int) -> bool: ...
    def do_child_notify(self, child_property: GObject.ParamSpec) -> None: ...
    def do_composited_changed(self) -> None: ...
    def do_compute_expand(self, hexpand_p: bool, vexpand_p: bool) -> None: ...
    def do_configure_event(self, event: Gdk.EventConfigure) -> bool: ...
    def do_damage_event(self, event: Gdk.EventExpose) -> bool: ...
    def do_delete_event(self, event: Gdk.EventAny) -> bool: ...
    def do_destroy(self) -> None: ...
    def do_destroy_event(self, event: Gdk.EventAny) -> bool: ...
    def do_direction_changed(self, previous_direction: TextDirection) -> None: ...
    def do_dispatch_child_properties_changed(
        self, n_pspecs: int, pspecs: GObject.ParamSpec
    ) -> None: ...
    def do_drag_begin(self, context: Gdk.DragContext) -> None: ...
    def do_drag_data_delete(self, context: Gdk.DragContext) -> None: ...
    def do_drag_data_get(
        self,
        context: Gdk.DragContext,
        selection_data: SelectionData,
        info: int,
        time_: int,
    ) -> None: ...
    def do_drag_data_received(
        self,
        context: Gdk.DragContext,
        x: int,
        y: int,
        selection_data: SelectionData,
        info: int,
        time_: int,
    ) -> None: ...
    def do_drag_drop(
        self, context: Gdk.DragContext, x: int, y: int, time_: int
    ) -> bool: ...
    def do_drag_end(self, context: Gdk.DragContext) -> None: ...
    def do_drag_failed(self, context: Gdk.DragContext, result: DragResult) -> bool: ...
    def do_drag_leave(self, context: Gdk.DragContext, time_: int) -> None: ...
    def do_drag_motion(
        self, context: Gdk.DragContext, x: int, y: int, time_: int
    ) -> bool: ...
    def do_draw(self, cr: cairo.Context[_SomeSurface]) -> bool: ...
    def do_enter_notify_event(self, event: Gdk.EventCrossing) -> bool: ...
    def do_event(self, event: Gdk.Event) -> bool: ...
    def do_focus(self, direction: DirectionType) -> bool: ...
    def do_focus_in_event(self, event: Gdk.EventFocus) -> bool: ...
    def do_focus_out_event(self, event: Gdk.EventFocus) -> bool: ...
    def do_get_accessible(self) -> Atk.Object: ...
    def do_get_preferred_height(self) -> Tuple[int, int]: ...
    def do_get_preferred_height_and_baseline_for_width(
        self, width: int
    ) -> Tuple[int, int, int, int]: ...
    def do_get_preferred_height_for_width(self, width: int) -> Tuple[int, int]: ...
    def do_get_preferred_width(self) -> Tuple[int, int]: ...
    def do_get_preferred_width_for_height(self, height: int) -> Tuple[int, int]: ...
    def do_get_request_mode(self) -> SizeRequestMode: ...
    def do_grab_broken_event(self, event: Gdk.EventGrabBroken) -> bool: ...
    def do_grab_focus(self) -> None: ...
    def do_grab_notify(self, was_grabbed: bool) -> None: ...
    def do_hide(self) -> None: ...
    def do_hierarchy_changed(self, previous_toplevel: Widget) -> None: ...
    def do_key_press_event(self, event: Gdk.EventKey) -> bool: ...
    def do_key_release_event(self, event: Gdk.EventKey) -> bool: ...
    def do_keynav_failed(self, direction: DirectionType) -> bool: ...
    def do_leave_notify_event(self, event: Gdk.EventCrossing) -> bool: ...
    def do_map(self) -> None: ...
    def do_map_event(self, event: Gdk.EventAny) -> bool: ...
    def do_mnemonic_activate(self, group_cycling: bool) -> bool: ...
    def do_motion_notify_event(self, event: Gdk.EventMotion) -> bool: ...
    def do_move_focus(self, direction: DirectionType) -> None: ...
    def do_parent_set(self, previous_parent: Widget) -> None: ...
    def do_popup_menu(self) -> bool: ...
    def do_property_notify_event(self, event: Gdk.EventProperty) -> bool: ...
    def do_proximity_in_event(self, event: Gdk.EventProximity) -> bool: ...
    def do_proximity_out_event(self, event: Gdk.EventProximity) -> bool: ...
    def do_query_tooltip(
        self, x: int, y: int, keyboard_tooltip: bool, tooltip: Tooltip
    ) -> bool: ...
    def do_queue_draw_region(self, region: cairo.Region) -> None: ...
    def do_realize(self) -> None: ...
    def do_screen_changed(self, previous_screen: Gdk.Screen) -> None: ...
    def do_scroll_event(self, event: Gdk.EventScroll) -> bool: ...
    def do_selection_clear_event(self, event: Gdk.EventSelection) -> bool: ...
    def do_selection_get(
        self, selection_data: SelectionData, info: int, time_: int
    ) -> None: ...
    def do_selection_notify_event(self, event: Gdk.EventSelection) -> bool: ...
    def do_selection_received(
        self, selection_data: SelectionData, time_: int
    ) -> None: ...
    def do_selection_request_event(self, event: Gdk.EventSelection) -> bool: ...
    def do_show(self) -> None: ...
    def do_show_all(self) -> None: ...
    def do_show_help(self, help_type: WidgetHelpType) -> bool: ...
    def do_size_allocate(self, allocation: Gdk.Rectangle) -> None: ...
    def do_state_changed(self, previous_state: StateType) -> None: ...
    def do_state_flags_changed(self, previous_state_flags: StateFlags) -> None: ...
    def do_style_set(self, previous_style: Style) -> None: ...
    def do_style_updated(self) -> None: ...
    def do_touch_event(self, event: Gdk.EventTouch) -> bool: ...
    def do_unmap(self) -> None: ...
    def do_unmap_event(self, event: Gdk.EventAny) -> bool: ...
    def do_unrealize(self) -> None: ...
    def do_visibility_notify_event(self, event: Gdk.EventVisibility) -> bool: ...
    def do_window_state_event(self, event: Gdk.EventWindowState) -> bool: ...
    def drag_begin(
        self,
        targets: TargetList,
        actions: Gdk.DragAction,
        button: int,
        event: Optional[Gdk.Event] = None,
    ) -> Gdk.DragContext: ...
    def drag_begin_with_coordinates(
        self,
        targets: TargetList,
        actions: Gdk.DragAction,
        button: int,
        event: Optional[Gdk.Event],
        x: int,
        y: int,
    ) -> Gdk.DragContext: ...
    def drag_check_threshold(
        self, start_x: int, start_y: int, current_x: int, current_y: int
    ) -> bool: ...
    def drag_dest_add_image_targets(self) -> None: ...
    def drag_dest_add_text_targets(self) -> None: ...
    def drag_dest_add_uri_targets(self) -> None: ...
    def drag_dest_find_target(
        self, context: Gdk.DragContext, target_list: Optional[TargetList] = None
    ) -> Gdk.Atom: ...
    def drag_dest_get_target_list(self) -> Optional[TargetList]: ...
    def drag_dest_get_track_motion(self) -> bool: ...
    def drag_dest_set(
        self,
        flags: DestDefaults,
        targets: Optional[Sequence[TargetEntry]],
        actions: Gdk.DragAction,
    ) -> None: ...
    def drag_dest_set_proxy(
        self,
        proxy_window: Gdk.Window,
        protocol: Gdk.DragProtocol,
        use_coordinates: bool,
    ) -> None: ...
    # override
    def drag_dest_set_target_list(self, targets: Optional[TargetList]) -> None: ...
    def drag_dest_set_track_motion(self, track_motion: bool) -> None: ...
    def drag_dest_unset(self) -> None: ...
    def drag_get_data(
        self, context: Gdk.DragContext, target: Gdk.Atom, time_: int
    ) -> None: ...
    def drag_highlight(self) -> None: ...
    def drag_source_add_image_targets(self) -> None: ...
    def drag_source_add_text_targets(self) -> None: ...
    def drag_source_add_uri_targets(self) -> None: ...
    def drag_source_get_target_list(self) -> Optional[TargetList]: ...
    def drag_source_set(
        self,
        start_button_mask: Gdk.ModifierType,
        targets: Optional[Sequence[TargetEntry]],
        actions: Gdk.DragAction,
    ) -> None: ...
    def drag_source_set_icon_gicon(self, icon: Gio.Icon) -> None: ...
    def drag_source_set_icon_name(self, icon_name: str) -> None: ...
    def drag_source_set_icon_pixbuf(self, pixbuf: GdkPixbuf.Pixbuf) -> None: ...
    def drag_source_set_icon_stock(self, stock_id: str) -> None: ...
    def drag_source_set_target_list(self, target_list): ...  # FIXME Function
    def drag_source_unset(self) -> None: ...
    def drag_unhighlight(self) -> None: ...
    def draw(self, cr: cairo.Context[_SomeSurface]) -> None: ...
    def ensure_style(self) -> None: ...
    def error_bell(self) -> None: ...
    def event(self, event: Gdk.Event) -> bool: ...
    def find_style_property(self, property_name: str) -> GObject.ParamSpec: ...
    def freeze_child_notify(self): ...  # FIXME Function
    def get_accessible(self) -> Atk.Object: ...
    def get_action_group(self, prefix: str) -> Optional[Gio.ActionGroup]: ...
    def get_allocated_baseline(self) -> int: ...
    def get_allocated_height(self) -> int: ...
    def get_allocated_size(self) -> Tuple[Gdk.Rectangle, int]: ...
    def get_allocated_width(self) -> int: ...
    def get_allocation(self) -> Gdk.Rectangle: ...
    def get_ancestor(self, widget_type: Type) -> Optional[Widget]: ...
    def get_app_paintable(self) -> bool: ...
    def get_can_default(self) -> bool: ...
    def get_can_focus(self) -> bool: ...
    def get_child_requisition(self) -> Requisition: ...
    def get_child_visible(self) -> bool: ...
    def get_clip(self) -> Gdk.Rectangle: ...
    def get_clipboard(self, selection: Gdk.Atom) -> Clipboard: ...
    def get_composite_name(self) -> str: ...
    def get_css_name(self) -> str: ...
    @staticmethod
    def get_default_direction() -> TextDirection: ...
    @staticmethod
    def get_default_style() -> Style: ...
    def get_device_enabled(self, device: Gdk.Device) -> bool: ...
    def get_device_events(self, device: Gdk.Device) -> Gdk.EventMask: ...
    def get_direction(self) -> TextDirection: ...
    def get_display(self) -> Gdk.Display: ...
    def get_double_buffered(self) -> bool: ...
    def get_events(self) -> int: ...
    def get_focus_on_click(self) -> bool: ...
    def get_font_map(self) -> Optional[Pango.FontMap]: ...
    def get_font_options(self) -> Optional[cairo.FontOptions]: ...
    def get_frame_clock(self) -> Optional[Gdk.FrameClock]: ...
    def get_halign(self) -> Align: ...
    def get_has_tooltip(self) -> bool: ...
    def get_has_window(self) -> bool: ...
    def get_hexpand(self) -> bool: ...
    def get_hexpand_set(self) -> bool: ...
    def get_mapped(self) -> bool: ...
    def get_margin_bottom(self) -> int: ...
    def get_margin_end(self) -> int: ...
    def get_margin_left(self) -> int: ...
    def get_margin_right(self) -> int: ...
    def get_margin_start(self) -> int: ...
    def get_margin_top(self) -> int: ...
    def get_modifier_mask(self, intent: Gdk.ModifierIntent) -> Gdk.ModifierType: ...
    def get_modifier_style(self) -> RcStyle: ...
    def get_name(self) -> str: ...
    def get_no_show_all(self) -> bool: ...
    def get_opacity(self) -> float: ...
    def get_pango_context(self) -> Pango.Context: ...
    def get_parent(self) -> Optional[Widget]: ...
    def get_parent_window(self) -> Optional[Gdk.Window]: ...
    def get_path(self) -> WidgetPath: ...
    def get_pointer(self) -> Tuple[int, int]: ...
    def get_preferred_height(self) -> Tuple[int, int]: ...
    def get_preferred_height_and_baseline_for_width(
        self, width: int
    ) -> Tuple[int, int, int, int]: ...
    def get_preferred_height_for_width(self, width: int) -> Tuple[int, int]: ...
    def get_preferred_size(self) -> Tuple[Requisition, Requisition]: ...
    def get_preferred_width(self) -> Tuple[int, int]: ...
    def get_preferred_width_for_height(self, height: int) -> Tuple[int, int]: ...
    def get_realized(self) -> bool: ...
    def get_receives_default(self) -> bool: ...
    def get_request_mode(self) -> SizeRequestMode: ...
    def get_requisition(self) -> Requisition: ...
    def get_root_window(self) -> Gdk.Window: ...
    def get_scale_factor(self) -> int: ...
    def get_screen(self) -> Gdk.Screen: ...
    def get_sensitive(self) -> bool: ...
    def get_settings(self) -> Settings: ...
    def get_size_request(self) -> Tuple[int, int]: ...
    def get_state(self) -> StateType: ...
    def get_state_flags(self) -> StateFlags: ...
    def get_style(self) -> Style: ...
    def get_style_context(self) -> StyleContext: ...
    def get_support_multidevice(self) -> bool: ...
    def get_template_child(self, widget_type: Type, name: str) -> GObject.Object: ...
    def get_tooltip_markup(self) -> Optional[str]: ...
    def get_tooltip_text(self) -> Optional[str]: ...
    def get_tooltip_window(self) -> Window: ...
    def get_toplevel(self) -> Widget: ...
    def get_valign(self) -> Align: ...
    def get_valign_with_baseline(self) -> Align: ...
    def get_vexpand(self) -> bool: ...
    def get_vexpand_set(self) -> bool: ...
    def get_visible(self) -> bool: ...
    def get_visual(self) -> Gdk.Visual: ...
    def get_window(self) -> Optional[Gdk.Window]: ...
    def grab_add(self) -> None: ...
    def grab_default(self) -> None: ...
    def grab_focus(self) -> None: ...
    def grab_remove(self) -> None: ...
    def has_default(self) -> bool: ...
    def has_focus(self) -> bool: ...
    def has_grab(self) -> bool: ...
    def has_rc_style(self) -> bool: ...
    def has_screen(self) -> bool: ...
    def has_visible_focus(self) -> bool: ...
    def hide(self) -> None: ...
    def hide_on_delete(self) -> bool: ...
    def in_destruction(self) -> bool: ...
    def init_template(self) -> None: ...
    def input_shape_combine_region(
        self, region: Optional[cairo.Region] = None
    ) -> None: ...
    def insert_action_group(
        self, name: str, group: Optional[Gio.ActionGroup] = None
    ) -> None: ...
    def install_style_property(self, pspec: GObject.ParamSpec) -> None: ...
    def intersect(self, area: Gdk.Rectangle) -> Tuple[bool, Gdk.Rectangle]: ...
    def is_ancestor(self, ancestor: Widget) -> bool: ...
    def is_composited(self) -> bool: ...
    def is_drawable(self) -> bool: ...
    def is_focus(self) -> bool: ...
    def is_sensitive(self) -> bool: ...
    def is_toplevel(self) -> bool: ...
    def is_visible(self) -> bool: ...
    def keynav_failed(self, direction: DirectionType) -> bool: ...
    def list_accel_closures(self) -> list[Callable[..., Any]]: ...
    def list_action_prefixes(self) -> list[str]: ...
    def list_mnemonic_labels(self) -> list[Widget]: ...
    def list_style_properties(self) -> list[GObject.ParamSpec]: ...
    def map(self) -> None: ...
    def mnemonic_activate(self, group_cycling: bool) -> bool: ...
    def modify_base(
        self, state: StateType, color: Optional[Gdk.Color] = None
    ) -> None: ...
    def modify_bg(
        self, state: StateType, color: Optional[Gdk.Color] = None
    ) -> None: ...
    def modify_cursor(
        self, primary: Optional[Gdk.Color] = None, secondary: Optional[Gdk.Color] = None
    ) -> None: ...
    def modify_fg(
        self, state: StateType, color: Optional[Gdk.Color] = None
    ) -> None: ...
    def modify_font(
        self, font_desc: Optional[Pango.FontDescription] = None
    ) -> None: ...
    def modify_style(self, style: RcStyle) -> None: ...
    def modify_text(
        self, state: StateType, color: Optional[Gdk.Color] = None
    ) -> None: ...
    def override_background_color(
        self, state: StateFlags, color: Optional[Gdk.RGBA] = None
    ) -> None: ...
    def override_color(
        self, state: StateFlags, color: Optional[Gdk.RGBA] = None
    ) -> None: ...
    def override_cursor(
        self,
        cursor: Optional[Gdk.RGBA] = None,
        secondary_cursor: Optional[Gdk.RGBA] = None,
    ) -> None: ...
    def override_font(
        self, font_desc: Optional[Pango.FontDescription] = None
    ) -> None: ...
    def override_symbolic_color(
        self, name: str, color: Optional[Gdk.RGBA] = None
    ) -> None: ...
    def path(self) -> Tuple[int, str, str]: ...
    @staticmethod
    def pop_composite_child() -> None: ...
    @staticmethod
    def push_composite_child() -> None: ...
    def queue_allocate(self) -> None: ...
    def queue_compute_expand(self) -> None: ...
    def queue_draw(self) -> None: ...
    def queue_draw_area(self, x: int, y: int, width: int, height: int) -> None: ...
    def queue_draw_region(self, region: cairo.Region) -> None: ...
    def queue_resize(self) -> None: ...
    def queue_resize_no_redraw(self) -> None: ...
    def realize(self) -> None: ...
    def region_intersect(self, region: cairo.Region) -> cairo.Region: ...
    def register_window(self, window: Gdk.Window) -> None: ...
    def remove_accelerator(
        self, accel_group: AccelGroup, accel_key: int, accel_mods: Gdk.ModifierType
    ) -> bool: ...
    def remove_mnemonic_label(self, label: Widget) -> None: ...
    def remove_tick_callback(self, id: int) -> None: ...
    def render_icon(
        self, stock_id: str, size: int, detail: Optional[str] = None
    ) -> Optional[GdkPixbuf.Pixbuf]: ...
    def render_icon_pixbuf(
        self, stock_id: str, size: int
    ) -> Optional[GdkPixbuf.Pixbuf]: ...
    def reparent(self, new_parent: Widget) -> None: ...
    def reset_rc_styles(self) -> None: ...
    def reset_style(self) -> None: ...
    def send_expose(self, event: Gdk.Event) -> int: ...
    def send_focus_change(self, event: Gdk.Event) -> bool: ...
    def set_accel_path(
        self, accel_path: Optional[str] = None, accel_group: Optional[AccelGroup] = None
    ) -> None: ...
    def set_accessible_role(self, role: Atk.Role) -> None: ...
    def set_accessible_type(self, type: Type) -> None: ...
    def set_allocation(self, allocation: Gdk.Rectangle) -> None: ...
    def set_app_paintable(self, app_paintable: bool) -> None: ...
    def set_can_default(self, can_default: bool) -> None: ...
    def set_can_focus(self, can_focus: bool) -> None: ...
    def set_child_visible(self, is_visible: bool) -> None: ...
    def set_clip(self, clip: Gdk.Rectangle) -> None: ...
    def set_composite_name(self, name: str) -> None: ...
    def set_connect_func(
        self, connect_func: Callable[..., None], *connect_data: Any
    ) -> None: ...
    def set_css_name(self, name: str) -> None: ...
    @staticmethod
    def set_default_direction(dir: TextDirection) -> None: ...
    def set_device_enabled(self, device: Gdk.Device, enabled: bool) -> None: ...
    def set_device_events(self, device: Gdk.Device, events: Gdk.EventMask) -> None: ...
    def set_direction(self, dir: TextDirection) -> None: ...
    def set_double_buffered(self, double_buffered: bool) -> None: ...
    def set_events(self, events: int) -> None: ...
    def set_focus_on_click(self, focus_on_click: bool) -> None: ...
    def set_font_map(self, font_map: Optional[Pango.FontMap] = None) -> None: ...
    def set_font_options(self, options: Optional[cairo.FontOptions] = None) -> None: ...
    def set_halign(self, align: Align) -> None: ...
    def set_has_tooltip(self, has_tooltip: bool) -> None: ...
    def set_has_window(self, has_window: bool) -> None: ...
    def set_hexpand(self, expand: bool) -> None: ...
    def set_hexpand_set(self, set: bool) -> None: ...
    def set_mapped(self, mapped: bool) -> None: ...
    def set_margin_bottom(self, margin: int) -> None: ...
    def set_margin_end(self, margin: int) -> None: ...
    def set_margin_left(self, margin: int) -> None: ...
    def set_margin_right(self, margin: int) -> None: ...
    def set_margin_start(self, margin: int) -> None: ...
    def set_margin_top(self, margin: int) -> None: ...
    def set_name(self, name: str) -> None: ...
    def set_no_show_all(self, no_show_all: bool) -> None: ...
    def set_opacity(self, opacity: float) -> None: ...
    def set_parent(self, parent: Widget) -> None: ...
    def set_parent_window(self, parent_window: Gdk.Window) -> None: ...
    def set_realized(self, realized: bool) -> None: ...
    def set_receives_default(self, receives_default: bool) -> None: ...
    def set_redraw_on_allocate(self, redraw_on_allocate: bool) -> None: ...
    def set_sensitive(self, sensitive: bool) -> None: ...
    def set_size_request(self, width: int, height: int) -> None: ...
    def set_state(self, state: StateType) -> None: ...
    def set_state_flags(self, flags: StateFlags, clear: bool) -> None: ...
    def set_style(self, style: Optional[Style] = None) -> None: ...
    def set_support_multidevice(self, support_multidevice: bool) -> None: ...
    def set_template(self, template_bytes: GLib.Bytes) -> None: ...
    def set_template_from_resource(self, resource_name: str) -> None: ...
    def set_tooltip_markup(self, markup: Optional[str] = None) -> None: ...
    def set_tooltip_text(self, text: Optional[str] = None) -> None: ...
    def set_tooltip_window(self, custom_window: Optional[Window] = None) -> None: ...
    def set_valign(self, align: Align) -> None: ...
    def set_vexpand(self, expand: bool) -> None: ...
    def set_vexpand_set(self, set: bool) -> None: ...
    def set_visible(self, visible: bool) -> None: ...
    def set_visual(self, visual: Optional[Gdk.Visual] = None) -> None: ...
    def set_window(self, window: Gdk.Window) -> None: ...
    def shape_combine_region(self, region: Optional[cairo.Region] = None) -> None: ...
    def show(self) -> None: ...
    def show_all(self) -> None: ...
    def show_now(self) -> None: ...
    def size_allocate(self, allocation: Gdk.Rectangle) -> None: ...
    def size_allocate_with_baseline(
        self, allocation: Gdk.Rectangle, baseline: int
    ) -> None: ...
    def size_request(self) -> Requisition: ...
    def style_attach(self) -> None: ...
    def style_get_property(self, property_name, value=None): ...  # FIXME Function
    def thaw_child_notify(self) -> None: ...
    def translate_coordinates(
        self, dest_widget: Widget, src_x: int, src_y: int
    ) -> Optional[Tuple[int, int]]: ...  # CHECK Wrapped function
    def trigger_tooltip_query(self) -> None: ...
    def unmap(self) -> None: ...
    def unparent(self) -> None: ...
    def unrealize(self) -> None: ...
    def unregister_window(self, window: Gdk.Window) -> None: ...
    def unset_state_flags(self, flags: StateFlags) -> None: ...

class WidgetAccessible(Accessible, Atk.Component):
    """
    :Constructors:

    ::

        WidgetAccessible(**properties)

    Object GtkWidgetAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: Accessible = ...
    priv: WidgetAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class WidgetAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        WidgetAccessibleClass()
    """

    parent_class: AccessibleClass = ...
    notify_gtk: Callable[[GObject.Object, GObject.ParamSpec], None] = ...

class WidgetAccessiblePrivate(GObject.GPointer): ...

class WidgetClass(GObject.GPointer):
    """
    :Constructors:

    ::

        WidgetClass()
    """

    parent_class: GObject.InitiallyUnownedClass = ...
    activate_signal: int = ...
    dispatch_child_properties_changed: Callable[
        [Widget, int, GObject.ParamSpec], None
    ] = ...
    destroy: Callable[[Widget], None] = ...
    show: Callable[[Widget], None] = ...
    show_all: Callable[[Widget], None] = ...
    hide: Callable[[Widget], None] = ...
    map: Callable[[Widget], None] = ...
    unmap: Callable[[Widget], None] = ...
    realize: Callable[[Widget], None] = ...
    unrealize: Callable[[Widget], None] = ...
    size_allocate: Callable[[Widget, Gdk.Rectangle], None] = ...
    state_changed: Callable[[Widget, StateType], None] = ...
    state_flags_changed: Callable[[Widget, StateFlags], None] = ...
    parent_set: Callable[[Widget, Widget], None] = ...
    hierarchy_changed: Callable[[Widget, Widget], None] = ...
    style_set: Callable[[Widget, Style], None] = ...
    direction_changed: Callable[[Widget, TextDirection], None] = ...
    grab_notify: Callable[[Widget, bool], None] = ...
    child_notify: Callable[[Widget, GObject.ParamSpec], None] = ...
    draw: Callable[[Widget, cairo.Context[_SomeSurface]], bool] = ...
    get_request_mode: Callable[[Widget], SizeRequestMode] = ...
    get_preferred_height: Callable[[Widget], Tuple[int, int]] = ...
    get_preferred_width_for_height: Callable[[Widget, int], Tuple[int, int]] = ...
    get_preferred_width: Callable[[Widget], Tuple[int, int]] = ...
    get_preferred_height_for_width: Callable[[Widget, int], Tuple[int, int]] = ...
    mnemonic_activate: Callable[[Widget, bool], bool] = ...
    grab_focus: Callable[[Widget], None] = ...
    focus: Callable[[Widget, DirectionType], bool] = ...
    move_focus: Callable[[Widget, DirectionType], None] = ...
    keynav_failed: Callable[[Widget, DirectionType], bool] = ...
    event: Callable[[Widget, Gdk.Event], bool] = ...
    button_press_event: Callable[[Widget, Gdk.EventButton], bool] = ...
    button_release_event: Callable[[Widget, Gdk.EventButton], bool] = ...
    scroll_event: Callable[[Widget, Gdk.EventScroll], bool] = ...
    motion_notify_event: Callable[[Widget, Gdk.EventMotion], bool] = ...
    delete_event: Callable[[Widget, Gdk.EventAny], bool] = ...
    destroy_event: Callable[[Widget, Gdk.EventAny], bool] = ...
    key_press_event: Callable[[Widget, Gdk.EventKey], bool] = ...
    key_release_event: Callable[[Widget, Gdk.EventKey], bool] = ...
    enter_notify_event: Callable[[Widget, Gdk.EventCrossing], bool] = ...
    leave_notify_event: Callable[[Widget, Gdk.EventCrossing], bool] = ...
    configure_event: Callable[[Widget, Gdk.EventConfigure], bool] = ...
    focus_in_event: Callable[[Widget, Gdk.EventFocus], bool] = ...
    focus_out_event: Callable[[Widget, Gdk.EventFocus], bool] = ...
    map_event: Callable[[Widget, Gdk.EventAny], bool] = ...
    unmap_event: Callable[[Widget, Gdk.EventAny], bool] = ...
    property_notify_event: Callable[[Widget, Gdk.EventProperty], bool] = ...
    selection_clear_event: Callable[[Widget, Gdk.EventSelection], bool] = ...
    selection_request_event: Callable[[Widget, Gdk.EventSelection], bool] = ...
    selection_notify_event: Callable[[Widget, Gdk.EventSelection], bool] = ...
    proximity_in_event: Callable[[Widget, Gdk.EventProximity], bool] = ...
    proximity_out_event: Callable[[Widget, Gdk.EventProximity], bool] = ...
    visibility_notify_event: Callable[[Widget, Gdk.EventVisibility], bool] = ...
    window_state_event: Callable[[Widget, Gdk.EventWindowState], bool] = ...
    damage_event: Callable[[Widget, Gdk.EventExpose], bool] = ...
    grab_broken_event: Callable[[Widget, Gdk.EventGrabBroken], bool] = ...
    selection_get: Callable[[Widget, SelectionData, int, int], None] = ...
    selection_received: Callable[[Widget, SelectionData, int], None] = ...
    drag_begin: Callable[[Widget, Gdk.DragContext], None] = ...
    drag_end: Callable[[Widget, Gdk.DragContext], None] = ...
    drag_data_get: Callable[
        [Widget, Gdk.DragContext, SelectionData, int, int], None
    ] = ...
    drag_data_delete: Callable[[Widget, Gdk.DragContext], None] = ...
    drag_leave: Callable[[Widget, Gdk.DragContext, int], None] = ...
    drag_motion: Callable[[Widget, Gdk.DragContext, int, int, int], bool] = ...
    drag_drop: Callable[[Widget, Gdk.DragContext, int, int, int], bool] = ...
    drag_data_received: Callable[
        [Widget, Gdk.DragContext, int, int, SelectionData, int, int], None
    ] = ...
    drag_failed: Callable[[Widget, Gdk.DragContext, DragResult], bool] = ...
    popup_menu: Callable[[Widget], bool] = ...
    show_help: Callable[[Widget, WidgetHelpType], bool] = ...
    get_accessible: Callable[[Widget], Atk.Object] = ...
    screen_changed: Callable[[Widget, Gdk.Screen], None] = ...
    can_activate_accel: Callable[[Widget, int], bool] = ...
    composited_changed: Callable[[Widget], None] = ...
    query_tooltip: Callable[[Widget, int, int, bool, Tooltip], bool] = ...
    compute_expand: Callable[[Widget, bool, bool], None] = ...
    adjust_size_request: Callable[[Widget, Orientation, int, int], None] = ...
    adjust_size_allocation: Callable[
        [Widget, Orientation, int, int, int, int], None
    ] = ...
    style_updated: Callable[[Widget], None] = ...
    touch_event: Callable[[Widget, Gdk.EventTouch], bool] = ...
    get_preferred_height_and_baseline_for_width: Callable[
        [Widget, int], Tuple[int, int, int, int]
    ] = ...
    adjust_baseline_request: Callable[[Widget, int, int], None] = ...
    adjust_baseline_allocation: Callable[[Widget, int], None] = ...
    queue_draw_region: Callable[[Widget, cairo.Region], None] = ...
    priv: WidgetClassPrivate = ...
    _gtk_reserved6: None = ...
    _gtk_reserved7: None = ...
    def bind_template_callback_full(
        self, callback_name: str, callback_symbol: Callable[[], None]
    ) -> None: ...
    def bind_template_child_full(
        self, name: str, internal_child: bool, struct_offset: int
    ) -> None: ...
    def find_style_property(self, property_name: str) -> GObject.ParamSpec: ...
    def get_css_name(self) -> str: ...
    def install_style_property(self, pspec: GObject.ParamSpec) -> None: ...
    def list_style_properties(self) -> list[GObject.ParamSpec]: ...
    def set_accessible_role(self, role: Atk.Role) -> None: ...
    def set_accessible_type(self, type: Type) -> None: ...
    def set_connect_func(
        self, connect_func: Callable[..., None], *connect_data: Any
    ) -> None: ...
    def set_css_name(self, name: str) -> None: ...
    def set_template(self, template_bytes: GLib.Bytes) -> None: ...
    def set_template_from_resource(self, resource_name: str) -> None: ...

class WidgetClassPrivate(GObject.GPointer): ...

class WidgetPath(GObject.GBoxed):
    """
    :Constructors:

    ::

        new() -> Gtk.WidgetPath
    """

    def append_for_widget(self, widget: Widget) -> int: ...
    def append_type(self, type: Type) -> int: ...
    def append_with_siblings(self, siblings: WidgetPath, sibling_index: int) -> int: ...
    def copy(self) -> WidgetPath: ...
    def free(self) -> None: ...
    def get_object_type(self) -> Type: ...
    def has_parent(self, type: Type) -> bool: ...
    def is_type(self, type: Type) -> bool: ...
    def iter_add_class(self, pos: int, name: str) -> None: ...
    def iter_add_region(self, pos: int, name: str, flags: RegionFlags) -> None: ...
    def iter_clear_classes(self, pos: int) -> None: ...
    def iter_clear_regions(self, pos: int) -> None: ...
    def iter_get_name(self, pos: int) -> Optional[str]: ...
    def iter_get_object_name(self, pos: int) -> Optional[str]: ...
    def iter_get_object_type(self, pos: int) -> Type: ...
    def iter_get_sibling_index(self, pos: int) -> int: ...
    def iter_get_siblings(self, pos: int) -> WidgetPath: ...
    def iter_get_state(self, pos: int) -> StateFlags: ...
    def iter_has_class(self, pos: int, name: str) -> bool: ...
    def iter_has_name(self, pos: int, name: str) -> bool: ...
    def iter_has_qclass(self, pos: int, qname: int) -> bool: ...
    def iter_has_qname(self, pos: int, qname: int) -> bool: ...
    def iter_has_qregion(self, pos: int, qname: int) -> Tuple[bool, RegionFlags]: ...
    def iter_has_region(self, pos: int, name: str) -> Tuple[bool, RegionFlags]: ...
    def iter_list_classes(self, pos: int) -> list[str]: ...
    def iter_list_regions(self, pos: int) -> list[str]: ...
    def iter_remove_class(self, pos: int, name: str) -> None: ...
    def iter_remove_region(self, pos: int, name: str) -> None: ...
    def iter_set_name(self, pos: int, name: str) -> None: ...
    def iter_set_object_name(self, pos: int, name: Optional[str] = None) -> None: ...
    def iter_set_object_type(self, pos: int, type: Type) -> None: ...
    def iter_set_state(self, pos: int, state: StateFlags) -> None: ...
    def length(self) -> int: ...
    @classmethod
    def new(cls) -> WidgetPath: ...
    def prepend_type(self, type: Type) -> None: ...
    def ref(self) -> WidgetPath: ...
    def to_string(self) -> str: ...
    def unref(self) -> None: ...

class WidgetPrivate(GObject.GPointer): ...

class Window(Bin, Atk.ImplementorIface, Buildable):
    """
    :Constructors:

    ::

        Window(**properties)
        new(type:Gtk.WindowType) -> Gtk.Widget

    Object GtkWindow

    Signals from GtkWindow:
      keys-changed ()
      set-focus (GtkWidget)
      activate-focus ()
      activate-default ()
      enable-debugging (gboolean) -> gboolean

    Properties from GtkWindow:
      type -> GtkWindowType: Window Type
        The type of the window
      title -> gchararray: Window Title
        The title of the window
      role -> gchararray: Window Role
        Unique identifier for the window to be used when restoring a session
      resizable -> gboolean: Resizable
        If TRUE, users can resize the window
      modal -> gboolean: Modal
        If TRUE, the window is modal (other windows are not usable while this one is up)
      window-position -> GtkWindowPosition: Window Position
        The initial position of the window
      default-width -> gint: Default Width
        The default width of the window, used when initially showing the window
      default-height -> gint: Default Height
        The default height of the window, used when initially showing the window
      destroy-with-parent -> gboolean: Destroy with Parent
        If this window should be destroyed when the parent is destroyed
      hide-titlebar-when-maximized -> gboolean: Hide the titlebar during maximization
        If this window's titlebar should be hidden when the window is maximized
      icon -> GdkPixbuf: Icon
        Icon for this window
      icon-name -> gchararray: Icon Name
        Name of the themed icon for this window
      screen -> GdkScreen: Screen
        The screen where this window will be displayed
      type-hint -> GdkWindowTypeHint: Type hint
        Hint to help the desktop environment understand what kind of window this is and how to treat it.
      skip-taskbar-hint -> gboolean: Skip taskbar
        TRUE if the window should not be in the task bar.
      skip-pager-hint -> gboolean: Skip pager
        TRUE if the window should not be in the pager.
      urgency-hint -> gboolean: Urgent
        TRUE if the window should be brought to the user's attention.
      accept-focus -> gboolean: Accept focus
        TRUE if the window should receive the input focus.
      focus-on-map -> gboolean: Focus on map
        TRUE if the window should receive the input focus when mapped.
      decorated -> gboolean: Decorated
        Whether the window should be decorated by the window manager
      deletable -> gboolean: Deletable
        Whether the window frame should have a close button
      gravity -> GdkGravity: Gravity
        The window gravity of the window
      transient-for -> GtkWindow: Transient for Window
        The transient parent of the dialog
      attached-to -> GtkWidget: Attached to Widget
        The widget where the window is attached
      has-resize-grip -> gboolean: Resize grip
        Specifies whether the window should have a resize grip
      resize-grip-visible -> gboolean: Resize grip is visible
        Specifies whether the window's resize grip is visible.
      application -> GtkApplication: GtkApplication
        The GtkApplication for the window
      is-active -> gboolean: Is Active
        Whether the toplevel is the current active window
      has-toplevel-focus -> gboolean: Focus in Toplevel
        Whether the input focus is within this GtkWindow
      startup-id -> gchararray: Startup ID
        Unique startup identifier for the window used by startup-notification
      mnemonics-visible -> gboolean: Mnemonics Visible
        Whether mnemonics are currently visible in this window
      focus-visible -> gboolean: Focus Visible
        Whether focus rectangles are currently visible in this window
      is-maximized -> gboolean: Is maximized
        Whether the window is maximized

    Signals from GtkContainer:
      add (GtkWidget)
      remove (GtkWidget)
      check-resize ()
      set-focus-child (GtkWidget)

    Properties from GtkContainer:
      border-width -> guint: Border width
        The width of the empty border outside the containers children
      resize-mode -> GtkResizeMode: Resize mode
        Specify how resize events are handled
      child -> GtkWidget: Child
        Can be used to add a new child to the container

    Signals from GtkWidget:
      composited-changed ()
      event (GdkEvent) -> gboolean
      direction-changed (GtkTextDirection)
      state-changed (GtkStateType)
      destroy ()
      show ()
      hide ()
      map ()
      unmap ()
      realize ()
      unrealize ()
      size-allocate (GdkRectangle)
      state-flags-changed (GtkStateFlags)
      parent-set (GtkWidget)
      hierarchy-changed (GtkWidget)
      style-set (GtkStyle)
      style-updated ()
      grab-notify (gboolean)
      child-notify (GParam)
      draw (CairoContext) -> gboolean
      mnemonic-activate (gboolean) -> gboolean
      grab-focus ()
      focus (GtkDirectionType) -> gboolean
      move-focus (GtkDirectionType)
      keynav-failed (GtkDirectionType) -> gboolean
      event-after (GdkEvent)
      button-press-event (GdkEvent) -> gboolean
      button-release-event (GdkEvent) -> gboolean
      touch-event (GdkEvent) -> gboolean
      scroll-event (GdkEvent) -> gboolean
      motion-notify-event (GdkEvent) -> gboolean
      delete-event (GdkEvent) -> gboolean
      destroy-event (GdkEvent) -> gboolean
      key-press-event (GdkEvent) -> gboolean
      key-release-event (GdkEvent) -> gboolean
      enter-notify-event (GdkEvent) -> gboolean
      leave-notify-event (GdkEvent) -> gboolean
      configure-event (GdkEvent) -> gboolean
      focus-in-event (GdkEvent) -> gboolean
      focus-out-event (GdkEvent) -> gboolean
      map-event (GdkEvent) -> gboolean
      unmap-event (GdkEvent) -> gboolean
      property-notify-event (GdkEvent) -> gboolean
      selection-clear-event (GdkEvent) -> gboolean
      selection-request-event (GdkEvent) -> gboolean
      selection-notify-event (GdkEvent) -> gboolean
      selection-received (GtkSelectionData, guint)
      selection-get (GtkSelectionData, guint, guint)
      proximity-in-event (GdkEvent) -> gboolean
      proximity-out-event (GdkEvent) -> gboolean
      drag-leave (GdkDragContext, guint)
      drag-begin (GdkDragContext)
      drag-end (GdkDragContext)
      drag-data-delete (GdkDragContext)
      drag-failed (GdkDragContext, GtkDragResult) -> gboolean
      drag-motion (GdkDragContext, gint, gint, guint) -> gboolean
      drag-drop (GdkDragContext, gint, gint, guint) -> gboolean
      drag-data-get (GdkDragContext, GtkSelectionData, guint, guint)
      drag-data-received (GdkDragContext, gint, gint, GtkSelectionData, guint, guint)
      visibility-notify-event (GdkEvent) -> gboolean
      window-state-event (GdkEvent) -> gboolean
      damage-event (GdkEvent) -> gboolean
      grab-broken-event (GdkEvent) -> gboolean
      query-tooltip (gint, gint, gboolean, GtkTooltip) -> gboolean
      popup-menu () -> gboolean
      show-help (GtkWidgetHelpType) -> gboolean
      accel-closures-changed ()
      screen-changed (GdkScreen)
      can-activate-accel (guint) -> gboolean

    Properties from GtkWidget:
      name -> gchararray: Widget name
        The name of the widget
      parent -> GtkContainer: Parent widget
        The parent widget of this widget. Must be a Container widget
      width-request -> gint: Width request
        Override for width request of the widget, or -1 if natural request should be used
      height-request -> gint: Height request
        Override for height request of the widget, or -1 if natural request should be used
      visible -> gboolean: Visible
        Whether the widget is visible
      sensitive -> gboolean: Sensitive
        Whether the widget responds to input
      app-paintable -> gboolean: Application paintable
        Whether the application will paint directly on the widget
      can-focus -> gboolean: Can focus
        Whether the widget can accept the input focus
      has-focus -> gboolean: Has focus
        Whether the widget has the input focus
      is-focus -> gboolean: Is focus
        Whether the widget is the focus widget within the toplevel
      focus-on-click -> gboolean: Focus on click
        Whether the widget should grab focus when it is clicked with the mouse
      can-default -> gboolean: Can default
        Whether the widget can be the default widget
      has-default -> gboolean: Has default
        Whether the widget is the default widget
      receives-default -> gboolean: Receives default
        If TRUE, the widget will receive the default action when it is focused
      composite-child -> gboolean: Composite child
        Whether the widget is part of a composite widget
      style -> GtkStyle: Style
        The style of the widget, which contains information about how it will look (colors etc)
      events -> GdkEventMask: Events
        The event mask that decides what kind of GdkEvents this widget gets
      no-show-all -> gboolean: No show all
        Whether gtk_widget_show_all() should not affect this widget
      has-tooltip -> gboolean: Has tooltip
        Whether this widget has a tooltip
      tooltip-markup -> gchararray: Tooltip markup
        The contents of the tooltip for this widget
      tooltip-text -> gchararray: Tooltip Text
        The contents of the tooltip for this widget
      window -> GdkWindow: Window
        The widget's window if it is realized
      opacity -> gdouble: Opacity for Widget
        The opacity of the widget, from 0 to 1
      double-buffered -> gboolean: Double Buffered
        Whether the widget is double buffered
      halign -> GtkAlign: Horizontal Alignment
        How to position in extra horizontal space
      valign -> GtkAlign: Vertical Alignment
        How to position in extra vertical space
      margin-left -> gint: Margin on Left
        Pixels of extra space on the left side
      margin-right -> gint: Margin on Right
        Pixels of extra space on the right side
      margin-start -> gint: Margin on Start
        Pixels of extra space on the start
      margin-end -> gint: Margin on End
        Pixels of extra space on the end
      margin-top -> gint: Margin on Top
        Pixels of extra space on the top side
      margin-bottom -> gint: Margin on Bottom
        Pixels of extra space on the bottom side
      margin -> gint: All Margins
        Pixels of extra space on all four sides
      hexpand -> gboolean: Horizontal Expand
        Whether widget wants more horizontal space
      vexpand -> gboolean: Vertical Expand
        Whether widget wants more vertical space
      hexpand-set -> gboolean: Horizontal Expand Set
        Whether to use the hexpand property
      vexpand-set -> gboolean: Vertical Expand Set
        Whether to use the vexpand property
      expand -> gboolean: Expand Both
        Whether widget wants to expand in both directions
      scale-factor -> gint: Scale factor
        The scaling factor of the window

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        accept_focus: bool
        application: Optional[Application]
        attached_to: Optional[Widget]
        decorated: bool
        default_height: int
        default_width: int
        deletable: bool
        destroy_with_parent: bool
        focus_on_map: bool
        focus_visible: bool
        gravity: Gdk.Gravity
        has_resize_grip: bool
        has_toplevel_focus: bool
        hide_titlebar_when_maximized: bool
        icon: Optional[GdkPixbuf.Pixbuf]
        icon_name: Optional[str]
        is_active: bool
        is_maximized: bool
        mnemonics_visible: bool
        modal: bool
        resizable: bool
        resize_grip_visible: bool
        role: Optional[str]
        screen: Gdk.Screen
        skip_pager_hint: bool
        skip_taskbar_hint: bool
        title: Optional[str]
        transient_for: Optional[Window]
        type: WindowType
        type_hint: Gdk.WindowTypeHint
        urgency_hint: bool
        window_position: WindowPosition
        border_width: int
        resize_mode: ResizeMode
        app_paintable: bool
        can_default: bool
        can_focus: bool
        composite_child: bool
        double_buffered: bool
        events: Gdk.EventMask
        expand: bool
        focus_on_click: bool
        halign: Align
        has_default: bool
        has_focus: bool
        has_tooltip: bool
        height_request: int
        hexpand: bool
        hexpand_set: bool
        is_focus: bool
        margin: int
        margin_bottom: int
        margin_end: int
        margin_left: int
        margin_right: int
        margin_start: int
        margin_top: int
        name: str
        no_show_all: bool
        opacity: float
        parent: Optional[Container]
        receives_default: bool
        scale_factor: int
        sensitive: bool
        style: Style
        tooltip_markup: Optional[str]
        tooltip_text: Optional[str]
        valign: Align
        vexpand: bool
        vexpand_set: bool
        visible: bool
        width_request: int
        window: Optional[Gdk.Window]
        startup_id: str
        child: Widget

    props: Props = ...
    bin: Bin = ...
    priv: WindowPrivate = ...
    def __init__(
        self,
        accept_focus: bool = ...,
        application: Optional[Application] = ...,
        attached_to: Optional[Widget] = ...,
        decorated: bool = ...,
        default_height: int = ...,
        default_width: int = ...,
        deletable: bool = ...,
        destroy_with_parent: bool = ...,
        focus_on_map: bool = ...,
        focus_visible: bool = ...,
        gravity: Gdk.Gravity = ...,
        has_resize_grip: bool = ...,
        hide_titlebar_when_maximized: bool = ...,
        icon: Optional[GdkPixbuf.Pixbuf] = ...,
        icon_name: Optional[str] = ...,
        mnemonics_visible: bool = ...,
        modal: bool = ...,
        resizable: bool = ...,
        role: str = ...,
        screen: Gdk.Screen = ...,
        skip_pager_hint: bool = ...,
        skip_taskbar_hint: bool = ...,
        startup_id: str = ...,
        title: str = ...,
        transient_for: Optional[Window] = ...,
        type: WindowType = ...,
        type_hint: Gdk.WindowTypeHint = ...,
        urgency_hint: bool = ...,
        window_position: WindowPosition = ...,
        border_width: int = ...,
        child: Widget = ...,
        resize_mode: ResizeMode = ...,
        app_paintable: bool = ...,
        can_default: bool = ...,
        can_focus: bool = ...,
        double_buffered: bool = ...,
        events: Gdk.EventMask = ...,
        expand: bool = ...,
        focus_on_click: bool = ...,
        halign: Align = ...,
        has_default: bool = ...,
        has_focus: bool = ...,
        has_tooltip: bool = ...,
        height_request: int = ...,
        hexpand: bool = ...,
        hexpand_set: bool = ...,
        is_focus: bool = ...,
        margin: int = ...,
        margin_bottom: int = ...,
        margin_end: int = ...,
        margin_left: int = ...,
        margin_right: int = ...,
        margin_start: int = ...,
        margin_top: int = ...,
        name: str = ...,
        no_show_all: bool = ...,
        opacity: float = ...,
        parent: Container = ...,
        receives_default: bool = ...,
        sensitive: bool = ...,
        style: Optional[Style] = ...,
        tooltip_markup: Optional[str] = ...,
        tooltip_text: Optional[str] = ...,
        valign: Align = ...,
        vexpand: bool = ...,
        vexpand_set: bool = ...,
        visible: bool = ...,
        width_request: int = ...,
    ): ...
    def activate_default(self) -> bool: ...
    def activate_focus(self) -> bool: ...
    def activate_key(self, event: Gdk.EventKey) -> bool: ...
    def add_accel_group(self, accel_group: AccelGroup) -> None: ...
    def add_mnemonic(self, keyval: int, target: Widget) -> None: ...
    def begin_move_drag(
        self, button: int, root_x: int, root_y: int, timestamp: int
    ) -> None: ...
    def begin_resize_drag(
        self,
        edge: Gdk.WindowEdge,
        button: int,
        root_x: int,
        root_y: int,
        timestamp: int,
    ) -> None: ...
    def close(self) -> None: ...
    def deiconify(self) -> None: ...
    def do_activate_default(self) -> None: ...
    def do_activate_focus(self) -> None: ...
    def do_enable_debugging(self, toggle: bool) -> bool: ...
    def do_keys_changed(self) -> None: ...
    def do_set_focus(self, focus: Optional[Widget] = None) -> None: ...
    def fullscreen(self) -> None: ...
    def fullscreen_on_monitor(self, screen: Gdk.Screen, monitor: int) -> None: ...
    def get_accept_focus(self) -> bool: ...
    def get_application(self) -> Optional[Application]: ...
    def get_attached_to(self) -> Optional[Widget]: ...
    def get_decorated(self) -> bool: ...
    @staticmethod
    def get_default_icon_list() -> list[GdkPixbuf.Pixbuf]: ...
    @staticmethod
    def get_default_icon_name() -> str: ...
    def get_default_size(self) -> Tuple[int, int]: ...
    def get_default_widget(self) -> Optional[Widget]: ...
    def get_deletable(self) -> bool: ...
    def get_destroy_with_parent(self) -> bool: ...
    def get_focus(self) -> Optional[Widget]: ...
    def get_focus_on_map(self) -> bool: ...
    def get_focus_visible(self) -> bool: ...
    def get_gravity(self) -> Gdk.Gravity: ...
    def get_group(self) -> WindowGroup: ...
    def get_has_resize_grip(self) -> bool: ...
    def get_hide_titlebar_when_maximized(self) -> bool: ...
    def get_icon(self) -> Optional[GdkPixbuf.Pixbuf]: ...
    def get_icon_list(self) -> list[GdkPixbuf.Pixbuf]: ...
    def get_icon_name(self) -> Optional[str]: ...
    def get_mnemonic_modifier(self) -> Gdk.ModifierType: ...
    def get_mnemonics_visible(self) -> bool: ...
    def get_modal(self) -> bool: ...
    def get_opacity(self) -> float: ...
    def get_position(self) -> Tuple[int, int]: ...
    def get_resizable(self) -> bool: ...
    def get_resize_grip_area(self) -> Tuple[bool, Gdk.Rectangle]: ...
    def get_role(self) -> Optional[str]: ...
    def get_screen(self) -> Gdk.Screen: ...
    def get_size(self) -> Tuple[int, int]: ...
    def get_skip_pager_hint(self) -> bool: ...
    def get_skip_taskbar_hint(self) -> bool: ...
    def get_title(self) -> Optional[str]: ...
    def get_titlebar(self) -> Optional[Widget]: ...
    def get_transient_for(self) -> Optional[Window]: ...
    def get_type_hint(self) -> Gdk.WindowTypeHint: ...
    def get_urgency_hint(self) -> bool: ...
    def get_window_type(self) -> WindowType: ...
    def has_group(self) -> bool: ...
    def has_toplevel_focus(self) -> bool: ...
    def iconify(self) -> None: ...
    def is_active(self) -> bool: ...
    def is_maximized(self) -> bool: ...
    @staticmethod
    def list_toplevels() -> list[Widget]: ...
    def maximize(self) -> None: ...
    def mnemonic_activate(self, keyval: int, modifier: Gdk.ModifierType) -> bool: ...
    def move(self, x: int, y: int) -> None: ...
    @classmethod
    def new(cls, type: WindowType) -> Window: ...
    def parse_geometry(self, geometry: str) -> bool: ...
    def present(self) -> None: ...
    def present_with_time(self, timestamp: int) -> None: ...
    def propagate_key_event(self, event: Gdk.EventKey) -> bool: ...
    def remove_accel_group(self, accel_group: AccelGroup) -> None: ...
    def remove_mnemonic(self, keyval: int, target: Widget) -> None: ...
    def reshow_with_initial_size(self) -> None: ...
    def resize(self, width: int, height: int) -> None: ...
    def resize_grip_is_visible(self) -> bool: ...
    def resize_to_geometry(self, width: int, height: int) -> None: ...
    def set_accept_focus(self, setting: bool) -> None: ...
    def set_application(self, application: Optional[Application] = None) -> None: ...
    def set_attached_to(self, attach_widget: Optional[Widget] = None) -> None: ...
    @staticmethod
    def set_auto_startup_notification(setting: bool) -> None: ...
    def set_decorated(self, setting: bool) -> None: ...
    def set_default(self, default_widget: Optional[Widget] = None) -> None: ...
    def set_default_geometry(self, width: int, height: int) -> None: ...
    @staticmethod
    def set_default_icon(icon: GdkPixbuf.Pixbuf) -> None: ...
    @staticmethod
    def set_default_icon_from_file(filename: str) -> bool: ...
    @staticmethod
    def set_default_icon_list(list: list[GdkPixbuf.Pixbuf]) -> None: ...
    @staticmethod
    def set_default_icon_name(name: str) -> None: ...
    def set_default_size(self, width: int, height: int) -> None: ...
    def set_deletable(self, setting: bool) -> None: ...
    def set_destroy_with_parent(self, setting: bool) -> None: ...
    def set_focus(self, focus: Optional[Widget] = None) -> None: ...
    def set_focus_on_map(self, setting: bool) -> None: ...
    def set_focus_visible(self, setting: bool) -> None: ...
    def set_geometry_hints(
        self,
        geometry_widget: Optional[Widget],
        geometry: Optional[Gdk.Geometry],
        geom_mask: Gdk.WindowHints,
    ) -> None: ...
    def set_gravity(self, gravity: Gdk.Gravity) -> None: ...
    def set_has_resize_grip(self, value: bool) -> None: ...
    def set_has_user_ref_count(self, setting: bool) -> None: ...
    def set_hide_titlebar_when_maximized(self, setting: bool) -> None: ...
    def set_icon(self, icon: Optional[GdkPixbuf.Pixbuf] = None) -> None: ...
    def set_icon_from_file(self, filename: str) -> bool: ...
    def set_icon_list(self, list: list[GdkPixbuf.Pixbuf]) -> None: ...
    def set_icon_name(self, name: Optional[str] = None) -> None: ...
    @staticmethod
    def set_interactive_debugging(enable: bool) -> None: ...
    def set_keep_above(self, setting: bool) -> None: ...
    def set_keep_below(self, setting: bool) -> None: ...
    def set_mnemonic_modifier(self, modifier: Gdk.ModifierType) -> None: ...
    def set_mnemonics_visible(self, setting: bool) -> None: ...
    def set_modal(self, modal: bool) -> None: ...
    def set_opacity(self, opacity: float) -> None: ...
    def set_position(self, position: WindowPosition) -> None: ...
    def set_resizable(self, resizable: bool) -> None: ...
    def set_role(self, role: str) -> None: ...
    def set_screen(self, screen: Gdk.Screen) -> None: ...
    def set_skip_pager_hint(self, setting: bool) -> None: ...
    def set_skip_taskbar_hint(self, setting: bool) -> None: ...
    def set_startup_id(self, startup_id: str) -> None: ...
    def set_title(self, title: str) -> None: ...
    def set_titlebar(self, titlebar: Optional[Widget] = None) -> None: ...
    def set_transient_for(self, parent: Optional[Window] = None) -> None: ...
    def set_type_hint(self, hint: Gdk.WindowTypeHint) -> None: ...
    def set_urgency_hint(self, setting: bool) -> None: ...
    def set_wmclass(self, wmclass_name: str, wmclass_class: str) -> None: ...
    def stick(self) -> None: ...
    def unfullscreen(self) -> None: ...
    def unmaximize(self) -> None: ...
    def unstick(self) -> None: ...

class WindowAccessible(ContainerAccessible, Atk.Component, Atk.Window):
    """
    :Constructors:

    ::

        WindowAccessible(**properties)

    Object GtkWindowAccessible

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkWindow:
      destroy ()
      activate ()
      deactivate ()
      create ()
      maximize ()
      minimize ()
      move ()
      resize ()
      restore ()

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Signals from AtkComponent:
      bounds-changed (AtkRectangle)

    Properties from GtkAccessible:
      widget -> GtkWidget: Widget
        The widget referenced by this accessible.

    Signals from AtkObject:
      children-changed (guint, gpointer)
      focus-event (gboolean)
      property-change (gpointer)
      state-change (gchararray, gboolean)
      visible-data-changed ()
      active-descendant-changed (gpointer)
      announcement (gchararray)
      notification (gchararray, gint)

    Properties from AtkObject:
      accessible-name -> gchararray: Accessible Name
        Object instance’s name formatted for assistive technology access
      accessible-description -> gchararray: Accessible Description
        Description of an object, formatted for assistive technology access
      accessible-parent -> AtkObject: Accessible Parent
        Parent of the current accessible as returned by atk_object_get_parent()
      accessible-value -> gdouble: Accessible Value
        Is used to notify that the value has changed
      accessible-role -> AtkRole: Accessible Role
        The accessible role of this object
      accessible-component-layer -> gint: Accessible Layer
        The accessible layer of this object
      accessible-component-mdi-zorder -> gint: Accessible MDI Value
        The accessible MDI value of this object
      accessible-table-caption -> gchararray: Accessible Table Caption
        Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead
      accessible-table-column-description -> gchararray: Accessible Table Column Description
        Is used to notify that the table column description has changed
      accessible-table-column-header -> AtkObject: Accessible Table Column Header
        Is used to notify that the table column header has changed
      accessible-table-row-description -> gchararray: Accessible Table Row Description
        Is used to notify that the table row description has changed
      accessible-table-row-header -> AtkObject: Accessible Table Row Header
        Is used to notify that the table row header has changed
      accessible-table-summary -> AtkObject: Accessible Table Summary
        Is used to notify that the table summary has changed
      accessible-table-caption-object -> AtkObject: Accessible Table Caption Object
        Is used to notify that the table caption has changed
      accessible-hypertext-nlinks -> gint: Number of Accessible Hypertext Links
        The number of links which the current AtkHypertext has

    Signals from GObject:
      notify (GParam)
    """

    class Props:
        widget: Optional[Widget]
        accessible_component_layer: int
        accessible_component_mdi_zorder: int
        accessible_description: str
        accessible_hypertext_nlinks: int
        accessible_name: str
        accessible_parent: Atk.Object
        accessible_role: Atk.Role
        accessible_table_caption: str
        accessible_table_caption_object: Atk.Object
        accessible_table_column_description: str
        accessible_table_column_header: Atk.Object
        accessible_table_row_description: str
        accessible_table_row_header: Atk.Object
        accessible_table_summary: Atk.Object
        accessible_value: float

    props: Props = ...
    parent: ContainerAccessible = ...
    priv: WindowAccessiblePrivate = ...
    def __init__(
        self,
        widget: Optional[Widget] = ...,
        accessible_description: str = ...,
        accessible_name: str = ...,
        accessible_parent: Atk.Object = ...,
        accessible_role: Atk.Role = ...,
        accessible_table_caption: str = ...,
        accessible_table_caption_object: Atk.Object = ...,
        accessible_table_column_description: str = ...,
        accessible_table_column_header: Atk.Object = ...,
        accessible_table_row_description: str = ...,
        accessible_table_row_header: Atk.Object = ...,
        accessible_table_summary: Atk.Object = ...,
        accessible_value: float = ...,
    ): ...

class WindowAccessibleClass(GObject.GPointer):
    """
    :Constructors:

    ::

        WindowAccessibleClass()
    """

    parent_class: ContainerAccessibleClass = ...

class WindowAccessiblePrivate(GObject.GPointer): ...

class WindowClass(GObject.GPointer):
    """
    :Constructors:

    ::

        WindowClass()
    """

    parent_class: BinClass = ...
    set_focus: Callable[[Window, Optional[Widget]], None] = ...
    activate_focus: Callable[[Window], None] = ...
    activate_default: Callable[[Window], None] = ...
    keys_changed: Callable[[Window], None] = ...
    enable_debugging: Callable[[Window, bool], bool] = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...

class WindowGeometryInfo(GObject.GPointer): ...

class WindowGroup(GObject.Object):
    """
    :Constructors:

    ::

        WindowGroup(**properties)
        new() -> Gtk.WindowGroup

    Object GtkWindowGroup

    Signals from GObject:
      notify (GParam)
    """

    parent_instance: GObject.Object = ...
    priv: WindowGroupPrivate = ...
    def add_window(self, window: Window) -> None: ...
    def get_current_device_grab(self, device: Gdk.Device) -> Optional[Widget]: ...
    def get_current_grab(self) -> Widget: ...
    def list_windows(self) -> list[Window]: ...
    @classmethod
    def new(cls) -> WindowGroup: ...
    def remove_window(self, window: Window) -> None: ...

class WindowGroupClass(GObject.GPointer):
    """
    :Constructors:

    ::

        WindowGroupClass()
    """

    parent_class: GObject.ObjectClass = ...
    _gtk_reserved1: None = ...
    _gtk_reserved2: None = ...
    _gtk_reserved3: None = ...
    _gtk_reserved4: None = ...

class WindowGroupPrivate(GObject.GPointer): ...
class WindowPrivate(GObject.GPointer): ...
class _MountOperationHandler(GObject.GPointer): ...

class _MountOperationHandlerIface(GObject.GPointer):
    """
    :Constructors:

    ::

        _MountOperationHandlerIface()
    """

    parent_iface: GObject.TypeInterface = ...
    handle_ask_password: None = ...
    handle_ask_question: None = ...
    handle_close: None = ...
    handle_show_processes: None = ...

class _MountOperationHandlerProxy(GObject.GPointer):
    """
    :Constructors:

    ::

        _MountOperationHandlerProxy()
    """

    parent_instance: Gio.DBusProxy = ...
    priv: None = ...

class _MountOperationHandlerProxyClass(GObject.GPointer):
    """
    :Constructors:

    ::

        _MountOperationHandlerProxyClass()
    """

    parent_class: Gio.DBusProxyClass = ...

class _MountOperationHandlerProxyPrivate(GObject.GPointer): ...

class _MountOperationHandlerSkeleton(GObject.GPointer):
    """
    :Constructors:

    ::

        _MountOperationHandlerSkeleton()
    """

    parent_instance: Gio.DBusInterfaceSkeleton = ...
    priv: None = ...

class _MountOperationHandlerSkeletonClass(GObject.GPointer):
    """
    :Constructors:

    ::

        _MountOperationHandlerSkeletonClass()
    """

    parent_class: Gio.DBusInterfaceSkeletonClass = ...

class _MountOperationHandlerSkeletonPrivate(GObject.GPointer): ...

class AccelFlags(GObject.GFlags):
    LOCKED = 2
    MASK = 7
    VISIBLE = 1

class ApplicationInhibitFlags(GObject.GFlags):
    IDLE = 8
    LOGOUT = 1
    SUSPEND = 4
    SWITCH = 2

class AttachOptions(GObject.GFlags):
    EXPAND = 1
    FILL = 4
    SHRINK = 2

class CalendarDisplayOptions(GObject.GFlags):
    NO_MONTH_CHANGE = 4
    SHOW_DAY_NAMES = 2
    SHOW_DETAILS = 32
    SHOW_HEADING = 1
    SHOW_WEEK_NUMBERS = 8

class CellRendererState(GObject.GFlags):
    EXPANDABLE = 32
    EXPANDED = 64
    FOCUSED = 16
    INSENSITIVE = 4
    PRELIT = 2
    SELECTED = 1
    SORTED = 8

class DebugFlag(GObject.GFlags):
    ACTIONS = 524288
    BASELINES = 16384
    BUILDER = 2048
    GEOMETRY = 256
    ICONTHEME = 512
    INTERACTIVE = 131072
    KEYBINDINGS = 32
    LAYOUT = 2097152
    MISC = 1
    MODULES = 128
    MULTIHEAD = 64
    NO_CSS_CACHE = 8192
    NO_PIXEL_CACHE = 65536
    PIXEL_CACHE = 32768
    PLUGSOCKET = 2
    PRINTING = 1024
    RESIZE = 1048576
    SIZE_REQUEST = 4096
    TEXT = 4
    TOUCHSCREEN = 262144
    TREE = 8
    UPDATES = 16

class DestDefaults(GObject.GFlags):
    ALL = 7
    DROP = 4
    HIGHLIGHT = 2
    MOTION = 1

class DialogFlags(GObject.GFlags):
    DESTROY_WITH_PARENT = 2
    MODAL = 1
    USE_HEADER_BAR = 4

class EventControllerScrollFlags(GObject.GFlags):
    BOTH_AXES = 3
    DISCRETE = 4
    HORIZONTAL = 2
    KINETIC = 8
    NONE = 0
    VERTICAL = 1

class FileFilterFlags(GObject.GFlags):
    DISPLAY_NAME = 4
    FILENAME = 1
    MIME_TYPE = 8
    URI = 2

class FontChooserLevel(GObject.GFlags):
    FAMILY = 0
    FEATURES = 8
    SIZE = 2
    STYLE = 1
    VARIATIONS = 4

class IconLookupFlags(GObject.GFlags):
    DIR_LTR = 128
    DIR_RTL = 256
    FORCE_REGULAR = 32
    FORCE_SIZE = 16
    FORCE_SVG = 2
    FORCE_SYMBOLIC = 64
    GENERIC_FALLBACK = 8
    NO_SVG = 1
    USE_BUILTIN = 4

class InputHints(GObject.GFlags):
    EMOJI = 512
    INHIBIT_OSK = 128
    LOWERCASE = 8
    NONE = 0
    NO_EMOJI = 1024
    NO_SPELLCHECK = 2
    SPELLCHECK = 1
    UPPERCASE_CHARS = 16
    UPPERCASE_SENTENCES = 64
    UPPERCASE_WORDS = 32
    VERTICAL_WRITING = 256
    WORD_COMPLETION = 4

class JunctionSides(GObject.GFlags):
    BOTTOM = 12
    CORNER_BOTTOMLEFT = 4
    CORNER_BOTTOMRIGHT = 8
    CORNER_TOPLEFT = 1
    CORNER_TOPRIGHT = 2
    LEFT = 5
    NONE = 0
    RIGHT = 10
    TOP = 3

class PlacesOpenFlags(GObject.GFlags):
    NEW_TAB = 2
    NEW_WINDOW = 4
    NORMAL = 1

class RcFlags(GObject.GFlags):
    BASE = 8
    BG = 2
    FG = 1
    TEXT = 4

class RecentFilterFlags(GObject.GFlags):
    AGE = 32
    APPLICATION = 8
    DISPLAY_NAME = 2
    GROUP = 16
    MIME_TYPE = 4
    URI = 1

class RegionFlags(GObject.GFlags):
    EVEN = 1
    FIRST = 4
    LAST = 8
    ODD = 2
    ONLY = 16
    SORTED = 32

class StateFlags(GObject.GFlags):
    ACTIVE = 1
    BACKDROP = 64
    CHECKED = 2048
    DIR_LTR = 128
    DIR_RTL = 256
    DROP_ACTIVE = 4096
    FOCUSED = 32
    INCONSISTENT = 16
    INSENSITIVE = 8
    LINK = 512
    NORMAL = 0
    PRELIGHT = 2
    SELECTED = 4
    VISITED = 1024

class StyleContextPrintFlags(GObject.GFlags):
    NONE = 0
    RECURSE = 1
    SHOW_STYLE = 2

class TargetFlags(GObject.GFlags):
    OTHER_APP = 4
    OTHER_WIDGET = 8
    SAME_APP = 1
    SAME_WIDGET = 2

class TextSearchFlags(GObject.GFlags):
    CASE_INSENSITIVE = 4
    TEXT_ONLY = 2
    VISIBLE_ONLY = 1

class ToolPaletteDragTargets(GObject.GFlags):
    GROUPS = 2
    ITEMS = 1

class TreeModelFlags(GObject.GFlags):
    ITERS_PERSIST = 1
    LIST_ONLY = 2

class UIManagerItemType(GObject.GFlags):
    ACCELERATOR = 256
    AUTO = 0
    MENU = 2
    MENUBAR = 1
    MENUITEM = 32
    PLACEHOLDER = 8
    POPUP = 16
    POPUP_WITH_ACCELS = 512
    SEPARATOR = 128
    TOOLBAR = 4
    TOOLITEM = 64

class Align(GObject.GEnum):
    BASELINE = 4
    CENTER = 3
    END = 2
    FILL = 0
    START = 1

class ArrowPlacement(GObject.GEnum):
    BOTH = 0
    END = 2
    START = 1

class ArrowType(GObject.GEnum):
    DOWN = 1
    LEFT = 2
    NONE = 4
    RIGHT = 3
    UP = 0

class AssistantPageType(GObject.GEnum):
    CONFIRM = 2
    CONTENT = 0
    CUSTOM = 5
    INTRO = 1
    PROGRESS = 4
    SUMMARY = 3

class BaselinePosition(GObject.GEnum):
    BOTTOM = 2
    CENTER = 1
    TOP = 0

class BorderStyle(GObject.GEnum):
    DASHED = 6
    DOTTED = 5
    DOUBLE = 7
    GROOVE = 8
    HIDDEN = 4
    INSET = 2
    NONE = 0
    OUTSET = 3
    RIDGE = 9
    SOLID = 1

class BuilderError(GObject.GEnum):
    DUPLICATE_ID = 8
    INVALID_ATTRIBUTE = 3
    INVALID_ID = 13
    INVALID_PROPERTY = 11
    INVALID_SIGNAL = 12
    INVALID_TAG = 4
    INVALID_TYPE_FUNCTION = 0
    INVALID_VALUE = 6
    MISSING_ATTRIBUTE = 2
    MISSING_PROPERTY_VALUE = 5
    OBJECT_TYPE_REFUSED = 9
    TEMPLATE_MISMATCH = 10
    UNHANDLED_TAG = 1
    VERSION_MISMATCH = 7
    @staticmethod
    def quark() -> int: ...

class ButtonBoxStyle(GObject.GEnum):
    CENTER = 5
    EDGE = 2
    END = 4
    EXPAND = 6
    SPREAD = 1
    START = 3

class ButtonRole(GObject.GEnum):
    CHECK = 1
    NORMAL = 0
    RADIO = 2

class ButtonsType(GObject.GEnum):
    CANCEL = 3
    CLOSE = 2
    NONE = 0
    OK = 1
    OK_CANCEL = 5
    YES_NO = 4

class CellRendererAccelMode(GObject.GEnum):
    GTK = 0
    MODIFIER_TAP = 2
    OTHER = 1

class CellRendererMode(GObject.GEnum):
    ACTIVATABLE = 1
    EDITABLE = 2
    INERT = 0

class CornerType(GObject.GEnum):
    BOTTOM_LEFT = 1
    BOTTOM_RIGHT = 3
    TOP_LEFT = 0
    TOP_RIGHT = 2

class CssProviderError(GObject.GEnum):
    DEPRECATED = 4
    FAILED = 0
    IMPORT = 2
    NAME = 3
    SYNTAX = 1
    UNKNOWN_VALUE = 5
    @staticmethod
    def quark() -> int: ...

class CssSectionType(GObject.GEnum):
    BINDING_SET = 3
    COLOR_DEFINITION = 2
    DECLARATION = 6
    DOCUMENT = 0
    IMPORT = 1
    KEYFRAMES = 8
    RULESET = 4
    SELECTOR = 5
    VALUE = 7

class DeleteType(GObject.GEnum):
    CHARS = 0
    DISPLAY_LINES = 3
    DISPLAY_LINE_ENDS = 4
    PARAGRAPHS = 6
    PARAGRAPH_ENDS = 5
    WHITESPACE = 7
    WORDS = 2
    WORD_ENDS = 1

class DirectionType(GObject.GEnum):
    DOWN = 3
    LEFT = 4
    RIGHT = 5
    TAB_BACKWARD = 1
    TAB_FORWARD = 0
    UP = 2

class DragResult(GObject.GEnum):
    ERROR = 5
    GRAB_BROKEN = 4
    NO_TARGET = 1
    SUCCESS = 0
    TIMEOUT_EXPIRED = 3
    USER_CANCELLED = 2

class EntryIconPosition(GObject.GEnum):
    PRIMARY = 0
    SECONDARY = 1

class EventSequenceState(GObject.GEnum):
    CLAIMED = 1
    DENIED = 2
    NONE = 0

class ExpanderStyle(GObject.GEnum):
    COLLAPSED = 0
    EXPANDED = 3
    SEMI_COLLAPSED = 1
    SEMI_EXPANDED = 2

class FileChooserAction(GObject.GEnum):
    CREATE_FOLDER = 3
    OPEN = 0
    SAVE = 1
    SELECT_FOLDER = 2

class FileChooserConfirmation(GObject.GEnum):
    ACCEPT_FILENAME = 1
    CONFIRM = 0
    SELECT_AGAIN = 2

class FileChooserError(GObject.GEnum):
    ALREADY_EXISTS = 2
    BAD_FILENAME = 1
    INCOMPLETE_HOSTNAME = 3
    NONEXISTENT = 0
    @staticmethod
    def quark() -> int: ...

class IMPreeditStyle(GObject.GEnum):
    CALLBACK = 1
    NONE = 2
    NOTHING = 0

class IMStatusStyle(GObject.GEnum):
    CALLBACK = 1
    NONE = 2
    NOTHING = 0

class IconSize(GObject.GEnum):
    BUTTON = 4
    DIALOG = 6
    DND = 5
    INVALID = 0
    LARGE_TOOLBAR = 3
    MENU = 1
    SMALL_TOOLBAR = 2
    @staticmethod
    def from_name(name: str) -> int: ...
    @staticmethod
    def get_name(size: int) -> str: ...
    @staticmethod
    def lookup(size: int) -> Tuple[bool, int, int]: ...
    @staticmethod
    def lookup_for_settings(settings: Settings, size: int) -> Tuple[bool, int, int]: ...
    @staticmethod
    def register(name: str, width: int, height: int) -> int: ...
    @staticmethod
    def register_alias(alias: str, target: int) -> None: ...

class IconThemeError(GObject.GEnum):
    FAILED = 1
    NOT_FOUND = 0
    @staticmethod
    def quark() -> int: ...

class IconViewDropPosition(GObject.GEnum):
    DROP_ABOVE = 4
    DROP_BELOW = 5
    DROP_INTO = 1
    DROP_LEFT = 2
    DROP_RIGHT = 3
    NO_DROP = 0

class ImageType(GObject.GEnum):
    ANIMATION = 4
    EMPTY = 0
    GICON = 6
    ICON_NAME = 5
    ICON_SET = 3
    PIXBUF = 1
    STOCK = 2
    SURFACE = 7

class InputPurpose(GObject.GEnum):
    ALPHA = 1
    DIGITS = 2
    EMAIL = 6
    FREE_FORM = 0
    NAME = 7
    NUMBER = 3
    PASSWORD = 8
    PHONE = 4
    PIN = 9
    TERMINAL = 10
    URL = 5

class Justification(GObject.GEnum):
    CENTER = 2
    FILL = 3
    LEFT = 0
    RIGHT = 1

class LevelBarMode(GObject.GEnum):
    CONTINUOUS = 0
    DISCRETE = 1

class License(GObject.GEnum):
    AGPL_3_0 = 13
    AGPL_3_0_ONLY = 14
    APACHE_2_0 = 16
    ARTISTIC = 8
    BSD = 6
    BSD_3 = 15
    CUSTOM = 1
    GPL_2_0 = 2
    GPL_2_0_ONLY = 9
    GPL_3_0 = 3
    GPL_3_0_ONLY = 10
    LGPL_2_1 = 4
    LGPL_2_1_ONLY = 11
    LGPL_3_0 = 5
    LGPL_3_0_ONLY = 12
    MIT_X11 = 7
    MPL_2_0 = 17
    UNKNOWN = 0

class MenuDirectionType(GObject.GEnum):
    CHILD = 1
    NEXT = 2
    PARENT = 0
    PREV = 3

class MessageType(GObject.GEnum):
    ERROR = 3
    INFO = 0
    OTHER = 4
    QUESTION = 2
    WARNING = 1

class MovementStep(GObject.GEnum):
    BUFFER_ENDS = 8
    DISPLAY_LINES = 3
    DISPLAY_LINE_ENDS = 4
    HORIZONTAL_PAGES = 9
    LOGICAL_POSITIONS = 0
    PAGES = 7
    PARAGRAPHS = 5
    PARAGRAPH_ENDS = 6
    VISUAL_POSITIONS = 1
    WORDS = 2

class NotebookTab(GObject.GEnum):
    FIRST = 0
    LAST = 1

class NumberUpLayout(GObject.GEnum):
    BTLR = 6
    BTRL = 7
    LRBT = 1
    LRTB = 0
    RLBT = 3
    RLTB = 2
    TBLR = 4
    TBRL = 5

class Orientation(GObject.GEnum):
    HORIZONTAL = 0
    VERTICAL = 1

class PackDirection(GObject.GEnum):
    BTT = 3
    LTR = 0
    RTL = 1
    TTB = 2

class PackType(GObject.GEnum):
    END = 1
    START = 0

class PadActionType(GObject.GEnum):
    BUTTON = 0
    RING = 1
    STRIP = 2

class PageOrientation(GObject.GEnum):
    LANDSCAPE = 1
    PORTRAIT = 0
    REVERSE_LANDSCAPE = 3
    REVERSE_PORTRAIT = 2

class PageSet(GObject.GEnum):
    ALL = 0
    EVEN = 1
    ODD = 2

class PanDirection(GObject.GEnum):
    DOWN = 3
    LEFT = 0
    RIGHT = 1
    UP = 2

class PathPriorityType(GObject.GEnum):
    APPLICATION = 8
    GTK = 4
    HIGHEST = 15
    LOWEST = 0
    RC = 12
    THEME = 10

class PathType(GObject.GEnum):
    CLASS = 2
    WIDGET = 0
    WIDGET_CLASS = 1

class PolicyType(GObject.GEnum):
    ALWAYS = 0
    AUTOMATIC = 1
    EXTERNAL = 3
    NEVER = 2

class PopoverConstraint(GObject.GEnum):
    NONE = 0
    WINDOW = 1

class PositionType(GObject.GEnum):
    BOTTOM = 3
    LEFT = 0
    RIGHT = 1
    TOP = 2

class PrintDuplex(GObject.GEnum):
    HORIZONTAL = 1
    SIMPLEX = 0
    VERTICAL = 2

class PrintError(GObject.GEnum):
    GENERAL = 0
    INTERNAL_ERROR = 1
    INVALID_FILE = 3
    NOMEM = 2
    @staticmethod
    def quark() -> int: ...

class PrintOperationAction(GObject.GEnum):
    EXPORT = 3
    PREVIEW = 2
    PRINT = 1
    PRINT_DIALOG = 0

class PrintOperationResult(GObject.GEnum):
    APPLY = 1
    CANCEL = 2
    ERROR = 0
    IN_PROGRESS = 3

class PrintPages(GObject.GEnum):
    ALL = 0
    CURRENT = 1
    RANGES = 2
    SELECTION = 3

class PrintQuality(GObject.GEnum):
    DRAFT = 3
    HIGH = 2
    LOW = 0
    NORMAL = 1

class PrintStatus(GObject.GEnum):
    FINISHED = 7
    FINISHED_ABORTED = 8
    GENERATING_DATA = 2
    INITIAL = 0
    PENDING = 4
    PENDING_ISSUE = 5
    PREPARING = 1
    PRINTING = 6
    SENDING_DATA = 3

class PropagationPhase(GObject.GEnum):
    BUBBLE = 2
    CAPTURE = 1
    NONE = 0
    TARGET = 3

class RcTokenType(GObject.GEnum):
    ACTIVE = 273
    APPLICATION = 296
    BASE = 280
    BG = 278
    BG_PIXMAP = 286
    BIND = 290
    BINDING = 289
    CLASS = 293
    COLOR = 307
    ENGINE = 300
    FG = 277
    FONT = 283
    FONTSET = 284
    FONT_NAME = 285
    GTK = 295
    HIGHEST = 299
    IM_MODULE_FILE = 303
    IM_MODULE_PATH = 302
    INCLUDE = 271
    INSENSITIVE = 276
    INVALID = 270
    LAST = 309
    LOWEST = 294
    LTR = 305
    MODULE_PATH = 301
    NORMAL = 272
    PIXMAP_PATH = 287
    PRELIGHT = 274
    RC = 298
    RTL = 306
    SELECTED = 275
    STOCK = 304
    STYLE = 288
    TEXT = 279
    THEME = 297
    UNBIND = 308
    WIDGET = 291
    WIDGET_CLASS = 292
    XTHICKNESS = 281
    YTHICKNESS = 282

class RecentChooserError(GObject.GEnum):
    INVALID_URI = 1
    NOT_FOUND = 0
    @staticmethod
    def quark() -> int: ...

class RecentManagerError(GObject.GEnum):
    INVALID_ENCODING = 2
    INVALID_URI = 1
    NOT_FOUND = 0
    NOT_REGISTERED = 3
    READ = 4
    UNKNOWN = 6
    WRITE = 5
    @staticmethod
    def quark() -> int: ...

class RecentSortType(GObject.GEnum):
    CUSTOM = 3
    LRU = 2
    MRU = 1
    NONE = 0

class ReliefStyle(GObject.GEnum):
    HALF = 1
    NONE = 2
    NORMAL = 0

class ResizeMode(GObject.GEnum):
    IMMEDIATE = 2
    PARENT = 0
    QUEUE = 1

class ResponseType(GObject.GEnum):
    ACCEPT = -3
    APPLY = -10
    CANCEL = -6
    CLOSE = -7
    DELETE_EVENT = -4
    HELP = -11
    NO = -9
    NONE = -1
    OK = -5
    REJECT = -2
    YES = -8

class RevealerTransitionType(GObject.GEnum):
    CROSSFADE = 1
    NONE = 0
    SLIDE_DOWN = 5
    SLIDE_LEFT = 3
    SLIDE_RIGHT = 2
    SLIDE_UP = 4

class ScrollStep(GObject.GEnum):
    ENDS = 2
    HORIZONTAL_ENDS = 5
    HORIZONTAL_PAGES = 4
    HORIZONTAL_STEPS = 3
    PAGES = 1
    STEPS = 0

class ScrollType(GObject.GEnum):
    END = 15
    JUMP = 1
    NONE = 0
    PAGE_BACKWARD = 4
    PAGE_DOWN = 9
    PAGE_FORWARD = 5
    PAGE_LEFT = 12
    PAGE_RIGHT = 13
    PAGE_UP = 8
    START = 14
    STEP_BACKWARD = 2
    STEP_DOWN = 7
    STEP_FORWARD = 3
    STEP_LEFT = 10
    STEP_RIGHT = 11
    STEP_UP = 6

class ScrollablePolicy(GObject.GEnum):
    MINIMUM = 0
    NATURAL = 1

class SelectionMode(GObject.GEnum):
    BROWSE = 2
    MULTIPLE = 3
    NONE = 0
    SINGLE = 1

class SensitivityType(GObject.GEnum):
    AUTO = 0
    OFF = 2
    ON = 1

class ShadowType(GObject.GEnum):
    ETCHED_IN = 3
    ETCHED_OUT = 4
    IN = 1
    NONE = 0
    OUT = 2

class ShortcutType(GObject.GEnum):
    ACCELERATOR = 0
    GESTURE = 7
    GESTURE_PINCH = 1
    GESTURE_ROTATE_CLOCKWISE = 3
    GESTURE_ROTATE_COUNTERCLOCKWISE = 4
    GESTURE_STRETCH = 2
    GESTURE_TWO_FINGER_SWIPE_LEFT = 5
    GESTURE_TWO_FINGER_SWIPE_RIGHT = 6

class SizeGroupMode(GObject.GEnum):
    BOTH = 3
    HORIZONTAL = 1
    NONE = 0
    VERTICAL = 2

class SizeRequestMode(GObject.GEnum):
    CONSTANT_SIZE = 2
    HEIGHT_FOR_WIDTH = 0
    WIDTH_FOR_HEIGHT = 1

class SortType(GObject.GEnum):
    ASCENDING = 0
    DESCENDING = 1

class SpinButtonUpdatePolicy(GObject.GEnum):
    ALWAYS = 0
    IF_VALID = 1

class SpinType(GObject.GEnum):
    END = 5
    HOME = 4
    PAGE_BACKWARD = 3
    PAGE_FORWARD = 2
    STEP_BACKWARD = 1
    STEP_FORWARD = 0
    USER_DEFINED = 6

class StackTransitionType(GObject.GEnum):
    CROSSFADE = 1
    NONE = 0
    OVER_DOWN = 9
    OVER_DOWN_UP = 17
    OVER_LEFT = 10
    OVER_LEFT_RIGHT = 18
    OVER_RIGHT = 11
    OVER_RIGHT_LEFT = 19
    OVER_UP = 8
    OVER_UP_DOWN = 16
    SLIDE_DOWN = 5
    SLIDE_LEFT = 3
    SLIDE_LEFT_RIGHT = 6
    SLIDE_RIGHT = 2
    SLIDE_UP = 4
    SLIDE_UP_DOWN = 7
    UNDER_DOWN = 13
    UNDER_LEFT = 14
    UNDER_RIGHT = 15
    UNDER_UP = 12

class StateType(GObject.GEnum):
    ACTIVE = 1
    FOCUSED = 6
    INCONSISTENT = 5
    INSENSITIVE = 4
    NORMAL = 0
    PRELIGHT = 2
    SELECTED = 3

class TextBufferTargetInfo(GObject.GEnum):
    BUFFER_CONTENTS = -1
    RICH_TEXT = -2
    TEXT = -3

class TextDirection(GObject.GEnum):
    LTR = 1
    NONE = 0
    RTL = 2

class TextExtendSelection(GObject.GEnum):
    LINE = 1
    WORD = 0

class TextViewLayer(GObject.GEnum):
    ABOVE = 1
    ABOVE_TEXT = 3
    BELOW = 0
    BELOW_TEXT = 2

class TextWindowType(GObject.GEnum):
    BOTTOM = 6
    LEFT = 3
    PRIVATE = 0
    RIGHT = 4
    TEXT = 2
    TOP = 5
    WIDGET = 1

class ToolbarSpaceStyle(GObject.GEnum):
    EMPTY = 0
    LINE = 1

class ToolbarStyle(GObject.GEnum):
    BOTH = 2
    BOTH_HORIZ = 3
    ICONS = 0
    TEXT = 1

class TreeViewColumnSizing(GObject.GEnum):
    AUTOSIZE = 1
    FIXED = 2
    GROW_ONLY = 0

class TreeViewDropPosition(GObject.GEnum):
    AFTER = 1
    BEFORE = 0
    INTO_OR_AFTER = 3
    INTO_OR_BEFORE = 2

class TreeViewGridLines(GObject.GEnum):
    BOTH = 3
    HORIZONTAL = 1
    NONE = 0
    VERTICAL = 2

class Unit(GObject.GEnum):
    INCH = 2
    MM = 3
    NONE = 0
    POINTS = 1

class WidgetHelpType(GObject.GEnum):
    TOOLTIP = 0
    WHATS_THIS = 1

class WindowPosition(GObject.GEnum):
    CENTER = 1
    CENTER_ALWAYS = 3
    CENTER_ON_PARENT = 4
    MOUSE = 2
    NONE = 0

class WindowType(GObject.GEnum):
    POPUP = 1
    TOPLEVEL = 0

class WrapMode(GObject.GEnum):
    CHAR = 1
    NONE = 0
    WORD = 2
    WORD_CHAR = 3
