:right-sidebar: True NativeDialog =================================================================== .. currentmodule:: gi.repository.Gtk .. class:: NativeDialog(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.GObject.Object` Subclasses: :class:`~gi.repository.Gtk.FileChooserNative` Native dialogs are platform dialogs that don't use ``GtkDialog``. 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 :obj:`~gi.repository.Gtk.Dialog` functions cannot be used on such objects, but we need a similar API in order to drive them. The ``GtkNativeDialog`` 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 :obj:`~gi.repository.Gtk.NativeDialog.signals.response` signal when the user finished with the dialog. Note that unlike ``GtkDialog``, ``GtkNativeDialog`` 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. Methods ------- .. rst-class:: interim-class .. class:: NativeDialog :no-index: .. method:: destroy() -> None 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 ``GtkWindow``) because there is no reference from the windowing system to the ``GtkNativeDialog``. .. method:: get_modal() -> bool Returns whether the dialog is modal. .. method:: get_title() -> str | None Gets the title of the ``GtkNativeDialog``. .. method:: get_transient_for() -> ~gi.repository.Gtk.Window | None Fetches the transient parent for this window. .. method:: get_visible() -> bool Determines whether the dialog is visible. .. method:: hide() -> None Hides the dialog if it is visible, aborting any interaction. Once this is called the :obj:`~gi.repository.Gtk.NativeDialog.signals.response` signal will *not* be emitted until after the next call to :obj:`~gi.repository.Gtk.NativeDialog.show`. If the dialog is not visible this does nothing. .. method:: set_modal(modal: bool) -> None 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 :obj:`~gi.repository.Gtk.NativeDialog.set_transient_for` to make the dialog transient for the parent; most window managers will then disallow lowering the dialog below the parent. :param modal: whether the window is modal .. method:: set_title(title: str) -> None Sets the title of the ``GtkNativeDialog.`` :param title: title of the dialog .. method:: set_transient_for(parent: ~gi.repository.Gtk.Window | None = None) -> None 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 :const:`None` for ``parent`` unsets the current transient window. :param parent: parent window .. method:: show() -> None Shows the dialog on the display. When the user accepts the state of the dialog the dialog will be automatically hidden and the :obj:`~gi.repository.Gtk.NativeDialog.signals.response` signal will be emitted. Multiple calls while the dialog is visible will be ignored. Properties ---------- .. rst-class:: interim-class .. class:: NativeDialog :no-index: .. attribute:: props.modal :type: bool The type of the None singleton. .. attribute:: props.title :type: str The type of the None singleton. .. attribute:: props.transient_for :type: ~gi.repository.Gtk.Window The type of the None singleton. .. attribute:: props.visible :type: bool The type of the None singleton. Signals ------- .. rst-class:: interim-class .. class:: NativeDialog.signals :no-index: .. method:: response(response_id: int) -> None The type of the None singleton. :param response_id: the response ID Virtual Methods --------------- .. rst-class:: interim-class .. class:: NativeDialog :no-index: .. method:: do_hide() -> None Hides the dialog if it is visible, aborting any interaction. Once this is called the :obj:`~gi.repository.Gtk.NativeDialog.signals.response` signal will *not* be emitted until after the next call to :obj:`~gi.repository.Gtk.NativeDialog.show`. If the dialog is not visible this does nothing. .. method:: do_response(response_id: int) -> None The type of the None singleton. :param response_id: .. method:: do_show() -> None Shows the dialog on the display. When the user accepts the state of the dialog the dialog will be automatically hidden and the :obj:`~gi.repository.Gtk.NativeDialog.signals.response` signal will be emitted. Multiple calls while the dialog is visible will be ignored. Fields ------ .. rst-class:: interim-class .. class:: NativeDialog :no-index: .. attribute:: parent_instance