Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
GtkFileChooserDialog
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
2004-10-11 18:08:35 +00:00
|
|
|
A file chooser dialog, suitable for "File/Open" or "File/Save" commands
|
Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
2003-10-23 22:59:34 +00:00
|
|
|
<para>
|
|
|
|
#GtkFileChooserDialog is a dialog box suitable for use with
|
|
|
|
"File/Open" or "File/Save as" commands. This widget works by
|
|
|
|
putting a #GtkFileChooserWidget inside a #GtkDialog. It exposes
|
|
|
|
the #GtkFileChooserIface interface, so you can use all of the
|
|
|
|
#GtkFileChooser functions on the file chooser dialog as well as
|
|
|
|
those for #GtkDialog.
|
|
|
|
</para>
|
Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
|
2003-10-23 22:59:34 +00:00
|
|
|
<para>
|
|
|
|
Note that #GtkFileChooserDialog does not have any methods of its
|
|
|
|
own. Instead, you should use the functions that work on a
|
|
|
|
#GtkFileChooser.
|
|
|
|
</para>
|
Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
|
2003-11-18 22:50:26 +00:00
|
|
|
<example id="gtkfilechooser-typical-usage">
|
2003-10-23 22:59:34 +00:00
|
|
|
<title>Typical usage</title>
|
Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
|
2003-10-23 22:59:34 +00:00
|
|
|
<para>
|
2005-07-15 05:50:48 +00:00
|
|
|
In the simplest of cases, you can the following code to use
|
|
|
|
#GtkFileChooserDialog to select a file for opening:
|
2003-10-23 22:59:34 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
GtkWidget *dialog;
|
|
|
|
|
|
|
|
dialog = gtk_file_chooser_dialog_new ("Open File",
|
|
|
|
parent_window,
|
|
|
|
GTK_FILE_CHOOSER_ACTION_OPEN,
|
|
|
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
2004-03-27 00:54:10 +00:00
|
|
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
|
2003-10-23 22:59:34 +00:00
|
|
|
NULL);
|
|
|
|
|
|
|
|
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
|
|
|
|
{
|
|
|
|
char *filename;
|
|
|
|
|
|
|
|
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
|
|
|
open_file (filename);
|
|
|
|
g_free (filename);
|
|
|
|
}
|
|
|
|
|
2005-07-15 05:50:48 +00:00
|
|
|
gtk_widget_destroy (dialog);
|
|
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
To use a dialog for saving, you can use this:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
GtkWidget *dialog;
|
|
|
|
|
|
|
|
dialog = gtk_file_chooser_dialog_new ("Save File",
|
|
|
|
parent_window,
|
|
|
|
GTK_FILE_CHOOSER_ACTION_SAVE,
|
|
|
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
|
|
|
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
|
|
|
|
NULL);
|
|
|
|
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
|
|
|
|
|
2005-07-22 02:51:37 +00:00
|
|
|
if (user_edited_a_new_document)
|
|
|
|
{
|
|
|
|
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), default_folder_for_saving);
|
|
|
|
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "Untitled document");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), filename_for_existing_document);
|
|
|
|
|
|
|
|
|
2005-07-15 05:50:48 +00:00
|
|
|
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
|
|
|
|
{
|
|
|
|
char *filename;
|
|
|
|
|
|
|
|
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
|
|
|
save_to_file (filename);
|
|
|
|
g_free (filename);
|
|
|
|
}
|
|
|
|
|
2003-10-23 22:59:34 +00:00
|
|
|
gtk_widget_destroy (dialog);
|
|
|
|
</programlisting>
|
|
|
|
</example>
|
|
|
|
|
2004-03-27 00:54:10 +00:00
|
|
|
<section id="gtkfilechooserdialog-response-codes">
|
|
|
|
<title>Response Codes</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
#GtkFileChooserDialog inherits from #GtkDialog, so buttons that
|
|
|
|
go in its action area have response codes such as
|
|
|
|
#GTK_RESPONSE_ACCEPT and #GTK_RESPONSE_CANCEL. For example, you
|
|
|
|
could call gtk_file_chooser_dialog_new() as follows:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
GtkWidget *dialog;
|
|
|
|
|
|
|
|
dialog = gtk_file_chooser_dialog_new ("Open File",
|
|
|
|
parent_window,
|
|
|
|
GTK_FILE_CHOOSER_ACTION_OPEN,
|
|
|
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
|
|
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
|
|
|
|
NULL);
|
|
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
This will create buttons for "Cancel" and "Open" that use stock
|
|
|
|
response identifiers from #GtkResponseType. For most dialog
|
|
|
|
boxes you can use your own custom response codes rather than the
|
|
|
|
ones in #GtkResponseType, but #GtkFileChooserDialog assumes that
|
|
|
|
its "accept"-type action, e.g. an "Open" or "Save" button,
|
|
|
|
<emphasis>will</emphasis> have one of the following response
|
|
|
|
codes:
|
|
|
|
<simplelist id="gtkfilechooserdialog-responses">
|
|
|
|
<member>#GTK_RESPONSE_ACCEPT</member>
|
|
|
|
<member>#GTK_RESPONSE_OK</member>
|
|
|
|
<member>#GTK_RESPONSE_YES</member>
|
|
|
|
<member>#GTK_RESPONSE_APPLY</member>
|
|
|
|
</simplelist>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
This is because #GtkFileChooserDialog must intercept responses
|
|
|
|
and switch to folders if appropriate, rather than letting the
|
|
|
|
dialog terminate — the implementation uses these known
|
|
|
|
response codes to know which responses can be blocked if
|
|
|
|
appropriate.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<note>
|
|
|
|
<para>
|
|
|
|
To summarize, make sure you use a <link
|
|
|
|
linkend="gtkfilechooserdialog-responses">stock response
|
|
|
|
code</link> when you use #GtkFileChooserDialog to ensure
|
|
|
|
proper operation.
|
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</section>
|
|
|
|
|
2003-10-23 22:59:34 +00:00
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
|
|
|
#GtkFileChooser, #GtkDialog
|
|
|
|
</para>
|
Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
|
2005-06-20 22:06:27 +00:00
|
|
|
<!-- ##### SECTION Stability_Level ##### -->
|
|
|
|
|
|
|
|
|
2010-05-08 05:18:53 +00:00
|
|
|
<!-- ##### SECTION Image ##### -->
|
2004-03-02 22:57:40 +00:00
|
|
|
|
|
|
|
|
2010-05-08 05:18:53 +00:00
|
|
|
<!-- ##### STRUCT GtkFileChooserDialog ##### -->
|
Added gtk_file_chooser_get_type, gtk_file_chooser_dialog_get_type,
2003-10-23 Federico Mena Quintero <federico@ximian.com>
* gtk/gtk.types: Added gtk_file_chooser_get_type,
gtk_file_chooser_dialog_get_type,
gtk_file_chooser_widget_get_type, gtk_file_filter_get_type.
* gtk/gtk-sections.txt: Added GtkFileChooser,
GtkFileChooserWidget, GtkFileChooserDialog, GtkFileFilter.
* gtk/Makefile.am (IGNORE_HFILES): Added gtkcellrendererseptext.h,
gtkfilechooserdefault.h, gtkfilechooserentry.h,
gtkfilechooserutils.h, gtkfilesystem.h, gtkfilesystemmodel.h,
gtkfilesystemunix.h.
* gtk/tmpl/gtkfilechooser.sgml: New template file.
* gtk/tmpl/gtkfilechooserdialog.sgml: Likewise.
* gtk/tmpl/gtkfilechooserwidget.sgml: Likewise.
* gtk/tmpl/gtkfilefilter.sgml: Likewise.
2003-10-23 19:47:13 +00:00
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
2010-05-08 05:18:53 +00:00
|
|
|
<!-- ##### FUNCTION gtk_file_chooser_dialog_new ##### -->
|
2004-03-02 22:57:40 +00:00
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@title:
|
|
|
|
@parent:
|
|
|
|
@action:
|
|
|
|
@first_button_text:
|
|
|
|
@Varargs:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|