gtk3/docs/reference/gtk/html/GtkFileChooserDialog.html
2017-12-21 20:47:04 -05:00

401 lines
26 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkFileChooserDialog: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="SelectorWidgets.html" title="Selector Widgets and Dialogs">
<link rel="prev" href="gtk3-GtkFileChooserNative.html" title="GtkFileChooserNative">
<link rel="next" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#GtkFileChooserDialog.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#GtkFileChooserDialog.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
<a href="#GtkFileChooserDialog.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="SelectorWidgets.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gtk3-GtkFileChooserNative.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkFileChooserWidget.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkFileChooserDialog"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkFileChooserDialog.top_of_page"></a>GtkFileChooserDialog</span></h2>
<p>GtkFileChooserDialog — A file chooser dialog, suitable for “File/Open” or “File/Save” commands</p>
</td>
<td class="gallery_image" valign="top" align="right"><img src="filechooser.png"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkFileChooserDialog.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody><tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new" title="gtk_file_chooser_dialog_new ()">gtk_file_chooser_dialog_new</a> <span class="c_punctuation">()</span>
</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkFileChooserDialog.html#GtkFileChooserDialog-struct" title="struct GtkFileChooserDialog">GtkFileChooserDialog</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
<span class="lineart">╰──</span> <a href="../gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
<span class="lineart">╰──</span> <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
<span class="lineart">╰──</span> <a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a>
<span class="lineart">╰──</span> <a class="link" href="GtkBin.html" title="GtkBin">GtkBin</a>
<span class="lineart">╰──</span> <a class="link" href="GtkWindow.html" title="GtkWindow">GtkWindow</a>
<span class="lineart">╰──</span> <a class="link" href="GtkDialog.html" title="GtkDialog">GtkDialog</a>
<span class="lineart">╰──</span> GtkFileChooserDialog
</pre>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkFileChooserDialog implements
AtkImplementorIface, <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a> and <a class="link" href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a>.</p>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.description"></a><h2>Description</h2>
<p><a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> is a dialog box suitable for use with
“File/Open” or “File/Save as” commands. This widget works by
putting a <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a> inside a <a class="link" href="GtkDialog.html" title="GtkDialog"><span class="type">GtkDialog</span></a>. It exposes
the <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> interface, so you can use all of the
<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> functions on the file chooser dialog as well as
those for <a class="link" href="GtkDialog.html" title="GtkDialog"><span class="type">GtkDialog</span></a>.</p>
<p>Note that <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> does not have any methods of its
own. Instead, you should use the functions that work on a
<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>.</p>
<p>If you want to integrate well with the platform you should use the
<span class="type">GtkFileChooserNative</span> API, which will use a platform-specific
dialog if available and fall back to GtkFileChooserDialog
otherwise.</p>
<div class="refsect3">
<a name="gtkfilechooser-typical-usage"></a><h4>Typical usage</h4>
<p>In the simplest of cases, you can the following code to use
<a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> to select a file for opening:</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24</pre></td>
<td class="listing_code"><pre class="programlisting">GtkWidget <span class="gtkdoc opt">*</span>dialog<span class="gtkdoc opt">;</span>
GtkFileChooserAction action <span class="gtkdoc opt">=</span> GTK_FILE_CHOOSER_ACTION_OPEN<span class="gtkdoc opt">;</span>
gint res<span class="gtkdoc opt">;</span>
dialog <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new">gtk_file_chooser_dialog_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Open File&quot;</span><span class="gtkdoc opt">,</span>
parent_window<span class="gtkdoc opt">,</span>
action<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;_Cancel&quot;</span><span class="gtkdoc opt">),</span>
GTK_RESPONSE_CANCEL<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;_Open&quot;</span><span class="gtkdoc opt">),</span>
GTK_RESPONSE_ACCEPT<span class="gtkdoc opt">,</span>
NULL<span class="gtkdoc opt">);</span>
res <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkDialog.html#gtk-dialog-run">gtk_dialog_run</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_DIALOG</span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">));</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>res <span class="gtkdoc opt">==</span> GTK_RESPONSE_ACCEPT<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>filename<span class="gtkdoc opt">;</span>
GtkFileChooser <span class="gtkdoc opt">*</span>chooser <span class="gtkdoc opt">=</span> <span class="function">GTK_FILE_CHOOSER</span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">);</span>
filename <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-filename">gtk_file_chooser_get_filename</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">);</span>
<span class="function">open_file</span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">);</span>
<span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">);</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p></p>
<p>To use a dialog for saving, you can use this:</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35</pre></td>
<td class="listing_code"><pre class="programlisting">GtkWidget <span class="gtkdoc opt">*</span>dialog<span class="gtkdoc opt">;</span>
GtkFileChooser <span class="gtkdoc opt">*</span>chooser<span class="gtkdoc opt">;</span>
GtkFileChooserAction action <span class="gtkdoc opt">=</span> GTK_FILE_CHOOSER_ACTION_SAVE<span class="gtkdoc opt">;</span>
gint res<span class="gtkdoc opt">;</span>
dialog <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new">gtk_file_chooser_dialog_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Save File&quot;</span><span class="gtkdoc opt">,</span>
parent_window<span class="gtkdoc opt">,</span>
action<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;_Cancel&quot;</span><span class="gtkdoc opt">),</span>
GTK_RESPONSE_CANCEL<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;_Save&quot;</span><span class="gtkdoc opt">),</span>
GTK_RESPONSE_ACCEPT<span class="gtkdoc opt">,</span>
NULL<span class="gtkdoc opt">);</span>
chooser <span class="gtkdoc opt">=</span> <span class="function">GTK_FILE_CHOOSER</span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">);</span>
<span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation">gtk_file_chooser_set_do_overwrite_confirmation</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> TRUE<span class="gtkdoc opt">);</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>user_edited_a_new_document<span class="gtkdoc opt">)</span>
<span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;Untitled document&quot;</span><span class="gtkdoc opt">));</span>
<span class="keyword">else</span>
<span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-filename">gtk_file_chooser_set_filename</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span>
existing_filename<span class="gtkdoc opt">);</span>
res <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkDialog.html#gtk-dialog-run">gtk_dialog_run</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_DIALOG</span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">));</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>res <span class="gtkdoc opt">==</span> GTK_RESPONSE_ACCEPT<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>filename<span class="gtkdoc opt">;</span>
filename <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-filename">gtk_file_chooser_get_filename</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">);</span>
<span class="function">save_to_file</span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">);</span>
<span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">);</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p></p>
</div>
<div class="refsect3">
<a name="gtkfilechooserdialog-setting-up"></a><h4>Setting up a file chooser dialog</h4>
<p>There are various cases in which you may need to use a <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>To select a file for opening. Use <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_OPEN</span></a>.</p></li>
<li class="listitem"><p>To save a file for the first time. Use <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_SAVE</span></a>,
and suggest a name such as “Untitled” with <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()"><code class="function">gtk_file_chooser_set_current_name()</code></a>.</p></li>
<li class="listitem"><p>To save a file under a different name. Use <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_SAVE</span></a>,
and set the existing filename with <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()"><code class="function">gtk_file_chooser_set_filename()</code></a>.</p></li>
<li class="listitem"><p>To choose a folder instead of a file. Use <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</span></a>.</p></li>
</ul></div>
<p>Note that old versions of the file choosers documentation suggested
using <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()"><code class="function">gtk_file_chooser_set_current_folder()</code></a> in various
situations, with the intention of letting the application
suggest a reasonable default folder. This is no longer
considered to be a good policy, as now the file chooser is
able to make good suggestions on its own. In general, you
should only cause the file chooser to show a specific folder
when it is appropriate to use <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()"><code class="function">gtk_file_chooser_set_filename()</code></a>,
i.e. when you are doing a Save As command and you already
have a file saved somewhere.</p>
</div>
<div class="refsect3">
<a name="gtkfilechooserdialog-responses"></a><h4>Response Codes</h4>
<p><a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> inherits from <a class="link" href="GtkDialog.html" title="GtkDialog"><span class="type">GtkDialog</span></a>, so buttons that
go in its action area have response codes such as
<a class="link" href="GtkDialog.html#GTK-RESPONSE-ACCEPT:CAPS"><span class="type">GTK_RESPONSE_ACCEPT</span></a> and <a class="link" href="GtkDialog.html#GTK-RESPONSE-CANCEL:CAPS"><span class="type">GTK_RESPONSE_CANCEL</span></a>. For example, you
could call <a class="link" href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new" title="gtk_file_chooser_dialog_new ()"><code class="function">gtk_file_chooser_dialog_new()</code></a> as follows:</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11</pre></td>
<td class="listing_code"><pre class="programlisting">GtkWidget <span class="gtkdoc opt">*</span>dialog<span class="gtkdoc opt">;</span>
GtkFileChooserAction action <span class="gtkdoc opt">=</span> GTK_FILE_CHOOSER_ACTION_OPEN<span class="gtkdoc opt">;</span>
dialog <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new">gtk_file_chooser_dialog_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Open File&quot;</span><span class="gtkdoc opt">,</span>
parent_window<span class="gtkdoc opt">,</span>
action<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;_Cancel&quot;</span><span class="gtkdoc opt">),</span>
GTK_RESPONSE_CANCEL<span class="gtkdoc opt">,</span>
<span class="function">_</span><span class="gtkdoc opt">(</span><span class="string">&quot;_Open&quot;</span><span class="gtkdoc opt">),</span>
GTK_RESPONSE_ACCEPT<span class="gtkdoc opt">,</span>
NULL<span class="gtkdoc opt">);</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p></p>
<p>This will create buttons for “Cancel” and “Open” that use stock
response identifiers from <a class="link" href="GtkDialog.html#GtkResponseType" title="enum GtkResponseType"><span class="type">GtkResponseType</span></a>. For most dialog
boxes you can use your own custom response codes rather than the
ones in <a class="link" href="GtkDialog.html#GtkResponseType" title="enum GtkResponseType"><span class="type">GtkResponseType</span></a>, but <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> assumes that
its “accept”-type action, e.g. an “Open” or “Save” button,
will have one of the following response codes:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><a class="link" href="GtkDialog.html#GTK-RESPONSE-ACCEPT:CAPS"><span class="type">GTK_RESPONSE_ACCEPT</span></a></p></li>
<li class="listitem"><p><a class="link" href="GtkDialog.html#GTK-RESPONSE-OK:CAPS"><span class="type">GTK_RESPONSE_OK</span></a></p></li>
<li class="listitem"><p><a class="link" href="GtkDialog.html#GTK-RESPONSE-YES:CAPS"><span class="type">GTK_RESPONSE_YES</span></a></p></li>
<li class="listitem"><p><a class="link" href="GtkDialog.html#GTK-RESPONSE-APPLY:CAPS"><span class="type">GTK_RESPONSE_APPLY</span></a></p></li>
</ul></div>
<p>This is because <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> 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.</p>
<p>To summarize, make sure you use a
<a class="link" href="GtkFileChooserDialog.html#gtkfilechooserdialog-responses" title="Response Codes">stock response code</a>
when you use <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> to ensure proper operation.</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-file-chooser-dialog-new"></a><h3>gtk_file_chooser_dialog_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_file_chooser_dialog_new (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *title</code></em>,
<em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *parent</code></em>,
<em class="parameter"><code><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a> action</code></em>,
<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_button_text</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>Creates a new <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>. This function is analogous to
<a class="link" href="GtkDialog.html#gtk-dialog-new-with-buttons" title="gtk_dialog_new_with_buttons ()"><code class="function">gtk_dialog_new_with_buttons()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-dialog-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>title</p></td>
<td class="parameter_description"><p> Title of the dialog, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p> Transient parent of the dialog, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>action</p></td>
<td class="parameter_description"><p>Open or save mode for the dialog</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_button_text</p></td>
<td class="parameter_description"><p> stock ID or text to go in the first button, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>response ID for the first button, then additional (button, id) pairs, ending with <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-dialog-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a></p>
</div>
<p class="since">Since: 2.4</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkFileChooserDialog-struct"></a><h3>struct GtkFileChooserDialog</h3>
<pre class="programlisting">struct GtkFileChooserDialog;</pre>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooserDialog.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, <a class="link" href="GtkDialog.html" title="GtkDialog"><span class="type">GtkDialog</span></a>, GtkFileChooserNative</p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
</body>
</html>