gtkmm: Gtk::Actionable Class Reference

gtkmm 3.24.2

Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::Actionable Class Reference

This interface provides a convenient way of associating widgets with actions on a ApplicationWindow or Application. More...

`#include <gtkmm/actionable.h>`

Inheritance diagram for Gtk::Actionable:
[legend]

## Public Member Functions
| Actionable (Actionable&& src) noexcept
Actionable& | operator= (Actionable&& src) noexcept
| ~Actionable () noexcept override
GtkActionable* | gobj ()
| Provides access to the underlying C GObject. More...
const GtkActionable* | gobj () const
| Provides access to the underlying C GObject. More...
Glib::ustring | get_action_name () const
| Gets the action name for actionable. More...
void | set_action_name (const Glib::ustring& action_name)
| Specifies the name of the action with which this widget should be associated. More...
Glib::VariantBase | get_action_target_value ()
| Gets the current target value of actionable. More...
const Glib::VariantBase | get_action_target_value () const
| Gets the current target value of actionable. More...
void | set_action_target_value (const Glib::VariantBase& target_value)
| Sets the target value of an actionable widget. More...
void | set_detailed_action_name (const Glib::ustring& detailed_action_name)
| Sets the action-name and associated string target value of an actionable widget. More...
Glib::PropertyProxy< Glib::ustring > | property_action_name ()
| The name of the associated action, like 'app.quit'. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_action_name () const
| The name of the associated action, like 'app.quit'. More...
Glib::PropertyProxy< Glib::VariantBase > | property_action_target ()
| The parameter for action invocations. More...
Glib::PropertyProxy_ReadOnly< Glib::VariantBase > | property_action_target () const
| The parameter for action invocations. More...
virtual Glib::ustring | get_action_name_vfunc () const
virtual void | set_action_name_vfunc (const Glib::ustring& action_name)
virtual Glib::VariantBase | get_action_target_value_vfunc () const
virtual void | set_action_target_value_vfunc (const Glib::VariantBase& action_target_value)
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
| ~Interface () noexcept override
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
void | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void > &&slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot< void > &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from sigc::trackable
| trackable () noexcept
| trackable (const trackable &src) noexcept
| trackable (trackable &&src)
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src)
void | remove_destroy_notify_callback (void *data) const

## Static Public Member Functions
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Member Functions
| Actionable ()
| You should derive from this class to use it. More...
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

## Related Functions
(Note that these are not member functions.)
Glib::RefPtr< Gtk::Actionable > | wrap (GtkActionable* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify

## Detailed Description

This interface provides a convenient way of associating widgets with actions on a ApplicationWindow or Application.

It primarily consists of two properties: "action-name" and "action-target". There are also some convenience APIs for setting these properties.

This interface is presently only meaningful if used on a widget that is (or will be) located inside of a ApplicationWindow and can only be used to associate the widget with actions on that window, or its associated Application.

Since gtkmm 3.4:

## Constructor & Destructor Documentation

## ◆ Actionable() [1/2]

Gtk::Actionable::Actionable | ( |  | ) |
| protected

You should derive from this class to use it.

## ◆ Actionable() [2/2]

Gtk::Actionable::Actionable | ( | Actionable&& | src | ) |
| noexcept

## ◆ ~Actionable()

Gtk::Actionable::~Actionable | ( |  | ) |
| overridenoexcept

## Member Function Documentation

## ◆ add_interface()

static void Gtk::Actionable::add_interface | ( | GType | gtype_implementer | ) |
| static

## ◆ get_action_name()

Glib::ustring Gtk::Actionable::get_action_name | ( |  | ) | const

Gets the action name for actionable.

See set_action_name() for more information.

Since gtkmm 3.4:

Returns
  The action name, or `nullptr` if none is set.

## ◆ get_action_name_vfunc()

virtual Glib::ustring Gtk::Actionable::get_action_name_vfunc | ( |  | ) | const
| virtual

## ◆ get_action_target_value() [1/2]

Glib::VariantBase Gtk::Actionable::get_action_target_value | ( |  | ) |

Gets the current target value of actionable.

See set_action_target_value() for more information.

Since gtkmm 3.4:

Returns
  The current target value.

## ◆ get_action_target_value() [2/2]

const Glib::VariantBase Gtk::Actionable::get_action_target_value | ( |  | ) | const

Gets the current target value of actionable.

See set_action_target_value() for more information.

Since gtkmm 3.4:

Returns
  The current target value.

## ◆ get_action_target_value_vfunc()

virtual Glib::VariantBase Gtk::Actionable::get_action_target_value_vfunc | ( |  | ) | const
| virtual

## ◆ get_type()

static GType Gtk::Actionable::get_type | ( |  | ) |
| static

Get the GType for this class, for use with the underlying GObject type system.

## ◆ gobj() [1/2]

GtkActionable* Gtk::Actionable::gobj | ( |  | ) |
| inline

Provides access to the underlying C GObject.

## ◆ gobj() [2/2]

const GtkActionable* Gtk::Actionable::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GObject.

## ◆ operator=()

Actionable& Gtk::Actionable::operator= | ( | Actionable&& | src | ) |
| noexcept

## ◆ property_action_name() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::Actionable::property_action_name | ( |  | ) |

The name of the associated action, like 'app.quit'.

Default value: ""

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## ◆ property_action_name() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::Actionable::property_action_name | ( |  | ) | const

The name of the associated action, like 'app.quit'.

Default value: ""

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ property_action_target() [1/2]

Glib::PropertyProxy< Glib::VariantBase > Gtk::Actionable::property_action_target | ( |  | ) |

The parameter for action invocations.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## ◆ property_action_target() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::VariantBase > Gtk::Actionable::property_action_target | ( |  | ) | const

The parameter for action invocations.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ set_action_name()

void Gtk::Actionable::set_action_name | ( | const Glib::ustring & | action_name | ) |

Specifies the name of the action with which this widget should be associated.

If action_name is `nullptr` then the widget will be unassociated from any previous action.

Usually this function is used when the widget is located (or will be located) within the hierarchy of a Gtk::ApplicationWindow.

Names are of the form “win.save” or “app.quit” for actions on the containing Gtk::ApplicationWindow or its associated Gtk::Application, respectively. This is the same form used for actions in the Gio::Menu associated with the window.

Since gtkmm 3.4:

Parameters

  action_name | An action name, or `nullptr`.

## ◆ set_action_name_vfunc()

virtual void Gtk::Actionable::set_action_name_vfunc | ( | const Glib::ustring & | action_name | ) |
| virtual

## ◆ set_action_target_value()

void Gtk::Actionable::set_action_target_value | ( | const Glib::VariantBase & | target_value | ) |

Sets the target value of an actionable widget.

If target_value is `nullptr` then the target value is unset.

The target value has two purposes. First, it is used as the parameter to activation of the action associated with the Gtk::Actionable widget. Second, it is used to determine if the widget should be rendered as “active” — the widget is active if the state is equal to the given target.

Consider the example of associating a set of buttons with a Gio::Action with string state in a typical “radio button” situation. Each button will be associated with the same action, but with a different target value for that action. Clicking on a particular button will activate the action with the target of that button, which will typically cause the action’s state to change to that value. Since the action’s state is now equal to the target value of the button, the button will now be rendered as active (and the other buttons, with different targets, rendered inactive).

Since gtkmm 3.4:

Parameters

  target_value | A Glib::Variant to set as the target value, or `nullptr`.

## ◆ set_action_target_value_vfunc()

virtual void Gtk::Actionable::set_action_target_value_vfunc | ( | const Glib::VariantBase & | action_target_value | ) |
| virtual

## ◆ set_detailed_action_name()

void Gtk::Actionable::set_detailed_action_name | ( | const Glib::ustring & | detailed_action_name | ) |

Sets the action-name and associated string target value of an actionable widget.

detailed_action_name is a string in the format accepted by Glib::action_parse_detailed_name().

(Note that prior to version 3.22.25, this function is only usable for actions with a simple "s" target, and detailed_action_name must be of the form `"action::target"` where `action` is the action name and `target` is the string to use as the target.)

Since gtkmm 3.4:

Parameters

  detailed_action_name | The detailed action name.

## Friends And Related Function Documentation

## ◆ wrap()

Glib::RefPtr< Gtk::Actionable > wrap | ( | GtkActionable * | object,
|  | bool | take_copy = `false`
| ) |  |
| related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.