gtkmm 3.24.7
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::Activatable Class Reference

Activatable widgets can be connected to a Gtk::Action and reflect the state of the action. More...

#include <gtkmm/activatable.h>

Inheritance diagram for Gtk::Activatable:
Inheritance graph
[legend]

Public Member Functions

 Activatable (Activatable && src) noexcept
 
Activatableoperator= (Activatable && src) noexcept
 
 ~Activatable () noexcept override
 
GtkActivatable * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkActivatable * gobj () const
 Provides access to the underlying C GObject. More...
 
void do_set_related_action (const Glib::RefPtr< Action > & action)
 This is a utility function for Gtk::Activatable implementors. More...
 
Glib::RefPtr< Actionget_related_action ()
 Gets the related Gtk::Action for activatable. More...
 
Glib::RefPtr< const Actionget_related_action () const
 Gets the related Gtk::Action for activatable. More...
 
bool get_use_action_appearance () const
 Gets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. More...
 
void sync_action_properties (const Glib::RefPtr< Action > & action)
 This is called to update the activatable completely, this is called internally when the Gtk::Activatable::property_related_action() property is set or unset and by the implementing class when Gtk::Activatable::property_use_action_appearance() changes. More...
 
void set_related_action (const Glib::RefPtr< Action > & action)
 Sets the related action on the activatable object. More...
 
void set_use_action_appearance (bool use_appearance=true)
 Sets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. More...
 
Glib::PropertyProxy< Glib::RefPtr< Action > > property_related_action ()
 The action that this activatable will activate and receive updates from for various states and possibly appearance. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Action > > property_related_action () const
 The action that this activatable will activate and receive updates from for various states and possibly appearance. More...
 
Glib::PropertyProxy< bool > property_use_action_appearance ()
 Whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_use_action_appearance () const
 Whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. More...
 
virtual void update_vfunc (const Glib::RefPtr< Action > & action, const Glib::ustring & property_name)
 
virtual void sync_action_properties_vfunc (const Glib::RefPtr< Action > & action)
 

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

 Activatable ()
 You should derive from this class to use it. More...
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::Activatablewrap (GtkActivatable * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

Activatable widgets can be connected to a Gtk::Action and reflect the state of the action.

An Activatable can also provide feedback through its action, as it is responsible for activating the related action.

Since gtkmm 2.16:
Deprecated:
Use Gio::Action instead of Gtk::Action. Gtk::Actionable is roughly a replacement for Gtk::Activatable.

Constructor & Destructor Documentation

◆ Activatable() [1/2]

Gtk::Activatable::Activatable ( )
protected

You should derive from this class to use it.

◆ Activatable() [2/2]

Gtk::Activatable::Activatable ( Activatable &&  src)
noexcept

◆ ~Activatable()

Gtk::Activatable::~Activatable ( )
overridenoexcept

Member Function Documentation

◆ add_interface()

static void Gtk::Activatable::add_interface ( GType  gtype_implementer)
static

◆ do_set_related_action()

void Gtk::Activatable::do_set_related_action ( const Glib::RefPtr< Action > &  action)

This is a utility function for Gtk::Activatable implementors.

When implementing Gtk::Activatable you must call this when handling changes of the Gtk::Activatable::property_related_action(), and you must also use this to break references in Glib::Object->dispose().

This function adds a reference to the currently set related action for you, it also makes sure the Gtk::Activatable->update() method is called when the related Gtk::Action properties change and registers to the action’s proxy list.

‍Be careful to call this before setting the local copy of the Gtk::Action property, since this function uses get_related_action() to retrieve the previous action.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
There is no corresponding replacement when using Gio::Action.
Parameters
actionThe Gtk::Action to set.

◆ get_related_action() [1/2]

Glib::RefPtr< Action > Gtk::Activatable::get_related_action ( )

Gets the related Gtk::Action for activatable.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
Use Gtk::Actionable::get_action_name() on Gtk::Actionable widgets instead.
Returns
The related Gtk::Action if one is set.

◆ get_related_action() [2/2]

Glib::RefPtr< const Action > Gtk::Activatable::get_related_action ( ) const

Gets the related Gtk::Action for activatable.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
Use Gtk::Actionable::get_action_name() on Gtk::Actionable widgets instead.
Returns
The related Gtk::Action if one is set.

◆ get_type()

static GType Gtk::Activatable::get_type ( )
static

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

◆ get_use_action_appearance()

bool Gtk::Activatable::get_use_action_appearance ( ) const

Gets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
There is no corresponding replacement when using Gio::Action.
Returns
Whether activatable uses its actions appearance.

◆ gobj() [1/2]

GtkActivatable * Gtk::Activatable::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkActivatable * Gtk::Activatable::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ operator=()

Activatable & Gtk::Activatable::operator= ( Activatable &&  src)
noexcept

◆ property_related_action() [1/2]

Glib::PropertyProxy< Glib::RefPtr< Action > > Gtk::Activatable::property_related_action ( )

The action that this activatable will activate and receive updates from for various states and possibly appearance.

Gtk::Activatable implementors need to handle the this property and call Gtk::Activatable::do_set_related_action() when it changes.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
Use Gtk::Actionable::property_action_name() on Gtk::Actionable widgets instead.
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_related_action() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Action > > Gtk::Activatable::property_related_action ( ) const

The action that this activatable will activate and receive updates from for various states and possibly appearance.

Gtk::Activatable implementors need to handle the this property and call Gtk::Activatable::do_set_related_action() when it changes.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
Use Gtk::Actionable::property_action_name() on Gtk::Actionable widgets instead.
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_use_action_appearance() [1/2]

Glib::PropertyProxy< bool > Gtk::Activatable::property_use_action_appearance ( )

Whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance.

See the Gtk::Action documentation directly to find which properties should be ignored by the Gtk::Activatable when this property is false.

Gtk::Activatable implementors need to handle this property and call Gtk::Activatable::sync_action_properties() on the activatable widget when it changes.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
There is no corresponding replacement when using Gio::Action.
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_use_action_appearance() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Activatable::property_use_action_appearance ( ) const

Whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance.

See the Gtk::Action documentation directly to find which properties should be ignored by the Gtk::Activatable when this property is false.

Gtk::Activatable implementors need to handle this property and call Gtk::Activatable::sync_action_properties() on the activatable widget when it changes.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
There is no corresponding replacement when using Gio::Action.
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_related_action()

void Gtk::Activatable::set_related_action ( const Glib::RefPtr< Action > &  action)

Sets the related action on the activatable object.

Gtk::Activatable implementors need to handle the Gtk::Activatable::property_related_action() property and call do_set_related_action() when it changes.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
Use Gtk::Actionable::set_action_name() on Gtk::Actionable widgets instead.
Parameters
actionThe Gtk::Action to set.

◆ set_use_action_appearance()

void Gtk::Activatable::set_use_action_appearance ( bool  use_appearance = true)

Sets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance.

Gtk::Activatable implementors need to handle the Gtk::Activatable::property_use_action_appearance() property and call sync_action_properties() to update activatable if needed.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
There is no corresponding replacement when using Gio::Action.
Parameters
use_appearanceWhether to use the actions appearance.

◆ sync_action_properties()

void Gtk::Activatable::sync_action_properties ( const Glib::RefPtr< Action > &  action)

This is called to update the activatable completely, this is called internally when the Gtk::Activatable::property_related_action() property is set or unset and by the implementing class when Gtk::Activatable::property_use_action_appearance() changes.

Since gtkmm 2.16:

Deprecated: 3.10

Deprecated:
There is no corresponding replacement when using Gio::Action.
Parameters
actionThe related Gtk::Action or nullptr.

◆ sync_action_properties_vfunc()

virtual void Gtk::Activatable::sync_action_properties_vfunc ( const Glib::RefPtr< Action > &  action)
virtual

◆ update_vfunc()

virtual void Gtk::Activatable::update_vfunc ( const Glib::RefPtr< Action > &  action,
const Glib::ustring &  property_name 
)
virtual

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gtk::Activatable > wrap ( GtkActivatable *  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.