// Generated by gmmproc 2.82.0 -- DO NOT MODIFY! #ifndef _GTKMM_SHORTCUTTRIGGER_H #define _GTKMM_SHORTCUTTRIGGER_H #include #include #include /* Copyright (C) 2020 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . */ #include #include #include #include #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkShortcutTrigger = struct _GtkShortcutTrigger; using GtkShortcutTriggerClass = struct _GtkShortcutTriggerClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API ShortcutTrigger_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkNeverTrigger = struct _GtkNeverTrigger; using GtkNeverTriggerClass = struct _GtkNeverTriggerClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API NeverTrigger_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkKeyvalTrigger = struct _GtkKeyvalTrigger; using GtkKeyvalTriggerClass = struct _GtkKeyvalTriggerClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API KeyvalTrigger_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkMnemonicTrigger = struct _GtkMnemonicTrigger; using GtkMnemonicTriggerClass = struct _GtkMnemonicTriggerClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API MnemonicTrigger_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkAlternativeTrigger = struct _GtkAlternativeTrigger; using GtkAlternativeTriggerClass = struct _GtkAlternativeTriggerClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API AlternativeTrigger_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { /** Triggers to track if shortcuts should be activated. * * %Gtk::ShortcutTrigger is the object used to track if a Gtk::Shortcut should be * activated. For this purpose, trigger() can be called on a Gdk::Event. * * ShortcutTriggers contain methods that allow easy presentation to end * users as well as being printed for debugging. * * All ShortcutTriggers 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. * * @see Gtk::Shortcut * @ingroup Gestures * @newin{3,98} */ class GTKMM_API ShortcutTrigger : public Glib::Object { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = ShortcutTrigger; using CppClassType = ShortcutTrigger_Class; using BaseObjectType = GtkShortcutTrigger; using BaseClassType = GtkShortcutTriggerClass; // noncopyable ShortcutTrigger(const ShortcutTrigger&) = delete; ShortcutTrigger& operator=(const ShortcutTrigger&) = delete; private: friend class ShortcutTrigger_Class; static CppClassType shortcuttrigger_class_; protected: explicit ShortcutTrigger(const Glib::ConstructParams& construct_params); explicit ShortcutTrigger(GtkShortcutTrigger* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: ShortcutTrigger(ShortcutTrigger&& src) noexcept; ShortcutTrigger& operator=(ShortcutTrigger&& src) noexcept; ~ShortcutTrigger() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GtkShortcutTrigger* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GtkShortcutTrigger* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GtkShortcutTrigger* gobj_copy(); private: protected: ShortcutTrigger(); public: /** Tries to parse the given string into a trigger. * * On success, the parsed trigger is returned. * When parsing failed, nullptr is returned. * * The accepted strings are: * * - `never`, for `Gtk::NeverTrigger` * - a string parsed by gtk_accelerator_parse(), for a `Gtk::KeyvalTrigger`, e.g. `C` * - underscore, followed by a single character, for `Gtk::MnemonicTrigger`, e.g. `_l` * - two valid trigger strings, separated by a `|` character, for a * `Gtk::AlternativeTrigger`: `q|w` * * Note that you will have to escape the `<` and `>` characters when specifying * triggers in XML files, such as GtkBuilder ui files. Use `<` instead of * `<` and `>` instead of `>`. * * @param string The string to parse. * @return A new `Gtk::ShortcutTrigger`. */ static Glib::RefPtr parse_string(const Glib::ustring& string); /** Prints the given trigger into a human-readable string. * * This is meant for debugging and logging. * The form of the representation may change at any time and is * not guaranteed to stay identical. * * @return A new string. */ Glib::ustring to_string() const; /** 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 @a 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. * * @param display `Gdk::Display` to print for. * @return A new string. */ Glib::ustring to_label(const Glib::RefPtr& display) const; // Is this useful? _WRAP_METHOD(guint hash() const, gtk_shortcut_trigger_hash) /** Checks if @a trigger1 and @a trigger2 trigger under the same conditions. * * The types of @a one and @a two are `gconstpointer` only to allow use of this * function with `HashTable`. They must each be a `Gtk::ShortcutTrigger`. * * @param trigger2 A `Gtk::ShortcutTrigger`. * @return true if @a trigger1 and @a trigger2 are equal. */ bool equal(const Glib::RefPtr& trigger2) const; /** The types of @a trigger1 and @a trigger2 are `gconstpointer` only to allow * use of this function as a `CompareFunc`. * * They must each be a `Gtk::ShortcutTrigger`. * * @param trigger2 A `Gtk::ShortcutTrigger`. * @return An integer less than, equal to, or greater than zero if * @a trigger1 is found, respectively, to be less than, to match, * or be greater than @a trigger2. */ int compare(const Glib::RefPtr& trigger2) const; /** Checks if the given @a event triggers @a self. * * @param event The event to check. * @param enable_mnemonics true if mnemonics should trigger. Usually the * value of this property is determined by checking that the passed * in @a event is a Key event and has the right modifiers set. * @return Whether the event triggered the shortcut. */ Gdk::KeyMatch trigger(const Glib::RefPtr& event, bool enable_mnemonics) const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; /** A Gtk::ShortcutTrigger that never triggers. */ class GTKMM_API NeverTrigger : public ShortcutTrigger { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = NeverTrigger; using CppClassType = NeverTrigger_Class; using BaseObjectType = GtkNeverTrigger; using BaseClassType = GtkNeverTriggerClass; // noncopyable NeverTrigger(const NeverTrigger&) = delete; NeverTrigger& operator=(const NeverTrigger&) = delete; private: friend class NeverTrigger_Class; static CppClassType nevertrigger_class_; protected: explicit NeverTrigger(const Glib::ConstructParams& construct_params); explicit NeverTrigger(GtkNeverTrigger* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: NeverTrigger(NeverTrigger&& src) noexcept; NeverTrigger& operator=(NeverTrigger&& src) noexcept; ~NeverTrigger() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GtkNeverTrigger* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GtkNeverTrigger* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GtkNeverTrigger* gobj_copy(); private: protected: NeverTrigger(); public: /** Gets the never trigger. * * This is a singleton for a trigger that never triggers. * Use this trigger instead of nullptr because it implements * all virtual functions. * * @return The never trigger. */ static Glib::RefPtr get(); public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; /** A Gtk::ShortcutTrigger that triggers when a specific keyval * and (optionally) modifiers are pressed. * * Key values are the codes which are sent whenever a key is pressed or released. * The complete list of key values can be found in the * gdk/gdkkeysyms.h * header file. They are prefixed with GDK_KEY_. */ class GTKMM_API KeyvalTrigger : public ShortcutTrigger { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = KeyvalTrigger; using CppClassType = KeyvalTrigger_Class; using BaseObjectType = GtkKeyvalTrigger; using BaseClassType = GtkKeyvalTriggerClass; // noncopyable KeyvalTrigger(const KeyvalTrigger&) = delete; KeyvalTrigger& operator=(const KeyvalTrigger&) = delete; private: friend class KeyvalTrigger_Class; static CppClassType keyvaltrigger_class_; protected: explicit KeyvalTrigger(const Glib::ConstructParams& construct_params); explicit KeyvalTrigger(GtkKeyvalTrigger* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: KeyvalTrigger(KeyvalTrigger&& src) noexcept; KeyvalTrigger& operator=(KeyvalTrigger&& src) noexcept; ~KeyvalTrigger() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GtkKeyvalTrigger* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GtkKeyvalTrigger* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GtkKeyvalTrigger* gobj_copy(); private: protected: explicit KeyvalTrigger(guint keyval, Gdk::ModifierType modifiers); public: static Glib::RefPtr create(guint keyval, Gdk::ModifierType modifiers = static_cast(0)); /** Gets the keyval that must be pressed to succeed * triggering @a self. * * @return The keyval. */ guint get_keyval() const; /** Gets the modifiers that must be present to succeed * triggering @a self. * * @return The modifiers. */ Gdk::ModifierType get_modifiers() const; /** The key value for the trigger. * * Default value: 0 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< guint > property_keyval() const; /** The key modifiers for the trigger. * * Default value: Gdk::ModifierType::NO_MODIFIER_MASK * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Gdk::ModifierType > property_modifiers() const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; /** A Gtk::ShortcutTrigger that triggers when a specific mnemonic is pressed. * * Key values are the codes which are sent whenever a key is pressed or released. * The complete list of key values can be found in the * gdk/gdkkeysyms.h * header file. They are prefixed with GDK_KEY_. */ class GTKMM_API MnemonicTrigger : public ShortcutTrigger { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = MnemonicTrigger; using CppClassType = MnemonicTrigger_Class; using BaseObjectType = GtkMnemonicTrigger; using BaseClassType = GtkMnemonicTriggerClass; // noncopyable MnemonicTrigger(const MnemonicTrigger&) = delete; MnemonicTrigger& operator=(const MnemonicTrigger&) = delete; private: friend class MnemonicTrigger_Class; static CppClassType mnemonictrigger_class_; protected: explicit MnemonicTrigger(const Glib::ConstructParams& construct_params); explicit MnemonicTrigger(GtkMnemonicTrigger* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: MnemonicTrigger(MnemonicTrigger&& src) noexcept; MnemonicTrigger& operator=(MnemonicTrigger&& src) noexcept; ~MnemonicTrigger() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GtkMnemonicTrigger* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GtkMnemonicTrigger* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GtkMnemonicTrigger* gobj_copy(); private: protected: explicit MnemonicTrigger(guint keyval); public: static Glib::RefPtr create(guint keyval); /** Gets the keyval that must be pressed to succeed triggering @a self. * * @return The keyval. */ guint get_keyval() const; /** The key value for the trigger. * * Default value: 0 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< guint > property_keyval() const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; /** A Gtk::ShortcutTrigger that triggers when either of two ShortcutTriggers trigger. */ class GTKMM_API AlternativeTrigger : public ShortcutTrigger { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = AlternativeTrigger; using CppClassType = AlternativeTrigger_Class; using BaseObjectType = GtkAlternativeTrigger; using BaseClassType = GtkAlternativeTriggerClass; // noncopyable AlternativeTrigger(const AlternativeTrigger&) = delete; AlternativeTrigger& operator=(const AlternativeTrigger&) = delete; private: friend class AlternativeTrigger_Class; static CppClassType alternativetrigger_class_; protected: explicit AlternativeTrigger(const Glib::ConstructParams& construct_params); explicit AlternativeTrigger(GtkAlternativeTrigger* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: AlternativeTrigger(AlternativeTrigger&& src) noexcept; AlternativeTrigger& operator=(AlternativeTrigger&& src) noexcept; ~AlternativeTrigger() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GtkAlternativeTrigger* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GtkAlternativeTrigger* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GtkAlternativeTrigger* gobj_copy(); private: protected: explicit AlternativeTrigger(const Glib::RefPtr& first, const Glib::RefPtr& second); public: static Glib::RefPtr create(const Glib::RefPtr& first, const Glib::RefPtr& second); /** Gets the first of the two alternative triggers that may * trigger @a self. * * get_second() will return * the other one. * * @return The first alternative trigger. */ Glib::RefPtr get_first() const; /** Gets the second of the two alternative triggers that may * trigger @a self. * * get_first() will return * the other one. * * @return The second alternative trigger. */ Glib::RefPtr get_second() const; /** The first `Gtk::ShortcutTrigger` to check. * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::RefPtr > property_first() const; /** The second `Gtk::ShortcutTrigger` to check. * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::RefPtr > property_second() const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; } //namespace Gtk namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::ShortcutTrigger */ GTKMM_API Glib::RefPtr wrap(GtkShortcutTrigger* object, bool take_copy = false); } namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::NeverTrigger */ GTKMM_API Glib::RefPtr wrap(GtkNeverTrigger* object, bool take_copy = false); } namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::KeyvalTrigger */ GTKMM_API Glib::RefPtr wrap(GtkKeyvalTrigger* object, bool take_copy = false); } namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::MnemonicTrigger */ GTKMM_API Glib::RefPtr wrap(GtkMnemonicTrigger* object, bool take_copy = false); } namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::AlternativeTrigger */ GTKMM_API Glib::RefPtr wrap(GtkAlternativeTrigger* object, bool take_copy = false); } #endif /* _GTKMM_SHORTCUTTRIGGER_H */