GtkFileChooserDialog {RGtk2} | R Documentation

## GtkFileChooserDialog

### Description

A file chooser dialog, suitable for "File/Open" or "File/Save" commands

### Methods and Functions

`gtkFileChooserDialogNew(title = NULL, parent = NULL, action, ..., show = TRUE)`
`gtkFileChooserDialogNewWithBackend(title = NULL, parent = NULL, action, backend, ..., show = TRUE)`
`gtkFileChooserDialogNewWithBackend(title = NULL, parent = NULL, action, backend, ..., show = TRUE)`
`gtkFileChooserDialog(title = NULL, parent = NULL, action, ..., backend, show = TRUE)`

### Hierarchy

    GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkWindow
                                           +----GtkDialog
                                                 +----GtkFileChooserDialog

### Interfaces

GtkFileChooserDialog implements AtkImplementorIface, `GtkBuildable` and `GtkFileChooser`.

### Detailed Description

`GtkFileChooserDialog` is a dialog box suitable for use with "File/Open" or "File/Save as" commands. This widget works by putting a `GtkFileChooserWidget` inside a `GtkDialog`. It exposes the `GtkFileChooserIface` interface, so you can use all of the `GtkFileChooser` functions on the file chooser dialog as well as those for `GtkDialog`.

Note that `GtkFileChooserDialog` does not have any methods of its own. Instead, you should use the functions that work on a `GtkFileChooser`.

Typical usage

    ######
    # Request a file from the user and open it
    ######

    # This is how one creates a dialog with buttons and associated response codes.
    # (Please ignore the C "Response Code" example in the next section)
    dialog <- gtkFileChooserDialog("Open File", parent_window, "open",
                                   "gtk-cancel", GtkResponseType["cancel"],
                                   "gtk-open", GtkResponseType["accept"])

    if (dialog$run() == GtkResponseType["accept"]) {
      filename <- dialog$getFilename()
      f <- file(filename)
    }

    dialog$destroy()

### Response Codes

`GtkFileChooserDialog` inherits from `GtkDialog`, so buttons that go in its action area have response codes such as `GTK_RESPONSE_ACCEPT` and `GTK_RESPONSE_CANCEL`. For example, you could call `gtkFileChooserDialogNew` as follows:

    GtkWidget *dialog;
    dialog = gtk_file_chooser_dialog_new ("Open File",
    				      parent_window,
    				      GTK_FILE_CHOOSER_ACTION_OPEN,
    				      GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
    				      GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
    				      NULL);

This will create buttons for "Cancel" and "Open" that use stock response identifiers from `GtkResponseType`. For most dialog boxes you can use your own custom response codes rather than the ones in `GtkResponseType`, but `GtkFileChooserDialog` assumes that its "accept"-type action, e.g. an "Open" or "Save" button, will have one of the following response codes:

- `GTK_RESPONSE_ACCEPT`

- `GTK_RESPONSE_OK`

- `GTK_RESPONSE_YES`

- `GTK_RESPONSE_APPLY`

This is because `GtkFileChooserDialog` must intercept responses and switch to folders if appropriate, rather than letting the dialog terminate – the implementation uses these known response codes to know which responses can be blocked if appropriate. PLEASE NOTE: To summarize, make sure you use a stock response code when you use `GtkFileChooserDialog` to ensure proper operation.

### Structures

`GtkFileChooserDialog`

  undocumented

### Convenient Construction

`gtkFileChooserDialog` is the result of collapsing the constructors of `GtkFileChooserDialog` (`gtkFileChooserDialogNew`, `gtkFileChooserDialogNewWithBackend`) and accepts a subset of its arguments matching the required arguments of one of its delegate constructors.

### Author(s)

Derived by RGtkGen from GTK+ documentation

### References

https://developer.gnome.org/gtk2/stable/GtkFileChooserDialog.html

### See Also

`GtkFileChooser` `GtkDialog`

[Package RGtk2 version 2.20.36.3 Index]