<Type Name="FileChooserDialog" FullName="Gtk.FileChooserDialog">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserDialog : Gtk.Dialog, Gtk.FileChooser" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64 96 A4 7C B4]</AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>
      <see cref="T:Gtk.FileChooserDialog" /> is a dialog box suitable for use with "File/Open" or "File/Save as" commands. This widget works by putting a <see cref="T:Gtk.FileChooserWidget" /> inside a <see cref="T:Gtk.Dialog" />. It exposes the <see cref="T:Gtk.FileChooser" /> interface, so you can use all of the <see cref="T:Gtk.FileChooser" /> functions on the file chooser dialog as well as those for <see cref="T:Gtk.Dialog" />.</summary>
    <remarks>Similar to <see cref="T:Gtk.FileChooserWidget" /> but in a dialog.


<para> Typical usage. In the simplest of cases, you can use the following code to select a file for opening: 
<example><code lang="C#">
public class MainWindow: Gtk.Window {
	
	protected virtual void OnBtnLoadFileClicked(object sender, System.EventArgs e)
	{
		Gtk.FileChooserDialog fc=
		new Gtk.FileChooserDialog("Choose the file to open",
		                            this,
		                            FileChooserAction.Open,
		                            "Cancel",ResponseType.Cancel,
		                            "Open",ResponseType.Accept);

		if (fc.Run() == (int)ResponseType.Accept) 
		{
			System.IO.FileStream file=System.IO.File.OpenRead(fc.Filename);
			file.Close();
		}
		//Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
		fc.Destroy();
	}
  </code></example></para></remarks>
    <since version="Gtk# 2.4" />
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Dialog</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Gtk.FileChooser</InterfaceName>
    </Interface>
  </Interfaces>
  <Members>
    <Member MemberName="SetCurrentFolderUri">
      <MemberSignature Language="C#" Value="public bool SetCurrentFolderUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Sets the current folder for the chooser from an URI.
	</summary>
        <param name="uri">a <see cref="T:System.String" />, the URI to use</param>
        <returns>a <see cref="T:System.Boolean" />, true if the folder could be changed successfully, false otherwise</returns>
        <remarks>
	  The user will be shown the full contents of the current folder,
	  plus user interface elements for navigating to other folders.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="UnselectAll">
      <MemberSignature Language="C#" Value="public void UnselectAll ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Unselects all the files in the current folder of a file chooser.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetFilename">
      <MemberSignature Language="C#" Value="public bool SetFilename (string filename);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filename" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Sets <paramref name="filename" /> as the current filename for
	  the file chooser;
	  If the file name isn't in the current folder of the file chooser, then the
	  current folder of the file chooser will be changed to the folder containing
	  <paramref name="filename" />. 
	</summary>
        <param name="filename">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" />, true if both the 
	  folder could be changed and the file was
	  selected successfully, false otherwise. </returns>
        <remarks>
	  This is equivalent to a sequence of
	  <see cref="M:Gtk.FileChooser.UnselectAll" />
	  followed by <see cref="M:Gtk.FileChooser.SelectFilename" />.
	  
	  Note that the file must exist, or nothing will be done except
	  for the directory change. To pre-enter a filename for the user, as in
	  a save-as dialog, use  <see cref="M:Gtk.FileChooser.SetCurrentFilename" />.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveShortcutFolderUri">
      <MemberSignature Language="C#" Value="public bool RemoveShortcutFolderUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Removes a folder URI from a file chooser's list of shortcut folders.
	</summary>
        <param name="uri">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
	  See also <see cref="M:Gtk.FileChooser.AddShortcutFolderUri" />.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddShortcutFolderUri">
      <MemberSignature Language="C#" Value="public bool AddShortcutFolderUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Adds a folder URI to be displayed with the shortcut folders in a file
	  chooser.  
	</summary>
        <param name="uri">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" />, true if the folder 
	  could be added successfully, false otherwise.</returns>
        <remarks>
	  Note that shortcut folders do not get saved, as they are provided
	  by the application.  For example, you can use this to add a
	  "file:///usr/share/mydrawprogram/Clipart" folder to the volume list.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="SelectAll">
      <MemberSignature Language="C#" Value="public void SelectAll ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Selects all the files in the current folder of a file chooser.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SelectUri">
      <MemberSignature Language="C#" Value="public bool SelectUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Selects the file at <paramref name="uri" />. If the URI doesn't refer to a
	  file in the current folder of the file chooser, then the current folder of
	  the file chooser will be changed to the folder that's part of <paramref name="uri" /> .
	</summary>
        <param name="uri">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" />, true if both the 
	  folder could be changed and the URI was
	  selected successfully, false otherwise.</returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveFilter">
      <MemberSignature Language="C#" Value="public void RemoveFilter (Gtk.FileFilter filter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filter" Type="Gtk.FileFilter" />
      </Parameters>
      <Docs>
        <summary>Removes <paramref name="filter" /> from the list of filters that the user can select between.</summary>
        <param name="filter">a <see cref="T:Gtk.FileFilter" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="AddShortcutFolder">
      <MemberSignature Language="C#" Value="public bool AddShortcutFolder (string folder);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="folder" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Adds a folder to be displayed with the shortcut folders in a file chooser.</summary>
        <param name="folder">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
	  Note that shortcut folders do not get saved, as they are provided by the
	  application.  For example, you can use this to add a
	  "/usr/share/mydrawprogram/Clipart" folder to the volume list.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="SelectFilename">
      <MemberSignature Language="C#" Value="public bool SelectFilename (string filename);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filename" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Selects a filename.</summary>
        <param name="filename">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
	  If the file name isn't in the current
	  folder of the file chooser, then the current folder of the file chooser will
	  be changed to the folder containing <paramref name="filename" />.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="UnselectFilename">
      <MemberSignature Language="C#" Value="public void UnselectFilename (string filename);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filename" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Unselects a currently selected filename. 
	</summary>
        <param name="filename">a <see cref="T:System.String" /></param>
        <remarks>
	  If the filename is not in the current directory, does not exist, or
	  is otherwise not currently selected, does nothing.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddFilter">
      <MemberSignature Language="C#" Value="public void AddFilter (Gtk.FileFilter filter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filter" Type="Gtk.FileFilter" />
      </Parameters>
      <Docs>
        <summary>
	  Adds <paramref name="filter" /> to the list of filters that the 
	  user can select between.
	</summary>
        <param name="filter">a <see cref="T:Gtk.FileFilter" /></param>
        <remarks>
	  When a filter is selected, only files that are passed by that
	  filter are displayed.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveShortcutFolder">
      <MemberSignature Language="C#" Value="public bool RemoveShortcutFolder (string folder);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="folder" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Removes a folder from a file chooser's list of shortcut folders.</summary>
        <param name="folder">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>See also <see cref="M:Gtk.FileChooser.AddShortcutFolder" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="UnselectUri">
      <MemberSignature Language="C#" Value="public void UnselectUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Unselects the file referred to by <paramref name="uri" />. 
	</summary>
        <param name="uri">a <see cref="T:System.String" /></param>
        <remarks>
	  If the file is not in the current directory, does not exist, or
	  is otherwise not currently selected, does nothing.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetCurrentFolder">
      <MemberSignature Language="C#" Value="public bool SetCurrentFolder (string filename);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filename" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Sets the current folder for the file chooser from a local filename.
	</summary>
        <param name="filename">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
	  The user will be shown the full contents of the current folder,
	  plus user interface elements for navigating to other folders.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetUri">
      <MemberSignature Language="C#" Value="public bool SetUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Sets the file referred to by <paramref name="uri" /> as the 
	  current file for the the file chooser.
	</summary>
        <param name="uri">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" />, true if both the folder 
	  could be changed and the URI was
	  selected successfully, false otherwise.</returns>
        <remarks>
	  If the file name isn't in the current folder of the file chooser,
	  then the current folder of the file chooser will be changed to the folder containing
	  <paramref name="uri" />. This is equivalent to a sequence of
	  <see cref="M:Gtk.FileChooser.UnselectAll" />
	  followed by <see cref="M:Gtk.FileChooserDialog.SelectUri" />.
	  
	  Note that the file must exist, or nothing will be done except
	  for the directory change. To pre-enter a filename for the user, as in
	  a save-as dialog, use  <see cref="M:Gtk.FileChooserDialog.SetCurrentFilename" />.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnSelectionChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnSelectionChanged ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.FileChooserDialog.SelectionChanged" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.FileChooserDialog.SelectionChanged" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnFileActivated">
      <MemberSignature Language="C#" Value="protected virtual void OnFileActivated ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.FileChooserDialog.FileActivated" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.FileChooserDialog.FileActivated" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnUpdatePreview">
      <MemberSignature Language="C#" Value="protected virtual void OnUpdatePreview ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.FileChooserDialog.UpdatePreview" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.FileChooserDialog.UpdatePreview" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnCurrentFolderChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnCurrentFolderChanged ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.FileChooserDialog.CurrentFolderChanged" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.FileChooserDialog.CurrentFolderChanged" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected FileChooserDialog (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Protected constructor.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public FileChooserDialog (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Constructor for internal use.</summary>
        <param name="raw">a <see cref="T:System.IntPtr" />, pointer to underlying C object.</param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The <see cref="T:GLib.GType" /> of this object. </summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="CurrentFolderUri">
      <MemberSignature Language="C#" Value="public string CurrentFolderUri { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The file chooser's current folder, if set from a URI.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ExtraWidget">
      <MemberSignature Language="C#" Value="public Gtk.Widget ExtraWidget { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>An application-supplied widget to provide extra options to the user.</summary>
        <value>a <see cref="T:Gtk.Widget" /></value>
        <remarks>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("extra-widget")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="CurrentName">
      <MemberSignature Language="C#" Value="public string CurrentName { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
	  Property to represent the current name in the file selector, 
	  as if entered by the user. 
	</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
	  Note that the name passed in here is a UTF-8
	  string rather than a filename. This function is meant for
	  such uses as a suggested name in a "Save As..." dialog.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="Filter">
      <MemberSignature Language="C#" Value="public Gtk.FileFilter Filter { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.FileFilter</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The currently-applied file filter.</summary>
        <value>a <see cref="T:Gtk.FileFilter" /></value>
        <remarks>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("filter")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="LocalOnly">
      <MemberSignature Language="C#" Value="public bool LocalOnly { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Sets whether only local files can be selected in the
	  file selector.
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  If true (the default),
	  then the selected file are files are guaranteed to be
	  accessible through the operating systems native file
	  file system and therefore the application only
	  needs to worry about the filename functions in
	  <see cref="T:Gtk.FileChooser" />, like 
	  <see cref="M:Gtk.FileChooser.GetFilename" />,
	  rather than the URI functions like
	  <see cref="M:Gtk.FileChooser.GetUri" />.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("local-only")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="PreviewWidgetActive">
      <MemberSignature Language="C#" Value="public bool PreviewWidgetActive { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Sets whether the preview widget set by <see cref="M:Gtk.FileChooser.SetPreviewWidget" />
	   should be shown for the current filename.
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks> When this property is set to false, the file chooser
	  may display an internally generated preview of the current file
	  or it may display no preview at all.</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("preview-widget-active")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="PreviewFilename">
      <MemberSignature Language="C#" Value="public string PreviewFilename { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Internal function; gets the filename that should be previewed in a custom preview.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>Not for general programmer use.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Uri">
      <MemberSignature Language="C#" Value="public string Uri { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The URI for the currently selected file in
	  the file selector. </summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
	  If multiple files are selected,
	  one of the filenames will be returned at random.
	  If the file chooser is in folder mode, this function returns the 
	  selected folder.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="UsePreviewLabel">
      <MemberSignature Language="C#" Value="public bool UsePreviewLabel { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Sets whether the file chooser should display a stock label with the name of
	  the file that is being previewed; the default is true.  
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  Applications that
	  want to draw the whole preview area themselves should set this 
	  to false and display the name themselves in their preview widget.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("use-preview-label")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Filename">
      <MemberSignature Language="C#" Value="public string Filename { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The current filename selected by the file chooser.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="PreviewUri">
      <MemberSignature Language="C#" Value="public string PreviewUri { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The URI that should be previewed in a custom preview widget. </summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SelectMultiple">
      <MemberSignature Language="C#" Value="public bool SelectMultiple { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Sets whether multiple files can be selected in the file selector.
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  This is only relevant if the action is set to be 
	  <see cref="M:Gtk.FileChooserAction.Open" /> or 
	  <see cref="M:Gtk.FileChooserAction.Save" />.
	  It cannot be set with either of the folder actions.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("select-multiple")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="PreviewWidget">
      <MemberSignature Language="C#" Value="public Gtk.Widget PreviewWidget { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  An application-supplied widget to use to display a custom preview
	  of the currently selected file. 
	</summary>
        <value>a <see cref="T:Gtk.Widget" /></value>
        <remarks>
          <para>
	    To implement a preview, after setting the
	    preview widget, you connect to the 
	    <see cref="E:Gtk.FileChooser.SelectionChanged" />
	    signal, and check
	    <see cref="P:Gtk.FileChooser.PreviewFilename" /> or
	    <see cref="P:Gtk.FileChooser.PreviewUri" />
	    on each change. If you can
	    display a preview of the new file, update your widget and
	    set the preview active using
	    <see cref="P:Gtk.FileChooser.PreviewWidgetActive" />
	    Otherwise, set the preview inactive.
	  </para>
          <para>
	    When there is no application-supplied preview widget, or the
	    application-supplied preview widget is not active, the file chooser
	    may display an internally generated preview of the current file or
	    it may display no preview at all.
	  </para>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("preview-widget")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Action">
      <MemberSignature Language="C#" Value="public Gtk.FileChooserAction Action { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.FileChooserAction</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Sets the type of operation that that the chooser is performing; the
	  user interface is adapted to suit the selected action.
	</summary>
        <value>a <see cref="T:Gtk.FileChooserAction" /></value>
        <remarks>
	  For example,
	  an option to create a new folder might be shown if the action is
	  <see cref="M:Gtk.FileChooserAction.Save" /> but not if the action is
	  <see cref="M:Gtk.FileChooserAction.Open" />.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("action")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="CurrentFolder">
      <MemberSignature Language="C#" Value="public string CurrentFolder { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The current folder for the file chooser, when the chooser has selected a local filename.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Filenames">
      <MemberSignature Language="C#" Value="public string[] Filenames { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The filenames selected by this widget.</summary>
        <value>a <see cref="T:System.String[]" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Uris">
      <MemberSignature Language="C#" Value="public string[] Uris { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The URIs selected by this dialog.</summary>
        <value>a <see cref="T:System.String[]" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Filters">
      <MemberSignature Language="C#" Value="public Gtk.FileFilter[] Filters { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.FileFilter[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The filters currently in use by this dialog for patterns of files to display.</summary>
        <value>a <see cref="T:Gtk.FileFilter[]" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ShortcutFolders">
      <MemberSignature Language="C#" Value="public string[] ShortcutFolders { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The shortcut folders currently in use for this dialog.</summary>
        <value>a <see cref="T:System.String[]" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ShortcutFolderUris">
      <MemberSignature Language="C#" Value="public string[] ShortcutFolderUris { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The shortcut URIs currently allowed for this dialog.</summary>
        <value>a <see cref="T:System.String[]" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SelectionChanged">
      <MemberSignature Language="C#" Value="public event EventHandler SelectionChanged;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>This event is raised every time the selected file changes.</summary>
        <remarks>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("selection-changed")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="FileActivated">
      <MemberSignature Language="C#" Value="public event EventHandler FileActivated;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  This signal is emitted when the user "activates" a file in the file
	  chooser.
	</summary>
        <remarks>
	  This event can happen by double-clicking on a file in the file list, or
	  by pressing Enter.
	  
	  Normally you do not need to connect to this signal.  It is used internally
	  by the file chooser code to know when to activate the default button in the dialog.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("file-activated")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="UpdatePreview">
      <MemberSignature Language="C#" Value="public event EventHandler UpdatePreview;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  This signal is emitted when the preview in a file chooser should be
	  regenerated. For example, this can happen when the currently 
	  selected file changes.  
	</summary>
        <remarks>
          <para>You should use this signal if you want your file chooser to have
	  a preview widget.</para>
          <para>Once you have installed a preview widget with
	    <see cref="P:Gtk.FileChooser.PreviewWidget" />, you should update it when this
	    signal is emitted.  You can use the properties
	    <see cref="P:Gtk.FileChooser.PreviewFilename" />	or
	    <see cref="P:Gtk.FileChooser.PreviewUri" />
	    to get the name of the file to preview.
	    Your widget may not be able to preview all kinds of files; your callback
	    must set <see cref="P:Gtk.FileChooser.PreviewWidgetActive" /> to inform the file
	    chooser about whether the preview was generated successfully or not.
	    </para>
          <para>
	    TODO: insert example from gtkfilechooser-preview in gtk+ docs.
	  </para>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("update-preview")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="CurrentFolderChanged">
      <MemberSignature Language="C#" Value="public event EventHandler CurrentFolderChanged;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  This signal is emitted when the current folder in a file chooser
	  changes. 
	</summary>
        <remarks>
	  This event can happen due to the user performing some action that
	  changes folders, such as selecting a bookmark or visiting a folder on the
	  file list.  It can also happen as a result of calling a function to
	  explicitly change the current folder in a file chooser.
   
	  Normally you do not need to connect to this signal, unless you need to keep
	  track of which folder a file chooser is showing.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("current-folder-changed")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected FileChooserDialog ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public FileChooserDialog (string title, Gtk.Window parent, Gtk.FileChooserAction action, object[] button_data);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="title" Type="System.String" />
        <Parameter Name="parent" Type="Gtk.Window" />
        <Parameter Name="action" Type="Gtk.FileChooserAction" />
        <Parameter Name="button_data" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <summary>Creates a file chooser dialog.</summary>
        <param name="title">a title <see cref="T:System.String" /></param>
        <param name="parent">a parent <see cref="T:Gtk.Window" /> for the dialog, or <see langword="null" />. See <see cref="P:Gtk.Window.TransientFor" />.</param>
        <param name="action">an action, for example save or open.</param>
        <param name="button_data">a list of button text/response pairs for buttons to be added to the dialog, if desired. The pair format is <see cref="T:System.String" />, <see cref="T:Gtk.ResponseType" /> (see an example in overview section of <see cref="T:Gtk.FileChooserDialog" />)</param>
        <remarks>By default, a <see cref="T:Gtk.FileChooserDialog" /> comes with no buttons, so you'd better provide at least the most basics one (Save/Cancel or Open/Cancel) or your user won't be able to do anything apart from closing the dialog ( closing the dialog returns <see cref="T:ResponseType" />.None )</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public FileChooserDialog (string backend, string title, Gtk.Window parent, Gtk.FileChooserAction action, object[] button_data);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="backend" Type="System.String" />
        <Parameter Name="title" Type="System.String" />
        <Parameter Name="parent" Type="Gtk.Window" />
        <Parameter Name="action" Type="Gtk.FileChooserAction" />
        <Parameter Name="button_data" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <summary>Creates a file chooser dialog with a specific file chooser backend</summary>
        <param name="backend">a <see cref="T:System.String" />, the backend name</param>
        <param name="title">a title <see cref="T:System.String" /></param>
        <param name="parent">a parent <see cref="T:Gtk.Window" /> for the dialog, or <see langword="null" />.</param>
        <param name="action">an action, for example save or open.</param>
        <param name="button_data">a list of button text/response pairs for buttons to be added to the dialog, if desired.</param>
        <remarks>
	  This is especially useful if you use <see cref="P:Gtk.FileChooser.LocalOnly" /> to allow
	  non-local files and you use a more expressive vfs, such as gnome-vfs, to load files.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="ShowHidden">
      <MemberSignature Language="C#" Value="public bool ShowHidden { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Indicates if Hidden files and directories should be visible.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks />
        <since version="Gtk# 2.6" />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("show-hidden")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="ConfirmOverwrite">
      <MemberSignature Language="C#" Value="public event Gtk.ConfirmOverwriteHandler ConfirmOverwrite;" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("confirm-overwrite")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.ConfirmOverwriteHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Indicates a file overwrite has been requested.</summary>
        <remarks> This event is raised when the user has selected a file name that already exists and the file chooser is in <see cref="F:Gtk.FileChooserAction.Save" /> mode.

Most applications just need to turn on the <see cref="P:Gtk.FileChooserDialog.DoOverwriteConfirmation" /> property and they will automatically get a stock confirmation dialog. Applications which need to customize this behavior should do that, and also connect to this event.

A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set <see cref="M:GLib.SignalArgs.RetVal" /> to the <see cref="T:Gtk.FileChooserConfirmation" /> value indicating the action to take. If the handler determines that the user wants to select a different filename, it should return <see cref="F:Gtk.FileChooserConfirmation.SelectAgain" />. If it determines that the user is satisfied with his choice of file name, it should return  <see cref="F:Gtk.FileChooserConfirmation.AcceptFilename" />. On the other hand, if it determines that the stock confirmation dialog should be used, it should return  <see cref="F:Gtk.FileChooserConfirmation.Confirm" />.</remarks>
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="OnConfirmOverwrite">
      <MemberSignature Language="C#" Value="protected virtual Gtk.FileChooserConfirmation OnConfirmOverwrite ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.FileChooserConfirmation</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.FileChooserDialog.ConfirmOverwrite" /> event.</summary>
        <returns>To be added.</returns>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.FileChooserDialog.ConfirmOverwrite" /> event.</remarks>
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="DoOverwriteConfirmation">
      <MemberSignature Language="C#" Value="public bool DoOverwriteConfirmation { set; get; };" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("do-overwrite-confirmation")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Enables Overwrite Confirmation in the dialog.</summary>
        <value>
          <see langword="true" /> if confirmation should be performed.</value>
        <remarks />
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
  </Members>
</Type>
