org.gnome.gtk

## Class FileChooserDialog

- Object
- - org.freedesktop.bindings.Pointer
  - - org.freedesktop.bindings.Proxy
    - - org.gnome.glib.Object
      - - org.gnome.gtk.Widget
        - - org.gnome.gtk.Container
          - - org.gnome.gtk.Bin
            - - org.gnome.gtk.Window
              - - org.gnome.gtk.Dialog
                - - org.gnome.gtk.FileChooserDialog

- All Implemented Interfaces:
    FileChooser

      public class FileChooserDialog
      extends Dialog
      implements FileChooser

  A Dialog suitable for operations that need to select a file, such as "File -> Open" or "File -> Save" commands.

  A FileChooserDialog is just a Dialog with a FileChooserWidget plus appropriate Buttons that corresponding to the specified `FileChooserAction`. Otherwise, all the methods provided by the FileChooser interface are available which gives you the necessary power to manipulate the selection received from the Dialog.

  Using a FileChooserDialog to open a file could go like this:

       FileChooserDialog dialog;
       ResponseType response;

       // instantiate
       dialog = new FileChooserDialog("Open File", window, FileChooserAction.OPEN);

       // run the Dialog
       response = dialog.run();
       dialog.hide();

       // deal with the result
       if (response == ResponseType.OK) {
           open(dialog.getFilename());
       }

  Since:
    4.0.5
  Author:
    Vreixo Formoso, Andrew Cowie

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.gnome.gtk.Dialog

      `Dialog.Response`

    - ### Nested classes/interfaces inherited from class org.gnome.gtk.Window

      `Window.ConfigureEvent, Window.DeleteEvent`

    - ### Nested classes/interfaces inherited from class org.gnome.gtk.Widget

      `Widget.ButtonPressEvent, Widget.ButtonReleaseEvent, Widget.Destroy, Widget.Draw, Widget.EnterNotifyEvent, Widget.FocusInEvent, Widget.FocusOutEvent, Widget.Hide, Widget.KeyPressEvent, Widget.KeyReleaseEvent, Widget.LeaveNotifyEvent, Widget.MapEvent, Widget.MotionNotifyEvent, Widget.PopupMenu, Widget.ScrollEvent, Widget.SizeAllocate, Widget.UnmapEvent, Widget.VisibilityNotifyEvent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileChooserDialog(String title, Window parent, FileChooserAction action)` Create a new FileChooserDialog.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFilter(FileFilter filter)` Add a FileFilter to the list of filters that the user can select between.
    `FileChooserAction` | `getAction()` Gets the type of operation that the file chooser is performing.
    `String` | `getCurrentFolder()` Get the current folder being displayed in this FileChooser.
    `String` | `getFilename()` Get the filename currently selected by this FileChooser.
    `FileFilter` | `getFilter()` Gets the current filter.
    `URI` | `getURI()` Get the URI representing the file or directory currently selected by this FileChooser.
    `void` | `setAction(FileChooserAction action)` Sets the type of operation that the chooser is performing; the user interface is adapted to suit the selected action.
    `boolean` | `setCurrentFolder(String directory)` Set the current directory for this FileChooser.
    `boolean` | `setFilename(String filename)` Set the file you want selected in the FileChooser.
    `void` | `setFilter(FileFilter filter)` Sets the current filter; only the files that pass the filter will be displayed.

    - ### Methods inherited from class org.gnome.gtk.Dialog

      `add, addButton, addButton, addButton, connect, emitResponse, run, setDefaultResponse`

    - ### Methods inherited from class org.gnome.gtk.Window

      `addAcceleratorGroup, connect, connect, getHeight, getMaximized, getPositionX, getPositionY, getScreen, getWidth, move, present, resize, setDecorated, setDefaultSize, setFullscreen, setGravity, setHasResizeGrip, setIcon, setIcon, setKeepAbove, setKeepBelow, setMaximize, setModal, setPosition, setResizable, setSkipPagerHint, setSkipTaskbarHint, setStick, setTitle, setTransientFor, setTypeHint`

    - ### Methods inherited from class org.gnome.gtk.Bin

      `getChild`

    - ### Methods inherited from class org.gnome.gtk.Container

      `getChildren, remove, setBorderWidth`

    - ### Methods inherited from class org.gnome.gtk.Widget

      `activate, addEvents, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, destroy, getAllocatedHeight, getAllocatedWidth, getAllocation, getCanDefault, getCanFocus, getHasFocus, getName, getParent, getPreferredHeightForWidthMinimum, getPreferredHeightForWidthNatural, getPreferredHeightMinimum, getPreferredHeightNatural, getPreferredWidthForHeightMinimum, getPreferredWidthForHeightNatural, getPreferredWidthMinimum, getPreferredWidthNatural, getRequestMode, getRequisition, getSensitive, getStyleContext, getToplevel, getWindow, grabAdd, grabDefault, grabFocus, grabRemove, hide, isSensitive, overrideBackground, overrideColor, overrideFont, queueDraw, queueDrawArea, realize, setAlignHorizontal, setAlignVertical, setCanDefault, setCanFocus, setEvents, setExpandHorizontal, setExpandVertical, setName, setSensitive, setSizeRequest, setTooltipMarkup, setTooltipText, show, showAll`

    - ### Methods inherited from class org.freedesktop.bindings.Pointer

      `toString`

    - ### Methods inherited from class Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### FileChooserDialog

          public FileChooserDialog(String title,
                           Window parent,
                           FileChooserAction action)

      Create a new FileChooserDialog.

      Buttons appropriate to each of the different FileChooserActions have been preconfigured in the action area of the Dialog. In all cases, the executive to go ahead with the action will be the return of ResponseType `OK`.

      Parameters:
        `title` - the text to use in the title bar of the Dialog Window as drawn by the window manager, or `null` if you want a blank title.
        `parent` - the transient parent of the Dialog. While `null` is allowed, things are designed to work properly on the assumption that a parent is specified so it is recommended that you do so.
        `action` - which style of FileChooser you want.

  - ### Method Detail

    - #### addFilter

          public void addFilter(FileFilter filter)

      Description copied from interface: `FileChooser`
      Add a FileFilter to the list of filters that the user can select between. When a filter is selected, only files that are passed by that filter are displayed.
      Specified by:
        `addFilter` in interface `FileChooser`
      See Also:
        `FileFilter`

    - #### getAction

          public FileChooserAction getAction()

      Description copied from interface: `FileChooser`
      Gets the type of operation that the file chooser is performing.
      Specified by:
        `getAction` in interface `FileChooser`
      See Also:
        `FileChooser.setAction(FileChooserAction)`

    - #### getCurrentFolder

          public String getCurrentFolder()

      Description copied from interface: `FileChooser`
      Get the current folder being displayed in this FileChooser. Note that this is not the same as the currently-selected folder if the FileChooser is in `SELECT_FOLDER` mode. To get the currently-selected folder in that mode, you can use `FileChooser.getURI()` instead.
      Specified by:
        `getCurrentFolder` in interface `FileChooser`
      Returns:
        The current folder, or `null` if if the FileChooser was unable to load the last folder that was requested of it (as would happen if calling `FileChooser.setCurrentFolder(String)` on a nonexistent directory).
      See Also:
        `FileChooser.getFilename()`

    - #### getFilename

          public String getFilename()

      Description copied from interface: `FileChooser`
      Get the filename currently selected by this FileChooser.
      Specified by:
        `getFilename` in interface `FileChooser`
      Returns:
        The filename, or if no file is selected then this will return `null`. If multiple files are selected, one of the filenames will be returned at random. If the FileChooser is in one of the folder modes, this returns the selected folder's name.

    - #### getFilter

          public FileFilter getFilter()

      Description copied from interface: `FileChooser`
      Gets the current filter.

      This function is specially useful on "Save" FileChoosers, to know the file type chosen by the user.

      Specified by:
        `getFilter` in interface `FileChooser`
      See Also:
        `FileFilter`

    - #### getURI

          public URI getURI()

      Description copied from interface: `FileChooser`
      Get the URI representing the file or directory currently selected by this FileChooser.
      Specified by:
        `getURI` in interface `FileChooser`
      Returns:
        The selected file's URI, or if no file is selected then this will return `null`. If multiple files are selected, one of the filenames will be returned at random. If the FileChooser is in one of the folder modes, this returns the selected folder's URI.

    - #### setAction

          public void setAction(FileChooserAction action)

      Description copied from interface: `FileChooser`
      Sets the type of operation that the chooser is performing; the user interface is adapted to suit the selected action. For example, an option to create a new folder might be shown if the action is `SAVE` but not if the action is `OPEN`.
      Specified by:
        `setAction` in interface `FileChooser`

    - #### setCurrentFolder

          public boolean setCurrentFolder(String directory)

      Description copied from interface: `FileChooser`
      Set the current directory for this FileChooser. The user will be shown the full contents of that folder, plus user interface elements for navigating to other folders.
      Specified by:
        `setCurrentFolder` in interface `FileChooser`
      Parameters:
        `directory` - the full path of the new current folder
      Returns:
        `true` if the folder could be changed successfully, `false` otherwise.

    - #### setFilename

          public boolean setFilename(String filename)

      Description copied from interface: `FileChooser`
      Set the file you want selected in the FileChooser.

      If the folder currently showing in the FileChooser isn't the directory containing the filename you specify, then the FileChooser will be changed to that directory.

      Specified by:
        `setFilename` in interface `FileChooser`
      Parameters:
        `filename` - Must be an absolute path.
      Returns:
        `true` if the the directory was changed (if necessary) and a file was successfully selected.

    - #### setFilter

          public void setFilter(FileFilter filter)

      Description copied from interface: `FileChooser`
      Sets the current filter; only the files that pass the filter will be displayed. If the user-selectable list of filters is non-empty, then the filter should be one of the filters in that list.

      Setting the current filter when the list of filters is empty is useful if you want to restrict the displayed set of files without letting the user change it.

      Specified by:
        `setFilter` in interface `FileChooser`
      See Also:
        `FileFilter`