### Interface

# GtkShortcutManager

#### Description [src]

    interface Gtk.ShortcutManager : GObject.Object

The `GtkShortcutManager` interface is used to implement shortcut scopes.

This is important for `GtkNative` widgets that have their own surface, since the event controllers that are used to implement managed and global scopes are limited to the same native.

Examples for widgets implementing `GtkShortcutManager` are `GtkWindow` and `GtkPopover`.

Every widget that implements `GtkShortcutManager` will be used as a `GTK_SHORTCUT_SCOPE_MANAGED`.

#### Prerequisite

In order to implement ShortcutManager, your type must inherit from`GObject`.

#### Implementations

- GtkAboutDialog
- GtkAppChooserDialog
- GtkApplicationWindow
- GtkAssistant
- GtkColorChooserDialog
- GtkDialog
- GtkEmojiChooser
- GtkFileChooserDialog
- GtkFontChooserDialog
- GtkMessageDialog
- GtkPageSetupUnixDialog
- GtkPopover
- GtkPopoverMenu
- GtkPrintUnixDialog
- GtkShortcutsWindow
- GtkWindow

#### Interface structure

    struct GtkShortcutManagerInterface {
      void (* add_controller) (
        GtkShortcutManager* self,
        GtkShortcutController* controller
      );
      void (* remove_controller) (
        GtkShortcutManager* self,
        GtkShortcutController* controller
      );

    }

The list of functions that can be implemented for the `GtkShortcutManager` interface.

Note that no function is mandatory to implement, the default implementation will work fine.

###### Interface members

`add_controller`

    void (* add_controller) (
        GtkShortcutManager* self,
        GtkShortcutController* controller
      )

| Add a `GtkShortcutController` to be managed.

`remove_controller`

    void (* remove_controller) (
        GtkShortcutManager* self,
        GtkShortcutController* controller
      )

| Remove a `GtkShortcutController` that had previously been added.

#### Virtual methods

###### Gtk.ShortcutManager.add_controller

Add a `GtkShortcutController` to be managed.

###### Gtk.ShortcutManager.remove_controller

Remove a `GtkShortcutController` that had previously been added.