gtkmm: Gtk::Actionable Class Reference

An interface for widgets that can be associated with actions. More...

#include <gtkmm/actionable.h>

Inheritance diagram for Gtk::Actionable:

Public Member Functions

 Actionable (Actionable&& src) noexcept
 
Actionableoperator= (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::ustringproperty_action_name ()
 The name of the associated action, like “app.quit”. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_action_name () const
 The name of the associated action, like “app.quit”. More...

 
Glib::PropertyProxy< Glib::VariantBaseproperty_action_target ()
 The parameter for action invocations. More...

 
Glib::PropertyProxy_ReadOnly< Glib::VariantBaseproperty_action_target () const
 The parameter for action invocations. More...

 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 
 Interface (Interface &&src) noexcept
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
 ~Interface () noexcept override
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (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
 
PropertyType get_property (const Glib::ustring &property_name) const
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
 
sigc::connection connect_property_changed (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) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (notifiable *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...

 
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)
 
- 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
 
ObjectBaseoperator= (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::Actionablewrap (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
 
- Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify
 

Detailed Description

An interface for widgets that can be associated with actions.

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

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

The action will be looked up in action groups that are found among the widget's ancestors. Most commonly, these will be the actions with the “win.” or “app.” prefix that are associated with the ApplicationWindow or Application, but other action groups that are added with Widget::insert_action_group() will be consulted as well.

Since gtkmm 3.4:

Constructor & Destructor Documentation

Gtk::Actionable::Actionable ( )
protected

You should derive from this class to use it.

Gtk::Actionable::Actionable ( Actionable&&  src)
noexcept
Gtk::Actionable::~Actionable ( )
overridenoexcept

Member Function Documentation

static void Gtk::Actionable::add_interface ( GType  gtype_implementer)
static
Glib::ustring Gtk::Actionable::get_action_name ( ) const

Gets the action name for actionable.

See set_action_name() for more information.

Returns
The action name, or nullptr if none is set.
virtual Glib::ustring Gtk::Actionable::get_action_name_vfunc ( ) const
protectedvirtual
Glib::VariantBase Gtk::Actionable::get_action_target_value ( )

Gets the current target value of actionable.

See set_action_target_value() for more information.

Returns
The current target value.
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.

Returns
The current target value.
virtual Glib::VariantBase Gtk::Actionable::get_action_target_value_vfunc ( ) const
protectedvirtual
static GType Gtk::Actionable::get_type ( )
static

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

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

Provides access to the underlying C GObject.

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

Provides access to the underlying C GObject.

Actionable& Gtk::Actionable::operator= ( Actionable&&  src)
noexcept
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.
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.
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.
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.
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.

Parameters
action_nameAn action name, or nullptr.
virtual void Gtk::Actionable::set_action_name_vfunc ( const Glib::ustring action_name)
protectedvirtual
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).

Parameters
target_valueA Glib::Variant to set as the target value, or nullptr.
virtual void Gtk::Actionable::set_action_target_value_vfunc ( const Glib::VariantBase action_target_value)
protectedvirtual
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.)

Parameters
detailed_action_nameThe detailed action name.

Friends And Related Function Documentation

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

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

Parameters
objectThe C instance.
take_copyFalse 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.