Gtk.Dialog.new_with_buttons
Description: Reference for Gtk.Dialog.new_with_buttons

### Constructor

# Gtk Dialognew_with_buttons

#### Declaration [src]

    GtkWidget*
    gtk_dialog_new_with_buttons (
      const char* title,
      GtkWindow* parent,
      GtkDialogFlags flags,
      const char* first_button_text,
      ...
    )

#### Description [src]

Creates a new `GtkDialog` with the given title and transient parent.

The `flags` argument can be used to make the dialog modal, have it destroyed along with its transient parent, or make it use a headerbar.

Button text/response ID pairs should be listed in pairs, with a `NULL` pointer ending the list. Button text can be arbitrary text. A response ID can be any positive number, or one of the values in the `GtkResponseType` enumeration. If the user clicks one of these buttons, `GtkDialog` will emit the `GtkDialog::response` signal with the corresponding response ID.

If a `GtkDialog` receives a delete event, it will emit ::response with a response ID of `GTK_RESPONSE_DELETE_EVENT`.

However, destroying a dialog does not emit the ::response signal; so be careful relying on ::response when using the `GTK_DIALOG_DESTROY_WITH_PARENT` flag.

Here’s a simple example:

    GtkWindow *main_app_window; // Window the dialog should show up on
    GtkWidget *dialog;
    GtkDialogFlags flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT;
    dialog = gtk_dialog_new_with_buttons ("My dialog",
                                          main_app_window,
                                          flags,
                                          _("_OK"),
                                          GTK_RESPONSE_ACCEPT,
                                          _("_Cancel"),
                                          GTK_RESPONSE_REJECT,
                                          NULL);

This constructor is not directly available to language bindings

#### Parameters

`title` | `const char*`
| Title of the dialog.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`parent` | `GtkWindow`
| Transient parent of the dialog.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`flags` | `GtkDialogFlags`
| From `GtkDialogFlags`
`first_button_text` | `const char*`
| Text to go in first button.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`...` | ``
| Response ID for first button, then additional buttons, ending with `NULL`.

#### Return value

Returns: | `GtkWidget`
| A new `GtkDialog`
| The data is owned by the called function.