// Generated by gmmproc 2.54.0 -- DO NOT MODIFY!
#ifndef _GTKMM_SHORTCUTSSHORTCUT_H
#define _GTKMM_SHORTCUTSSHORTCUT_H
#include <glibmm/ustring.h>
#include <sigc++/sigc++.h>
/* Copyright (C) 2016 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 <http://www.gnu.org/licenses/>.
*/
#include <gtkmm/box.h>
#include <gtkmm/enums.h>
#include <giomm/icon.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
using GtkShortcutsShortcut = struct _GtkShortcutsShortcut;
using GtkShortcutsShortcutClass = struct _GtkShortcutsShortcutClass;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace Gtk
{ class ShortcutsShortcut_Class; } // namespace Gtk
#endif //DOXYGEN_SHOULD_SKIP_THIS
namespace Gtk
{
/** @addtogroup gtkmmEnums gtkmm Enums and Flags */
/**
* @var ShortcutType SHORTCUT_ACCELERATOR
* The shortcut is a keyboard accelerator. The Gtk::ShortcutsShortcut::property_accelerator()
* property will be used.
*
* @var ShortcutType SHORTCUT_GESTURE_PINCH
* The shortcut is a pinch gesture. GTK+ provides and icon and subtitle.
*
* @var ShortcutType SHORTCUT_GESTURE_STRETCH
* The shortcut is a stretch gesture. GTK+ provides and icon and subtitle.
*
* @var ShortcutType SHORTCUT_GESTURE_ROTATE_CLOCKWISE
* The shortcut is a clockwise rotation gesture. GTK+ provides and icon and subtitle.
*
* @var ShortcutType SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE
* The shortcut is a counterclockwise rotation gesture. GTK+ provides and icon and subtitle.
*
* @var ShortcutType SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT
* The shortcut is a two-finger swipe gesture. GTK+ provides and icon and subtitle.
*
* @var ShortcutType SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT
* The shortcut is a two-finger swipe gesture. GTK+ provides and icon and subtitle.
*
* @var ShortcutType SHORTCUT_GESTURE
* The shortcut is a gesture. The Gtk::ShortcutsShortcut::property_icon() property will be
* used.
*
* @enum ShortcutType
*
* GtkShortcutType specifies the kind of shortcut that is being described.
* More values may be added to this enumeration over time.
*
* @newin{3,20}
*
* @ingroup gtkmmEnums
*/
enum ShortcutType
{
SHORTCUT_ACCELERATOR,
SHORTCUT_GESTURE_PINCH,
SHORTCUT_GESTURE_STRETCH,
SHORTCUT_GESTURE_ROTATE_CLOCKWISE,
SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE,
SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT,
SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT,
SHORTCUT_GESTURE
};
} // namespace Gtk
#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace Glib
{
template <>
class Value<Gtk::ShortcutType> : public Glib::Value_Enum<Gtk::ShortcutType>
{
public:
static GType value_type() G_GNUC_CONST;
};
} // namespace Glib
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
namespace Gtk
{
/** Represents a keyboard shortcut in a ShortcutsWindow.
*
* A ShortcutsShortcut represents a single keyboard shortcut or gesture
* with a short text. This widget is only meant to be used with ShortcutsWindow.
*
* @newin{3,20}
*
* @ingroup Widgets
*/
class ShortcutsShortcut : public Box
{
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
typedef ShortcutsShortcut CppObjectType;
typedef ShortcutsShortcut_Class CppClassType;
typedef GtkShortcutsShortcut BaseObjectType;
typedef GtkShortcutsShortcutClass BaseClassType;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
ShortcutsShortcut(ShortcutsShortcut&& src) noexcept;
ShortcutsShortcut& operator=(ShortcutsShortcut&& src) noexcept;
// noncopyable
ShortcutsShortcut(const ShortcutsShortcut&) = delete;
ShortcutsShortcut& operator=(const ShortcutsShortcut&) = delete;
~ShortcutsShortcut() noexcept override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
friend class ShortcutsShortcut_Class;
static CppClassType shortcutsshortcut_class_;
protected:
explicit ShortcutsShortcut(const Glib::ConstructParams& construct_params);
explicit ShortcutsShortcut(GtkShortcutsShortcut* castitem);
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
/** 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 GtkObject.
GtkShortcutsShortcut* gobj() { return reinterpret_cast<GtkShortcutsShortcut*>(gobject_); }
///Provides access to the underlying C GtkObject.
const GtkShortcutsShortcut* gobj() const { return reinterpret_cast<GtkShortcutsShortcut*>(gobject_); }
public:
//C++ methods used to invoke GTK+ virtual functions:
protected:
//GTK+ Virtual Functions (override these to change behaviour):
//Default Signal Handlers::
private:
public:
ShortcutsShortcut();
/** The accelerator(s) represented by this object. This property is used
* if Gtk::ShortcutsShortcut::property_shortcut_type() is set to Gtk::SHORTCUT_ACCELERATOR.
*
* The syntax of this property is (an extension of) the syntax understood by
* gtk_accelerator_parse(). Multiple accelerators can be specified by separating
* them with a space, but keep in mind that the available width is limited.
* It is also possible to specify ranges of shortcuts, using ... between the keys.
* Sequences of keys can be specified using a + or & between the keys.
*
* Examples:
* - A single shortcut: <ctl><alt>delete
* - Two alternative shortcuts: <shift>a Home
* - A range of shortcuts: <alt>1...<alt>9
* - Several keys pressed together: Control_L&Control_R
* - A sequence of shortcuts or keys: <ctl>c+<ctl>x
*
* Use + instead of & when the keys may (or have to be) pressed sequentially (e.g
* use t+t for 'press the t key twice').
*
* Note that <, > and & need to be escaped as <, > and & when used
* in .ui files.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< Glib::ustring > property_accelerator() ;
/** The accelerator(s) represented by this object. This property is used
* if Gtk::ShortcutsShortcut::property_shortcut_type() is set to Gtk::SHORTCUT_ACCELERATOR.
*
* The syntax of this property is (an extension of) the syntax understood by
* gtk_accelerator_parse(). Multiple accelerators can be specified by separating
* them with a space, but keep in mind that the available width is limited.
* It is also possible to specify ranges of shortcuts, using ... between the keys.
* Sequences of keys can be specified using a + or & between the keys.
*
* Examples:
* - A single shortcut: <ctl><alt>delete
* - Two alternative shortcuts: <shift>a Home
* - A range of shortcuts: <alt>1...<alt>9
* - Several keys pressed together: Control_L&Control_R
* - A sequence of shortcuts or keys: <ctl>c+<ctl>x
*
* Use + instead of & when the keys may (or have to be) pressed sequentially (e.g
* use t+t for 'press the t key twice').
*
* Note that <, > and & need to be escaped as <, > and & when used
* in .ui files.
*
* @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::ustring > property_accelerator() const;
/** An icon to represent the shortcut or gesture. This property is used if
* Gtk::ShortcutsShortcut::property_shortcut_type() is set to Gtk::SHORTCUT_GESTURE.
* For the other predefined gesture types, GTK+ provides an icon on its own.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< Glib::RefPtr<Gio::Icon> > property_icon() ;
/** An icon to represent the shortcut or gesture. This property is used if
* Gtk::ShortcutsShortcut::property_shortcut_type() is set to Gtk::SHORTCUT_GESTURE.
* For the other predefined gesture types, GTK+ provides an icon on its own.
*
* @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<Gio::Icon> > property_icon() const;
/** <tt>true</tt> if an icon has been set.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< bool > property_icon_set() ;
/** <tt>true</tt> if an icon has been set.
*
* @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< bool > property_icon_set() const;
/** The textual description for the shortcut or gesture represented by
* this object. This should be a short string that can fit in a single line.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< Glib::ustring > property_title() ;
/** The textual description for the shortcut or gesture represented by
* this object. This should be a short string that can fit in a single line.
*
* @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::ustring > property_title() const;
/** The subtitle for the shortcut or gesture.
*
* This is typically used for gestures and should be a short, one-line
* text that describes the gesture itself. For the predefined gesture
* types, GTK+ provides a subtitle on its own.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< Glib::ustring > property_subtitle() ;
/** The subtitle for the shortcut or gesture.
*
* This is typically used for gestures and should be a short, one-line
* text that describes the gesture itself. For the predefined gesture
* types, GTK+ provides a subtitle on its own.
*
* @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::ustring > property_subtitle() const;
/** <tt>true</tt> if a subtitle has been set.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< bool > property_subtitle_set() ;
/** <tt>true</tt> if a subtitle has been set.
*
* @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< bool > property_subtitle_set() const;
/** The text direction for which this shortcut is active. If the shortcut
* is used regardless of the text direction, set this property to
* Gtk::TEXT_DIR_NONE.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< TextDirection > property_direction() ;
/** The text direction for which this shortcut is active. If the shortcut
* is used regardless of the text direction, set this property to
* Gtk::TEXT_DIR_NONE.
*
* @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< TextDirection > property_direction() const;
/** The type of shortcut that is represented.
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< ShortcutType > property_shortcut_type() ;
/** The type of shortcut that is represented.
*
* @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< ShortcutType > property_shortcut_type() const;
/** A detailed action name. If this is set for a shortcut
* of type Gtk::SHORTCUT_ACCELERATOR, then GTK+ will use
* the accelerators that are associated with the action
* via Gtk::Application::set_accels_for_action(), and setting
* Gtk::ShortcutsShortcut::signal_accelerator() is not necessary.
*
* @newin{3,22}
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< Glib::ustring > property_action_name() ;
/** A detailed action name. If this is set for a shortcut
* of type Gtk::SHORTCUT_ACCELERATOR, then GTK+ will use
* the accelerators that are associated with the action
* via Gtk::Application::set_accels_for_action(), and setting
* Gtk::ShortcutsShortcut::signal_accelerator() is not necessary.
*
* @newin{3,22}
*
* @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::ustring > property_action_name() const;
};
} // 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::ShortcutsShortcut
*/
Gtk::ShortcutsShortcut* wrap(GtkShortcutsShortcut* object, bool take_copy = false);
} //namespace Glib
#endif /* _GTKMM_SHORTCUTSSHORTCUT_H */