Class NativeDialog

All Implemented Interfaces:
PointerInterface
Direct Known Subclasses:
FileChooserNative

public class NativeDialog extends Object
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 [class@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 [signal@Gtk.NativeDialog::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.

https://docs.gtk.org/gtk4/class.NativeDialog.html

  • Field Details

  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • destroy

      public void destroy()
      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`.
    • getModal

      public boolean getModal()
      Returns whether the dialog is modal.
      Returns:
      %TRUE if the dialog is set to be modal
    • getTitle

      public Str getTitle()
      Gets the title of the `GtkNativeDialog`.
      Returns:
      the title of the dialog, or %NULL if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.
    • getTransientFor

      public Window getTransientFor()
      Fetches the transient parent for this window.
      Returns:
      the transient parent for this window, or %NULL if no transient parent has been set.
    • getVisible

      public boolean getVisible()
      Determines whether the dialog is visible.
      Returns:
      %TRUE if the dialog is visible
    • hide

      public void hide()
      Hides the dialog if it is visible, aborting any interaction.

      Once this is called the [signal@Gtk.NativeDialog::response] signal
      will *not* be emitted until after the next call to
      [method@Gtk.NativeDialog.show].

      If the dialog is not visible this does nothing.
    • setModal

      public void setModal(boolean modal)
      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 [method@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.
      Parameters:
      modal - whether the window is modal
    • setTitle

      public void setTitle(@Nonnull Str title)
      Sets the title of the `GtkNativeDialog.`
      Parameters:
      title - title of the dialog
    • setTitle

      public void setTitle(String title)
      Sets the title of the `GtkNativeDialog.`
      Parameters:
      title - title of the dialog
    • setTransientFor

      public void setTransientFor(@Nullable Window parent)
      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 %NULL for @parent unsets the current transient window.
      Parameters:
      parent - parent window
    • show

      public void show()
      Shows the dialog on the display.

      When the user accepts the state of the dialog the dialog will
      be automatically hidden and the [signal@Gtk.NativeDialog::response]
      signal will be emitted.

      Multiple calls while the dialog is visible will be ignored.
    • onResponse

      public SignalHandler onResponse(NativeDialog.OnResponse signal)
      Connect to signal "response".
      See NativeDialog.OnResponse.onResponse(int) for signal description.
      Field SIGNAL_ON_RESPONSE contains original signal name and can be used as resource reference.
      Parameters:
      signal - callback function (lambda).
      Returns:
      SignalHandler. Can be used to disconnect signal and to release callback function.
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()