class Gtk::NativeDialog
- Gtk::NativeDialog
- GObject::Object
- Reference
- Object
Overview
Native dialogs are platform dialogs that don't use Gtk::Dialog
.
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 Gtk::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 Gtk::NativeDialog::#response
signal when the user
finished with the dialog.
Note that unlike Gtk::Dialog
, Gtk::NativeDialog
objects are not
toplevel widgets, and GTK does not keep them alive. It is your
responsibility to keep a reference until you are done with the
object.
Direct Known Subclasses
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/native_dialog.crConstructors
-
.new
Initialize a new
NativeDialog
. - .new(*, modal : Bool | Nil = nil, title : String | Nil = nil, transient_for : Gtk::Window | Nil = nil, visible : Bool | Nil = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#destroy : Nil
Destroys a dialog.
-
#hash(hasher)
See
Object#hash(hasher)
-
#hide : Nil
Hides the dialog if it is visible, aborting any interaction.
-
#modal : Bool
Returns whether the dialog is modal.
-
#modal=(modal : Bool) : Nil
Sets a dialog modal or non-modal.
- #modal? : Bool
- #response_signal
-
#show : Nil
Shows the dialog on the display.
-
#title : String | Nil
Gets the title of the
Gtk::NativeDialog
. -
#title=(title : String) : Nil
Sets the title of the
Gtk::NativeDialog.
-
#title=(value : Nil) : Nil
Set
#title
property to nil. -
#title? : String | Nil
Same as
#title
, but can return nil. -
#transient_for : Gtk::Window | Nil
Fetches the transient parent for this window.
-
#transient_for=(parent : Gtk::Window | Nil) : Nil
Dialog windows should be set transient for the main application window they were spawned from.
-
#visible : Bool
Determines whether the dialog is visible.
- #visible=(value : Bool) : Bool
- #visible? : Bool
Instance methods inherited from class GObject::Object
==(other : self)
==,
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
Destroys a dialog.
When a dialog is destroyed, it will break any references it holds to other objects.
If it is visible it will be hidden and any underlying window system resources will be destroyed.
Note that this does not release any reference to the object (as opposed
to destroying a Gtk::Window
) because there is no reference from the
windowing system to the Gtk::NativeDialog
.
Hides the dialog if it is visible, aborting any interaction.
Once this is called the Gtk::NativeDialog::#response
signal
will not be emitted until after the next call to
Gtk::NativeDialog#show
.
If the dialog is not visible this does nothing.
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 Gtk::NativeDialog#transient_for=
to make
the dialog transient for the parent; most window managers will
then disallow lowering the dialog below the parent.
Shows the dialog on the display.
When the user accepts the state of the dialog the dialog will
be automatically hidden and the Gtk::NativeDialog::#response
signal will be emitted.
Multiple calls while the dialog is visible will be ignored.
Dialog windows should be set transient for the main application window they were spawned from.
This allows window managers to e.g. keep the dialog on top of the main window, or center the dialog over the main window.
Passing nil
for parent unsets the current transient window.