﻿<?xml version="1.0" encoding="utf-8"?><Type Name="FileSelection" FullName="Gtk.FileSelection"><TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class FileSelection : Gtk.Dialog" /><AssemblyInfo><AssemblyName>gtk-sharp</AssemblyName><AssemblyPublicKey></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>Creates a new dialog for the user to select one or more files, directories, or cancel.</summary><remarks><para><see cref="T:Gtk.FileSelection" /> should be used to retrieve file or directory names from the user. It will create a new dialog window containing a directory list, and a file list corresponding to the current working directory.
    </para><para>
    The filesystem can be navigated using the directory list or the drop-down history menu. Alternatively, the TAB key can be used to navigate using filename completion - common in text based editors such as emacs and jed.</para><para>
    Simple file operations; create directory, delete file, and rename file, are available from buttons at the top of the dialog.</para><para>
    The functionality of the <see cref="T:Gtk.FileSelection" /> can be extended by using the available accessors to the buttons and drop downs.
    </para><example><code lang="C#">
using System;
using Gtk;

class FileSelectionSample
{
	Label lbl;
	FileSelection fs;

	static void Main ()
	{
		new FileSelectionSample ();
	}

	FileSelectionSample ()
	{
		Application.Init ();
		Window win = new Window ("FileSelectionSample");
		win.SetDefaultSize (250,200);
		win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
		VBox vbox = new VBox (true, 1);
		win.Add (vbox);
		Button btn = new Button ("Select a file.");
		btn.Clicked += new EventHandler (OnButtonClicked);
		vbox.Add (btn);
		lbl = new Label ("Selected: ");
		vbox.Add (lbl);
		win.ShowAll ()

		fs = new FileSelection ("Choose a file");
		fs.Response += new ResponseHandler (OnFileSelectionResponse);

		Application.Run ();
	}

	void OnButtonClicked (object o, EventArgs args)
	{
		fs.Run ();
		fs.Hide ();
	}

	void OnFileSelectionResponse (object o, ResponseArgs args)
	{
		if (args.ResponseId == ResponseType.Ok)
		{
			lbl.Text = "Selected: " + fs.Filename;
		}
	}

	void OnWinDelete (object o, DeleteEventArgs args)
	{
		Application.Quit ();
	}
} 
  </code></example></remarks></Docs><Base><BaseTypeName>Gtk.Dialog</BaseTypeName></Base><Interfaces></Interfaces><Members><Member MemberName="Complete"><MemberSignature Language="C#" Value="public void Complete (string pattern);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="pattern" Type="System.String" /></Parameters><Docs><summary>Restrict the visible files and directories to those that match the given <paramref name="pattern" />.</summary><param name="pattern">A simple wildcard pattern such as '*.txt'.</param><remarks><para>This method attempts to match <paramref name="pattern" /> to a valid filenames or subdirectories in the current directory. If a match can be made, the matched filename will appear in the text entry field of the <see cref="T:Gtk.FileSelection" />. If a partial match can be made, the "Files" list will contain those file names which have been partially matched, and the "Folders" list will show those directories with a partial match.</para></remarks></Docs></Member><Member MemberName="ShowFileopButtons"><MemberSignature Language="C#" Value="public void ShowFileopButtons ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>Ensures that the file operation buttons are visible.</summary><remarks /></Docs></Member><Member MemberName="HideFileopButtons"><MemberSignature Language="C#" Value="public void HideFileopButtons ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>Ensures that the file operation buttons are hidden.</summary><remarks /></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public FileSelection (IntPtr raw);" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters><Docs><summary>Internal constructor</summary><param name="raw">Pointer to the C object.</param><remarks><para>This is an internal constructor, and should not be used by user code.</para></remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public FileSelection (string title);" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="title" Type="System.String" /></Parameters><Docs><summary>The main way to construct a new file selector.</summary><param name="title">A title that will appear in the window's title bar.</param><remarks /></Docs></Member><Member MemberName="ActionArea"><MemberSignature Language="C#" Value="public Gtk.HButtonBox ActionArea { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.HButtonBox</ReturnType></ReturnValue><Docs><summary>The widget enclosing the items that can be acted upon.</summary><value>an object of type <see cref="T:Gtk.HButtonBox" /></value><remarks>(FIXME: how is this different from ButtonArea? Gtk+ docs are thin about this.)</remarks></Docs></Member><Member MemberName="ButtonArea"><MemberSignature Language="C#" Value="public Gtk.HButtonBox ButtonArea { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.HButtonBox</ReturnType></ReturnValue><Docs><summary>A widget to contain all the button objects in this dialog.</summary><value>an object of type <see cref="T:Gtk.HButtonBox" /></value><remarks /></Docs></Member><Member MemberName="FileopRenFile"><MemberSignature Language="C#" Value="public Gtk.Button FileopRenFile { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Button</ReturnType></ReturnValue><Docs><summary>The 'rename file' button of this file selector.</summary><value /><remarks><para>This button may or may not be visible, see <see cref="M:Gtk.FileSelection.ShowFileopButtons()" /> and <see cref="M:Gtk.FileSelection.ShowFileopButtons()" />.</para></remarks></Docs></Member><Member MemberName="FileopDelFile"><MemberSignature Language="C#" Value="public Gtk.Button FileopDelFile { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Button</ReturnType></ReturnValue><Docs><summary>The 'delete' button of this file selector.</summary><value /><remarks><para>This button may or may not be visible, see <see cref="M:Gtk.FileSelection.ShowFileopButtons()" /> and <see cref="M:Gtk.FileSelection.ShowFileopButtons()" />.</para></remarks></Docs></Member><Member MemberName="FileopCDir"><MemberSignature Language="C#" Value="public Gtk.Button FileopCDir { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Button</ReturnType></ReturnValue><Docs><summary>The 'create directory' button of this file selector.</summary><value /><remarks><para>This button may or may not be visible, see <see cref="M:Gtk.FileSelection.ShowFileopButtons()" /> and <see cref="M:Gtk.FileSelection.ShowFileopButtons()" />.</para></remarks></Docs></Member><Member MemberName="FileopFile"><MemberSignature Language="C#" Value="public string FileopFile { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>The filename selected by this <see cref="T:Gtk.FileSelection" />.</summary><value>an object of type <see cref="T:System.String" /></value><remarks /></Docs></Member><Member MemberName="FileopEntry"><MemberSignature Language="C#" Value="public Gtk.Entry FileopEntry { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Entry</ReturnType></ReturnValue><Docs><summary>The main <see cref="T:Gtk.Entry" /> widget of this <see cref="T:Gtk.FileSelection" />.</summary><value /><remarks /></Docs></Member><Member MemberName="FileopDialog"><MemberSignature Language="C#" Value="public Gtk.MessageDialog FileopDialog { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.MessageDialog</ReturnType></ReturnValue><Docs><summary>The dialog box for confirming actions, if necessary.</summary><value>an object of type <see cref="T:Gtk.MessageDialog" /></value><remarks /></Docs></Member><Member MemberName="HistoryMenu"><MemberSignature Language="C#" Value="public Gtk.Menu HistoryMenu { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Menu</ReturnType></ReturnValue><Docs><summary>The <see cref="T:Gtk.Menu" /> that is displayed by the <see cref="P:Gtk.FileSelection.HistoryPulldown" />.</summary><value>A menu containing the file system paths higher than the selected directory, and the user's directory history.</value><remarks><para>Note that this <see cref="T:Gtk.Widget" /> does not just contain history, it contains a list of directories above the current directory in the filesystem as well as user directory history.</para></remarks></Docs></Member><Member MemberName="HistoryPulldown"><MemberSignature Language="C#" Value="public Gtk.OptionMenu HistoryPulldown { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.OptionMenu</ReturnType></ReturnValue><Docs><summary>The drop down menu containing directories in the filesystem above the selected directory, and the user's directory history.</summary><value>The <see cref="T:Gtk.OptionMenu" /> at the top of the file selector.</value><remarks><para>This widget displays the menu returned by <see cref="P:Gtk.FileSelection.HistoryMenu" />.</para></remarks></Docs></Member><Member MemberName="HelpButton"><MemberSignature Language="C#" Value="public Gtk.Button HelpButton { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Button</ReturnType></ReturnValue><Docs><summary>A help button, not displayed by default.</summary><value /><remarks /></Docs></Member><Member MemberName="CancelButton"><MemberSignature Language="C#" Value="public Gtk.Button CancelButton { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Button</ReturnType></ReturnValue><Docs><summary>The 'cancel' button of this file selector.</summary><value /><remarks /></Docs></Member><Member MemberName="OkButton"><MemberSignature Language="C#" Value="public Gtk.Button OkButton { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Button</ReturnType></ReturnValue><Docs><summary>The 'OK' button of this file selector.</summary><value /><remarks /></Docs></Member><Member MemberName="SelectionText"><MemberSignature Language="C#" Value="public Gtk.Label SelectionText { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Label</ReturnType></ReturnValue><Docs><summary>The text to display about the file to be selected.</summary><value>an object of type <see cref="T:Gtk.Label" /></value><remarks /></Docs></Member><Member MemberName="SelectionEntry"><MemberSignature Language="C#" Value="public Gtk.Entry SelectionEntry { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.Entry</ReturnType></ReturnValue><Docs><summary>The text-entry widget for entering a filename into.</summary><value>an object of type <see cref="T:Gtk.Entry" /></value><remarks /></Docs></Member><Member MemberName="FileList"><MemberSignature Language="C#" Value="public Gtk.TreeView FileList { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.TreeView</ReturnType></ReturnValue><Docs><summary>The <see cref="T:Gtk.TreeView" /> widget that displays files in this file selector.</summary><value /><remarks /></Docs></Member><Member MemberName="DirList"><MemberSignature Language="C#" Value="public Gtk.TreeView DirList { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.TreeView</ReturnType></ReturnValue><Docs><summary>The <see cref="T:Gtk.TreeView" /> widget that displays directories in this file selector.</summary><value /><remarks /></Docs></Member><Member MemberName="MainVBox"><MemberSignature Language="C#" Value="public Gtk.VBox MainVBox { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>Gtk.VBox</ReturnType></ReturnValue><Parameters /><Docs><summary>The main <see cref="T:Gtk.VBox" /> in the file selector.</summary><value>a <see cref="T:Gtk.VBox" /></value><remarks></remarks><since version="Gtk# 2.4" /></Docs></Member><Member MemberName="Selections"><MemberSignature Language="C#" Value="public string[] Selections { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Docs><summary>Get the files that are selected</summary><value>An array of file paths</value><remarks /></Docs></Member><Member MemberName="ShowFileops"><MemberSignature Language="C#" Value="public bool ShowFileops { set; get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>Manage whether buttons are displayed for doing file operations.</summary><value><see langword="true" /> for buttons to be shown, <see langword="false" /> otherwise.</value><remarks><para>This manipulates whether the buttons for creating a directory, deleting files and renaming files, are displayed.</para></remarks></Docs><Attributes><Attribute><AttributeName>GLib.Property("show-fileops")</AttributeName></Attribute></Attributes></Member><Member MemberName="Filename"><MemberSignature Language="C#" Value="public string Filename { set; get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>Manage the selected filename.</summary><value>The selected filename in the on-disk encoding.</value><remarks><para>If <paramref name="value" /> includes a directory path, then the requestor will open with that path as its current working directory. The encoding of filename is the on-disk encoding, which may not be UTF-8.</para></remarks></Docs><Attributes><Attribute><AttributeName>GLib.Property("filename")</AttributeName></Attribute></Attributes></Member><Member MemberName="SelectMultiple"><MemberSignature Language="C#" Value="public bool SelectMultiple { set; get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>Manage whether more than one file can be selected.</summary><value><see langword="true" /> if multiple selections are allowed, <see langword="false" /> otherwise.</value><remarks /></Docs><Attributes><Attribute><AttributeName>GLib.Property("select-multiple")</AttributeName></Attribute></Attributes></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>GType Property.</summary><value>a <see cref="T:GLib.GType" /></value><remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.FileSelection" />.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected FileSelection (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>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks></Docs><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes></Member></Members><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes></Type>