gtkmm: Gtk::NativeDialog Class Reference

Integrate with native dialogs. More...

#include <gtkmm/nativedialog.h>

Inheritance diagram for Gtk::NativeDialog:

Public Member Functions

 NativeDialog (NativeDialog&& src) noexcept
 
NativeDialogoperator= (NativeDialog&& src) noexcept
 
 ~NativeDialog () noexcept override
 
GtkNativeDialog* gobj ()
 Provides access to the underlying C GObject. More...

 
const GtkNativeDialog* gobj () const
 Provides access to the underlying C GObject. More...

 
GtkNativeDialog* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

 
void show ()
 Shows the dialog on the display, allowing the user to interact with it. More...

 
void hide ()
 Hides the dialog if it is visilbe, aborting any interaction. More...

 
bool get_visible () const
 Determines whether the dialog is visible. More...

 
void set_modal (bool modal=true)
 Sets a dialog modal or non-modal. More...

 
bool get_modal () const
 Returns whether the dialog is modal. More...

 
void set_title (const Glib::ustring& title)
 Sets the title of the Gtk::NativeDialog. More...

 
Glib::ustring get_title () const
 Gets the title of the Gtk::NativeDialog. More...

 
void set_transient_for (Window& parent)
 Dialog windows should be set transient for the main application window they were spawned from. More...

 
void unset_transient_for ()
 Unsets the current transient window. More...

 
Windowget_transient_for ()
 Fetches the transient parent for this window. More...

 
const Windowget_transient_for () const
 Fetches the transient parent for this window. More...

 
Glib::PropertyProxy< Glib::ustringproperty_title ()
 The title of the dialog window. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_title () const
 The title of the dialog window. More...

 
Glib::PropertyProxy< bool > property_modal ()
 Whether the window should be modal with respect to its transient parent. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_modal () const
 Whether the window should be modal with respect to its transient parent. More...

 
Glib::PropertyProxy< bool > property_visible ()
 Whether the window is currently visible. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_visible () const
 Whether the window is currently visible. More...

 
Glib::PropertyProxy< Window* > property_transient_for ()
 The transient parent of the dialog, or nullptr for none. More...

 
Glib::PropertyProxy_ReadOnly< Window* > property_transient_for () const
 The transient parent of the dialog, or nullptr for none. More...

 
Glib::SignalProxy< void(int)> signal_response ()
 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 
- 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 GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 

Protected Member Functions

 NativeDialog ()
 There is no create() method that corresponds to this constructor, because only derived classes shall be created. More...

 
virtual void on_response (int response_id)
 This is a default handler for the signal signal_response(). More...

 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexcept override
 
- 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::NativeDialogwrap (GtkNativeDialog* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- 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

Integrate with native dialogs.

Native dialogs are platform dialogs that don't use Gtk::Dialog or Gtk::Window. They are used in order to integrate better with a platform, by looking the same as other native applications and supporting platform specific features.

The Gtk::Dialog functions cannot be used on such objects, but we need a similar API in order to drive them. The NativeDialog object is an API that allows you to do this. It allows you to set various common properties on the dialog, as well as show and hide it and get a response signal when the user finished with the dialog.

See also
Gtk::FileChooserNative, Gtk::Dialog
Since gtkmm 3.24:

Constructor & Destructor Documentation

Gtk::NativeDialog::NativeDialog ( NativeDialog&&  src)
noexcept
Gtk::NativeDialog::~NativeDialog ( )
overridenoexcept
Gtk::NativeDialog::NativeDialog ( )
protected

There is no create() method that corresponds to this constructor, because only derived classes shall be created.

Member Function Documentation

bool Gtk::NativeDialog::get_modal ( ) const

Returns whether the dialog is modal.

See set_modal().

Since gtkmm 3.24:
Returns
true if the dialog is set to be modal.
Glib::ustring Gtk::NativeDialog::get_title ( ) const

Gets the title of the Gtk::NativeDialog.

Since gtkmm 3.24:
Returns
The title of the dialog, or nullptr if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.
Window* Gtk::NativeDialog::get_transient_for ( )

Fetches the transient parent for this window.

See set_transient_for().

Since gtkmm 3.24:
Returns
The transient parent for this window, or nullptr if no transient parent has been set.
const Window* Gtk::NativeDialog::get_transient_for ( ) const

Fetches the transient parent for this window.

See set_transient_for().

Since gtkmm 3.24:
Returns
The transient parent for this window, or nullptr if no transient parent has been set.
static GType Gtk::NativeDialog::get_type ( )
static

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

bool Gtk::NativeDialog::get_visible ( ) const

Determines whether the dialog is visible.

Since gtkmm 3.24:
Returns
true if the dialog is visible.
GtkNativeDialog* Gtk::NativeDialog::gobj ( )
inline

Provides access to the underlying C GObject.

const GtkNativeDialog* Gtk::NativeDialog::gobj ( ) const
inline

Provides access to the underlying C GObject.

GtkNativeDialog* Gtk::NativeDialog::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

void Gtk::NativeDialog::hide ( )

Hides the dialog if it is visilbe, aborting any interaction.

Once this is called the Gtk::NativeDialog::signal_response() signal will not be emitted until after the next call to show().

If the dialog is not visible this does nothing.

Since gtkmm 3.24:
virtual void Gtk::NativeDialog::on_response ( int  response_id)
protectedvirtual

This is a default handler for the signal signal_response().

NativeDialog& Gtk::NativeDialog::operator= ( NativeDialog&&  src)
noexcept
Glib::PropertyProxy< bool > Gtk::NativeDialog::property_modal ( )

Whether the window should be modal with respect to its transient parent.

Since gtkmm 3.24:

Default value: false

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< bool > Gtk::NativeDialog::property_modal ( ) const

Whether the window should be modal with respect to its transient parent.

Since gtkmm 3.24:

Default value: false

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::ustring > Gtk::NativeDialog::property_title ( )

The title of the dialog window.

Since gtkmm 3.24:

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::NativeDialog::property_title ( ) const

The title of the dialog window.

Since gtkmm 3.24:

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< Window* > Gtk::NativeDialog::property_transient_for ( )

The transient parent of the dialog, or nullptr for none.

Since gtkmm 3.24:
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< Window* > Gtk::NativeDialog::property_transient_for ( ) const

The transient parent of the dialog, or nullptr for none.

Since gtkmm 3.24:
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< bool > Gtk::NativeDialog::property_visible ( )

Whether the window is currently visible.

Since gtkmm 3.24:

Default value: false

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< bool > Gtk::NativeDialog::property_visible ( ) const

Whether the window is currently visible.

Since gtkmm 3.24:

Default value: false

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::NativeDialog::set_modal ( bool  modal = true)

Sets a dialog modal or non-modal.

Modal dialogs prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use set_transient_for() to make the dialog transient for the parent; most [window managers][gtk-X11-arch] will then disallow lowering the dialog below the parent.

Since gtkmm 3.24:
Parameters
modalWhether the window is modal.
void Gtk::NativeDialog::set_title ( const Glib::ustring title)

Sets the title of the Gtk::NativeDialog.

Since gtkmm 3.24:
Parameters
titleTitle of the dialog.
void Gtk::NativeDialog::set_transient_for ( Window parent)

Dialog windows should be set transient for the main application window they were spawned from.

This allows [window managers][gtk-X11-arch] to e.g. keep the dialog on top of the main window, or center the dialog over the main window.

Passing nullptr for parent unsets the current transient window.

Since gtkmm 3.24:
Parameters
parentParent window, or nullptr.
void Gtk::NativeDialog::show ( )

Shows the dialog on the display, allowing the user to interact with it.

When the user accepts the state of the dialog the dialog will be automatically hidden and the Gtk::NativeDialog::signal_response() signal will be emitted.

Multiple calls while the dialog is visible will be ignored.

Since gtkmm 3.24:
Glib::SignalProxy<void(int)> Gtk::NativeDialog::signal_response ( )
Slot Prototype:
void on_my_response(int response_id)

Flags: Run Last

Emitted when the user responds to the dialog.

When this is called the dialog has been hidden.

If you call Gtk::NativeDialog::hide() before the user responds to the dialog this signal will not be emitted.

Since gtkmm 3.24:
Parameters
response_idThe response ID.
void Gtk::NativeDialog::unset_transient_for ( )

Unsets the current transient window.

See also
set_transient_for().
Since gtkmm 3.24:

Friends And Related Function Documentation

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