Class ShortcutTrigger

All Implemented Interfaces:
PointerInterface
Direct Known Subclasses:
AlternativeTrigger, KeyvalTrigger, MnemonicTrigger, NeverTrigger

public class ShortcutTrigger extends Object
`GtkShortcutTrigger` tracks how a `GtkShortcut` should be activated.

To find out if a `GtkShortcutTrigger` triggers, you can call
[method@Gtk.ShortcutTrigger.trigger] on a `GdkEvent`.

`GtkShortcutTriggers` contain functions that allow easy presentation
to end users as well as being printed for debugging.

All `GtkShortcutTriggers` are immutable, you can only specify their
properties during construction. If you want to change a trigger, you
have to replace it with a new one.

https://docs.gtk.org/gtk4/class.ShortcutTrigger.html

  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • parseStringShortcutTrigger

      public static ShortcutTrigger parseStringShortcutTrigger(@Nonnull Str string)
      Tries to parse the given string into a trigger.

      On success, the parsed trigger is returned.
      When parsing failed, %NULL is returned.

      The accepted strings are:

      - `never`, for `GtkNeverTrigger`
      - a string parsed by gtk_accelerator_parse(), for a `GtkKeyvalTrigger`, e.g. `<Control>C`
      - underscore, followed by a single character, for `GtkMnemonicTrigger`, e.g. `_l`
      - two valid trigger strings, separated by a `|` character, for a
      `GtkAlternativeTrigger`: `<Control>q|<Control>w`

      Note that you will have to escape the `<` and `>` characters when specifying
      triggers in XML files, such as GtkBuilder ui files. Use `&lt;` instead of
      `<` and `&gt;` instead of `>`.
      Parameters:
      string - the string to parse
      Returns:
      a new `GtkShortcutTrigger`
    • parseStringShortcutTrigger

      public static ShortcutTrigger parseStringShortcutTrigger(String string)
      Tries to parse the given string into a trigger.

      On success, the parsed trigger is returned.
      When parsing failed, %NULL is returned.

      The accepted strings are:

      - `never`, for `GtkNeverTrigger`
      - a string parsed by gtk_accelerator_parse(), for a `GtkKeyvalTrigger`, e.g. `<Control>C`
      - underscore, followed by a single character, for `GtkMnemonicTrigger`, e.g. `_l`
      - two valid trigger strings, separated by a `|` character, for a
      `GtkAlternativeTrigger`: `<Control>q|<Control>w`

      Note that you will have to escape the `<` and `>` characters when specifying
      triggers in XML files, such as GtkBuilder ui files. Use `&lt;` instead of
      `<` and `&gt;` instead of `>`.
      Parameters:
      string - the string to parse
      Returns:
      a new `GtkShortcutTrigger`
    • compare

      public int compare(@Nonnull Pointer trigger2)
      The types of @trigger1 and @trigger2 are `gconstpointer` only to allow
      use of this function as a `GCompareFunc`.

      They must each be a `GtkShortcutTrigger`.
      Parameters:
      trigger2 - a `GtkShortcutTrigger`
      Returns:
      An integer less than, equal to, or greater than zero if @trigger1 is found, respectively, to be less than, to match, or be greater than @trigger2.
    • equal

      public boolean equal(@Nonnull Pointer trigger2)
      Checks if @trigger1 and @trigger2 trigger under the same conditions.

      The types of @one and @two are `gconstpointer` only to allow use of this
      function with `GHashTable`. They must each be a `GtkShortcutTrigger`.
      Parameters:
      trigger2 - a `GtkShortcutTrigger`
      Returns:
      %TRUE if @trigger1 and @trigger2 are equal
    • hash

      public int hash()
      Generates a hash value for a `GtkShortcutTrigger`.

      The output of this function is guaranteed to be the same for a given
      value only per-process. It may change between different processor
      architectures or even different versions of GTK. Do not use this
      function as a basis for building protocols or file formats.

      The types of @trigger is `gconstpointer` only to allow use of this
      function with `GHashTable`. They must each be a `GtkShortcutTrigger`.
      Returns:
      a hash value corresponding to @trigger
    • print

      public void print(@Nonnull GString string)
      Prints the given trigger into a string for the developer.
      This is meant for debugging and logging.

      The form of the representation may change at any time
      and is not guaranteed to stay identical.
      Parameters:
      string - a `GString` to print into
    • printLabel

      public boolean printLabel(@Nonnull Display display, @Nonnull GString string)
      Prints the given trigger into a string.

      This function is returning a translated string for presentation
      to end users for example in menu items or in help texts.

      The @display in use may influence the resulting string in
      various forms, such as resolving hardware keycodes or by
      causing display-specific modifier names.

      The form of the representation may change at any time and is
      not guaranteed to stay identical.
      Parameters:
      display - `GdkDisplay` to print for
      string - a `GString` to print into
      Returns:
      %TRUE if something was printed or %FALSE if the trigger did not have a textual representation suitable for end users.
    • toLabel

      public Str toLabel(@Nonnull Display display)
      Gets textual representation for the given trigger.

      This function is returning a translated string for
      presentation to end users for example in menu items
      or in help texts.

      The @display in use may influence the resulting string in
      various forms, such as resolving hardware keycodes or by
      causing display-specific modifier names.

      The form of the representation may change at any time and is
      not guaranteed to stay identical.
      Parameters:
      display - `GdkDisplay` to print for
      Returns:
      a new string
    • toStr

      public Str toStr()
      Prints the given trigger into a human-readable string.

      This is a small wrapper around [method@Gtk.ShortcutTrigger.print]
      to help when debugging.
      Returns:
      a new string
    • trigger

      public int trigger(@Nonnull Event event, boolean enable_mnemonics)
      Checks if the given @event triggers @self.
      Parameters:
      event - the event to check
      enable_mnemonics - %TRUE if mnemonics should trigger. Usually the value of this property is determined by checking that the passed in @event is a Key event and has the right modifiers set.
      Returns:
      Whether the event triggered the shortcut
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()