FileChooserProtocol
public protocol FileChooserProtocol
GtkFileChooser is an interface that can be implemented by file
selection widgets. In GTK+, the main objects that implement this
interface are GtkFileChooserWidget, GtkFileChooserDialog, and
GtkFileChooserButton. You do not need to write an object that
implements the GtkFileChooser interface unless you are trying to
adapt an existing file selector to expose a standard programming
interface.
GtkFileChooser allows for shortcuts to various places in the filesystem.
In the default implementation these are displayed in the left pane. It
may be a bit confusing at first that these shortcuts come from various
sources and in various flavours, so lets explain the terminology here:
Bookmarks: are created by the user, by dragging folders from the right pane to the left pane, or by using the “Add”. Bookmarks can be renamed and deleted by the user.
Shortcuts: can be provided by the application. For example, a Paint program may want to add a shortcut for a Clipart folder. Shortcuts cannot be modified by the user.
Volumes: are provided by the underlying filesystem abstraction. They are the “roots” of the filesystem.
File Names and Encodings
When the user is finished selecting files in a
GtkFileChooser, your program can get the selected names
either as filenames or as URIs. For URIs, the normal escaping
rules are applied if the URI contains non-ASCII characters.
However, filenames are always returned in
the character set specified by the
G_FILENAME_ENCODING environment variable.
Please see the GLib documentation for more details about this
variable.
This means that while you can pass the result of
gtk_file_chooser_get_filename() to g_open() or g_fopen(),
you may not be able to directly set it as the text of a
GtkLabel widget unless you convert it first to UTF-8,
which all GTK+ widgets expect. You should use g_filename_to_utf8()
to convert filenames into strings that can be passed to GTK+
widgets.
Adding a Preview Widget
You can add a custom preview widget to a file chooser and then
get notification about when the preview needs to be updated.
To install a preview widget, use
gtk_file_chooser_set_preview_widget(). Then, connect to the
GtkFileChooser::update-preview signal to get notified when
you need to update the contents of the preview.
Your callback should use
gtk_file_chooser_get_preview_filename() to see what needs
previewing. Once you have generated the preview for the
corresponding file, you must call
gtk_file_chooser_set_preview_widget_active() with a boolean
flag that indicates whether your callback could successfully
generate a preview.
Example: Using a Preview Widget ##
(C Language Example):
{
GtkImage *preview;
...
preview = gtk_image_new ();
gtk_file_chooser_set_preview_widget (my_file_chooser, preview);
g_signal_connect (my_file_chooser, "update-preview",
G_CALLBACK (update_preview_cb), preview);
}
static void
update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
{
GtkWidget *preview;
char *filename;
GdkPixbuf *pixbuf;
gboolean have_preview;
preview = GTK_WIDGET (data);
filename = gtk_file_chooser_get_preview_filename (file_chooser);
pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, NULL);
have_preview = (pixbuf != NULL);
g_free (filename);
gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf);
if (pixbuf)
g_object_unref (pixbuf);
gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
}
Adding Extra Widgets
You can add extra widgets to a file chooser to provide options
that are not present in the default design. For example, you
can add a toggle button to give the user the option to open a
file in read-only mode. You can use
gtk_file_chooser_set_extra_widget() to insert additional
widgets in a file chooser.
An example for adding extra widgets: (C Language Example):
GtkWidget *toggle;
...
toggle = gtk_check_button_new_with_label ("Open file read-only");
gtk_widget_show (toggle);
gtk_file_chooser_set_extra_widget (my_file_chooser, toggle);
}
If you want to set more than one extra widget in the file
chooser, you can a container such as a GtkBox or a GtkGrid
and include your widgets in it. Then, set the container as
the whole extra widget.
The FileChooserProtocol protocol exposes the methods and properties of an underlying GtkFileChooser instance.
The default implementation of these can be found in the protocol extension below.
For a concrete class that implements these methods and properties, see FileChooser.
Alternatively, use FileChooserRef as a lighweight, unowned reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkFileChooserinstance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get } -
file_chooser_ptrDefault implementationTyped pointer to the underlying
GtkFileChooserinstance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkFileChooserinstance.Declaration
Swift
var file_chooser_ptr: UnsafeMutablePointer<GtkFileChooser>! { get } -
Required Initialiser for types conforming to
FileChooserProtocolDeclaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
FileChooserPropertyNamesource property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: FileChooserPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocolParameters
source_propertythe source property to bind
targetthe target object to bind to
target_propertythe target property to bind to
flagsthe flags to pass to the
Bindingtransform_fromValueTransformerto use for forward transformationtransform_toValueTransformerto use for backwards transformationReturn Value
binding reference or
nilin case of an error -
get(property:Extension method) Get the value of a FileChooser property
Declaration
Swift
@inlinable func get(property: FileChooserPropertyName) -> GLibObject.ValueParameters
propertythe property to get the value for
Return Value
the value of the named property
-
set(property:Extension methodvalue: ) Set the value of a FileChooser property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: FileChooserPropertyName, value v: GLibObject.Value)Parameters
propertythe property to get the value for
Return Value
the value of the named property
-
connect(signal:Extension methodflags: handler: ) Connect a Swift signal handler to the given, typed
FileChooserSignalNamesignalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserSignalName, flags f: ConnectFlags = ConnectFlags(0), handler h: @escaping SignalHandler) -> IntParameters
signalThe signal to connect
flagsThe connection flags to use
dataA pointer to user data to provide to the callback
destroyDataA
GClosureNotifyC function to destroy the data pointed to byuserDatahandlerThe Swift signal handler (function or callback) to invoke on the given signal
Return Value
The signal handler ID (always greater than 0 for successful connections)
-
connect(signal:Extension methodflags: data: destroyData: signalHandler: ) Connect a C signal handler to the given, typed
FileChooserSignalNamesignalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserSignalName, flags f: ConnectFlags = ConnectFlags(0), data userData: gpointer!, destroyData destructor: GClosureNotify? = nil, signalHandler h: @escaping GCallback) -> IntParameters
signalThe signal to connect
flagsThe connection flags to use
dataA pointer to user data to provide to the callback
destroyDataA
GClosureNotifyC function to destroy the data pointed to byuserDatasignalHandlerThe C function to be called on the given signal
Return Value
The signal handler ID (always greater than 0 for successful connections)
-
onConfirmOverwrite(flags:Extension methodhandler: ) This signal gets emitted whenever it is appropriate to present a confirmation dialog when the user has selected a file name that already exists. The signal only gets emitted when the file chooser is in
GTK_FILE_CHOOSER_ACTION_SAVEmode.Most applications just need to turn on the
GtkFileChooser:do-overwrite-confirmationproperty (or call thegtk_file_chooser_set_do_overwrite_confirmation()function), and they will automatically get a stock confirmation dialog. Applications which need to customize this behavior should do that, and also connect to theGtkFileChooser::confirm-overwritesignal.A signal handler for this signal must return a
GtkFileChooserConfirmationvalue, which indicates the action to take. If the handler determines that the user wants to select a different filename, it should returnGTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN. If it determines that the user is satisfied with his choice of file name, it should returnGTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME. On the other hand, if it determines that the stock confirmation dialog should be used, it should returnGTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example illustrates this.Custom confirmation ##
(C Language Example):
static GtkFileChooserConfirmation confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data) { char *uri; uri = gtk_file_chooser_get_uri (chooser); if (is_uri_read_only (uri)) { if (user_wants_to_replace_read_only_file (uri)) return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME; else return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN; } else return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog } ... chooser = gtk_file_chooser_dialog_new (...); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); g_signal_connect (chooser, "confirm-overwrite", G_CALLBACK (confirm_overwrite_callback), NULL); if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT) save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); gtk_widget_destroy (chooser);Note
This represents the underlyingconfirm-overwritesignalDeclaration
Swift
@discardableResult @inlinable func onConfirmOverwrite(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> FileChooserConfirmation) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlera
GtkFileChooserConfirmationvalue that indicates which action to take after emitting the signal. Run the given callback whenever theconfirmOverwritesignal is emitted -
confirmOverwriteSignalExtension methodTyped
confirm-overwritesignal for using theconnect(signal:)methodsDeclaration
Swift
static var confirmOverwriteSignal: FileChooserSignalName { get } -
onCurrentFolderChanged(flags:Extension methodhandler: ) This signal is emitted when the current folder in a
GtkFileChooserchanges. This 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.
See also:
gtk_file_chooser_set_current_folder(),gtk_file_chooser_get_current_folder(),gtk_file_chooser_set_current_folder_uri(),gtk_file_chooser_get_current_folder_uri().Note
This represents the underlyingcurrent-folder-changedsignalDeclaration
Swift
@discardableResult @inlinable func onCurrentFolderChanged(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlerThe signal handler to call Run the given callback whenever the
currentFolderChangedsignal is emitted -
currentFolderChangedSignalExtension methodTyped
current-folder-changedsignal for using theconnect(signal:)methodsDeclaration
Swift
static var currentFolderChangedSignal: FileChooserSignalName { get } -
onFileActivated(flags:Extension methodhandler: ) This signal is emitted when the user “activates” a file in the file chooser. This 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
GtkFileChooserDialogto know when to activate the default button in the dialog.See also:
gtk_file_chooser_get_filename(),gtk_file_chooser_get_filenames(),gtk_file_chooser_get_uri(),gtk_file_chooser_get_uris().Note
This represents the underlyingfile-activatedsignalDeclaration
Swift
@discardableResult @inlinable func onFileActivated(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlerThe signal handler to call Run the given callback whenever the
fileActivatedsignal is emitted -
fileActivatedSignalExtension methodTyped
file-activatedsignal for using theconnect(signal:)methodsDeclaration
Swift
static var fileActivatedSignal: FileChooserSignalName { get } -
onSelectionChanged(flags:Extension methodhandler: ) This signal is emitted when there is a change in the set of selected files in a
GtkFileChooser. This can happen when the user modifies the selection with the mouse or the keyboard, or when explicitly calling functions to change the selection.Normally you do not need to connect to this signal, as it is easier to wait for the file chooser to finish running, and then to get the list of selected files using the functions mentioned below.
See also:
gtk_file_chooser_select_filename(),gtk_file_chooser_unselect_filename(),gtk_file_chooser_get_filename(),gtk_file_chooser_get_filenames(),gtk_file_chooser_select_uri(),gtk_file_chooser_unselect_uri(),gtk_file_chooser_get_uri(),gtk_file_chooser_get_uris().Note
This represents the underlyingselection-changedsignalDeclaration
Swift
@discardableResult @inlinable func onSelectionChanged(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlerThe signal handler to call Run the given callback whenever the
selectionChangedsignal is emitted -
selectionChangedSignalExtension methodTyped
selection-changedsignal for using theconnect(signal:)methodsDeclaration
Swift
static var selectionChangedSignal: FileChooserSignalName { get } -
onUpdatePreview(flags:Extension methodhandler: ) 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. You should use this signal if you want your file chooser to have a preview widget.
Once you have installed a preview widget with
gtk_file_chooser_set_preview_widget(), you should update it when this signal is emitted. You can use the functionsgtk_file_chooser_get_preview_filename()orgtk_file_chooser_get_preview_uri()to get the name of the file to preview. Your widget may not be able to preview all kinds of files; your callback must callgtk_file_chooser_set_preview_widget_active()to inform the file chooser about whether the preview was generated successfully or not.Please see the example code in Using a Preview Widget.
See also:
gtk_file_chooser_set_preview_widget(),gtk_file_chooser_set_preview_widget_active(),gtk_file_chooser_set_use_preview_label(),gtk_file_chooser_get_preview_filename(),gtk_file_chooser_get_preview_uri().Note
This represents the underlyingupdate-previewsignalDeclaration
Swift
@discardableResult @inlinable func onUpdatePreview(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlerThe signal handler to call Run the given callback whenever the
updatePreviewsignal is emitted -
updatePreviewSignalExtension methodTyped
update-previewsignal for using theconnect(signal:)methodsDeclaration
Swift
static var updatePreviewSignal: FileChooserSignalName { get } -
onNotifyAction(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::actionsignalDeclaration
Swift
@discardableResult @inlinable func onNotifyAction(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyActionsignal is emitted -
notifyActionSignalExtension methodTyped
notify::actionsignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyActionSignal: FileChooserSignalName { get } -
onNotifyCreateFolders(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::create-folderssignalDeclaration
Swift
@discardableResult @inlinable func onNotifyCreateFolders(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyCreateFolderssignal is emitted -
notifyCreateFoldersSignalExtension methodTyped
notify::create-folderssignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyCreateFoldersSignal: FileChooserSignalName { get } -
onNotifyDoOverwriteConfirmation(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::do-overwrite-confirmationsignalDeclaration
Swift
@discardableResult @inlinable func onNotifyDoOverwriteConfirmation(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyDoOverwriteConfirmationsignal is emitted -
notifyDoOverwriteConfirmationSignalExtension methodTyped
notify::do-overwrite-confirmationsignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyDoOverwriteConfirmationSignal: FileChooserSignalName { get } -
onNotifyExtraWidget(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::extra-widgetsignalDeclaration
Swift
@discardableResult @inlinable func onNotifyExtraWidget(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyExtraWidgetsignal is emitted -
notifyExtraWidgetSignalExtension methodTyped
notify::extra-widgetsignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyExtraWidgetSignal: FileChooserSignalName { get } -
onNotifyFilter(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::filtersignalDeclaration
Swift
@discardableResult @inlinable func onNotifyFilter(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyFiltersignal is emitted -
notifyFilterSignalExtension methodTyped
notify::filtersignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyFilterSignal: FileChooserSignalName { get } -
onNotifyLocalOnly(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::local-onlysignalDeclaration
Swift
@discardableResult @inlinable func onNotifyLocalOnly(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyLocalOnlysignal is emitted -
notifyLocalOnlySignalExtension methodTyped
notify::local-onlysignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyLocalOnlySignal: FileChooserSignalName { get } -
onNotifyPreviewWidget(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::preview-widgetsignalDeclaration
Swift
@discardableResult @inlinable func onNotifyPreviewWidget(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyPreviewWidgetsignal is emitted -
notifyPreviewWidgetSignalExtension methodTyped
notify::preview-widgetsignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyPreviewWidgetSignal: FileChooserSignalName { get } -
onNotifyPreviewWidgetActive(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::preview-widget-activesignalDeclaration
Swift
@discardableResult @inlinable func onNotifyPreviewWidgetActive(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyPreviewWidgetActivesignal is emitted -
notifyPreviewWidgetActiveSignalExtension methodTyped
notify::preview-widget-activesignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyPreviewWidgetActiveSignal: FileChooserSignalName { get } -
onNotifySelectMultiple(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::select-multiplesignalDeclaration
Swift
@discardableResult @inlinable func onNotifySelectMultiple(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifySelectMultiplesignal is emitted -
notifySelectMultipleSignalExtension methodTyped
notify::select-multiplesignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifySelectMultipleSignal: FileChooserSignalName { get } -
onNotifyShowHidden(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::show-hiddensignalDeclaration
Swift
@discardableResult @inlinable func onNotifyShowHidden(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyShowHiddensignal is emitted -
notifyShowHiddenSignalExtension methodTyped
notify::show-hiddensignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyShowHiddenSignal: FileChooserSignalName { get } -
onNotifyUsePreviewLabel(flags:Extension methodhandler: ) The notify signal is emitted on an object when one of its properties has its value set through
g_object_set_property(),g_object_set(), et al.Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with
G_PARAM_EXPLICIT_NOTIFY, then any call tog_object_set_property()results innotifybeing emitted, even if the new value is the same as the old. If they did passG_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly callg_object_notify()org_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the
g_signal_connect()call, like this:(C Language Example):
g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view)It is important to note that you must use canonical parameter names as detail strings for the notify signal.
Note
This represents the underlyingnotify::use-preview-labelsignalDeclaration
Swift
@discardableResult @inlinable func onNotifyUsePreviewLabel(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
pspecthe
GParamSpecof the property which changed.handlerThe signal handler to call Run the given callback whenever the
notifyUsePreviewLabelsignal is emitted -
notifyUsePreviewLabelSignalExtension methodTyped
notify::use-preview-labelsignal for using theconnect(signal:)methodsDeclaration
Swift
static var notifyUsePreviewLabelSignal: FileChooserSignalName { get }
-
addChoice(id:Extension methodlabel: options: optionLabels: ) Adds a ‘choice’ to the file chooser. This is typically implemented as a combobox or, for boolean choices, as a checkbutton. You can select a value using
gtk_file_chooser_set_choice()before the dialog is shown, and you can obtain the user-selected value in theresponsesignal handler usinggtk_file_chooser_get_choice().Compare
gtk_file_chooser_set_extra_widget().Declaration
Swift
@inlinable func addChoice(id: UnsafePointer<CChar>!, label: UnsafePointer<CChar>!, options: UnsafeMutablePointer<UnsafePointer<CChar>?>! = nil, optionLabels: UnsafeMutablePointer<UnsafePointer<CChar>?>! = nil) -
add(filter:Extension method) Adds
filterto the list of filters that the user can select between. When a filter is selected, only files that are passed by that filter are displayed.Note that the
choosertakes ownership of the filter, so you have to ref and sink it if you want to keep a reference.Declaration
Swift
@inlinable func add<FileFilterT>(filter: FileFilterT) where FileFilterT : FileFilterProtocol -
addShortcut(folder:Extension method) Adds a folder to be displayed with the shortcut folders in a file chooser. 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.
Declaration
Swift
@inlinable func addShortcut(folder: UnsafePointer<CChar>!) throws -> Bool -
addShortcutFolder(uri:Extension method) Adds a folder URI to be displayed with the shortcut folders in a file chooser. 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.
Declaration
Swift
@inlinable func addShortcutFolder(uri: UnsafePointer<CChar>!) throws -> Bool -
getAction()Extension methodGets the type of operation that the file chooser is performing; see
gtk_file_chooser_set_action().Declaration
Swift
@inlinable func getAction() -> GtkFileChooserAction -
getChoice(id:Extension method) Gets the currently selected option in the ‘choice’ with the given ID.
Declaration
Swift
@inlinable func getChoice(id: UnsafePointer<CChar>!) -> String! -
getCreateFolders()Extension methodGets whether file choser will offer to create new folders. See
gtk_file_chooser_set_create_folders().Declaration
Swift
@inlinable func getCreateFolders() -> Bool -
getCurrentFolder()Extension methodGets the current folder of
chooseras a local filename. Seegtk_file_chooser_set_current_folder().Note that this is the folder that the file chooser is currently displaying (e.g. “/home/username/Documents”), which is not the same as the currently-selected folder if the chooser is in
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDERmode (e.g. “/home/username/Documents/selected-folder/”. To get the currently-selected folder in that mode, usegtk_file_chooser_get_uri()as the usual way to get the selection.Declaration
Swift
@inlinable func getCurrentFolder() -> String! -
getCurrentFolderFile()Extension methodGets the current folder of
chooserasGFile. Seegtk_file_chooser_get_current_folder_uri().Declaration
Swift
@inlinable func getCurrentFolderFile() -> GIO.FileRef! -
getCurrentFolderURI()Extension methodGets the current folder of
chooseras an URI. Seegtk_file_chooser_set_current_folder_uri().Note that this is the folder that the file chooser is currently displaying (e.g. “file:///home/username/Documents”), which is not the same as the currently-selected folder if the chooser is in
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDERmode (e.g. “file:///home/username/Documents/selected-folder/”. To get the currently-selected folder in that mode, usegtk_file_chooser_get_uri()as the usual way to get the selection.Declaration
Swift
@inlinable func getCurrentFolderURI() -> String! -
getCurrentName()Extension methodGets the current name in the file selector, as entered by the user in the text entry for “Name”.
This is meant to be used in save dialogs, to get the currently typed filename when the file itself does not exist yet. For example, an application that adds a custom extra widget to the file chooser for “file format” may want to change the extension of the typed filename based on the chosen format, say, from “.jpg” to “.png”.
Declaration
Swift
@inlinable func getCurrentName() -> String! -
getDoOverwriteConfirmation()Extension methodQueries whether a file chooser is set to confirm for overwriting when the user types a file name that already exists.
Declaration
Swift
@inlinable func getDoOverwriteConfirmation() -> Bool -
getExtraWidget()Extension methodGets the current extra widget; see
gtk_file_chooser_set_extra_widget().Declaration
Swift
@inlinable func getExtraWidget() -> WidgetRef! -
getFile()Extension methodGets the
GFilefor the currently selected file in the file selector. If multiple files are selected, one of the files will be returned at random.If the file chooser is in folder mode, this function returns the selected folder.
Declaration
Swift
@inlinable func getFile() -> GIO.FileRef! -
getFilename()Extension methodGets the filename for the currently selected file in the file selector. The filename is returned as an absolute path. 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.
Declaration
Swift
@inlinable func getFilename() -> String! -
getFilenames()Extension methodLists all the selected files and subfolders in the current folder of
chooser. The returned names are full absolute paths. If files in the current folder cannot be represented as local filenames they will be ignored. (Seegtk_file_chooser_get_uris())Declaration
Swift
@inlinable func getFilenames() -> GLib.SListRef! -
getFiles()Extension methodLists all the selected files and subfolders in the current folder of
chooserasGFile. An internal function, seegtk_file_chooser_get_uris().Declaration
Swift
@inlinable func getFiles() -> GLib.SListRef! -
getFilter()Extension methodGets the current filter; see
gtk_file_chooser_set_filter().Declaration
Swift
@inlinable func getFilter() -> FileFilterRef! -
getLocalOnly()Extension methodGets whether only local files can be selected in the file selector. See
gtk_file_chooser_set_local_only()Declaration
Swift
@inlinable func getLocalOnly() -> Bool -
getPreviewFile()Extension methodGets the
GFilethat should be previewed in a custom preview Internal function, seegtk_file_chooser_get_preview_uri().Declaration
Swift
@inlinable func getPreviewFile() -> GIO.FileRef! -
getPreviewFilename()Extension methodGets the filename that should be previewed in a custom preview widget. See
gtk_file_chooser_set_preview_widget().Declaration
Swift
@inlinable func getPreviewFilename() -> String! -
getPreviewURI()Extension methodGets the URI that should be previewed in a custom preview widget. See
gtk_file_chooser_set_preview_widget().Declaration
Swift
@inlinable func getPreviewURI() -> String! -
getPreviewWidget()Extension methodGets the current preview widget; see
gtk_file_chooser_set_preview_widget().Declaration
Swift
@inlinable func getPreviewWidget() -> WidgetRef! -
getPreviewWidgetActive()Extension methodGets whether the preview widget set by
gtk_file_chooser_set_preview_widget()should be shown for the current filename. Seegtk_file_chooser_set_preview_widget_active().Declaration
Swift
@inlinable func getPreviewWidgetActive() -> Bool -
getSelectMultiple()Extension methodGets whether multiple files can be selected in the file selector. See
gtk_file_chooser_set_select_multiple().Declaration
Swift
@inlinable func getSelectMultiple() -> Bool -
getShowHidden()Extension methodGets whether hidden files and folders are displayed in the file selector. See
gtk_file_chooser_set_show_hidden().Declaration
Swift
@inlinable func getShowHidden() -> Bool -
getURI()Extension methodGets the URI for the currently selected file in the file selector. 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.
Declaration
Swift
@inlinable func getURI() -> String! -
getURIs()Extension methodLists all the selected files and subfolders in the current folder of
chooser. The returned names are full absolute URIs.Declaration
Swift
@inlinable func getURIs() -> GLib.SListRef! -
getUsePreviewLabel()Extension methodGets whether a stock label should be drawn with the name of the previewed file. See
gtk_file_chooser_set_use_preview_label().Declaration
Swift
@inlinable func getUsePreviewLabel() -> Bool -
listFilters()Extension methodLists the current set of user-selectable filters; see
gtk_file_chooser_add_filter(),gtk_file_chooser_remove_filter().Declaration
Swift
@inlinable func listFilters() -> GLib.SListRef! -
listShortcutFolderURIs()Extension methodQueries the list of shortcut folders in the file chooser, as set by
gtk_file_chooser_add_shortcut_folder_uri().Declaration
Swift
@inlinable func listShortcutFolderURIs() -> GLib.SListRef! -
listShortcutFolders()Extension methodQueries the list of shortcut folders in the file chooser, as set by
gtk_file_chooser_add_shortcut_folder().Declaration
Swift
@inlinable func listShortcutFolders() -> GLib.SListRef! -
removeChoice(id:Extension method) Removes a ‘choice’ that has been added with
gtk_file_chooser_add_choice().Declaration
Swift
@inlinable func removeChoice(id: UnsafePointer<CChar>!) -
remove(filter:Extension method) Removes
filterfrom the list of filters that the user can select between.Declaration
Swift
@inlinable func remove<FileFilterT>(filter: FileFilterT) where FileFilterT : FileFilterProtocol -
removeShortcut(folder:Extension method) Removes a folder from a file chooser’s list of shortcut folders.
Declaration
Swift
@inlinable func removeShortcut(folder: UnsafePointer<CChar>!) throws -> Bool -
removeShortcutFolder(uri:Extension method) Removes a folder URI from a file chooser’s list of shortcut folders.
Declaration
Swift
@inlinable func removeShortcutFolder(uri: UnsafePointer<CChar>!) throws -> Bool -
selectAll()Extension methodSelects all the files in the current folder of a file chooser.
Declaration
Swift
@inlinable func selectAll() -
select(file:Extension method) Selects the file referred to by
file. An internal function. See_gtk_file_chooser_select_uri().Declaration
Swift
@inlinable func select<FileT>(file: FileT) throws -> Bool where FileT : FileProtocol -
select(filename:Extension method) Selects a filename. If the file name isn’t in the current folder of
chooser, then the current folder ofchooserwill be changed to the folder containingfilename.Declaration
Swift
@inlinable func select(filename: UnsafePointer<CChar>!) -> Bool -
select(uri:Extension method) -
set(action:Extension method) Sets the type of operation that the chooser is performing; the user interface is adapted to suit the selected action. For example, an option to create a new folder might be shown if the action is
GTK_FILE_CHOOSER_ACTION_SAVEbut not if the action isGTK_FILE_CHOOSER_ACTION_OPEN.Declaration
Swift
@inlinable func set(action: GtkFileChooserAction) -
setChoice(id:Extension methodoption: ) Selects an option in a ‘choice’ that has been added with
gtk_file_chooser_add_choice(). For a boolean choice, the possible options are “true” and “false”.Declaration
Swift
@inlinable func setChoice(id: UnsafePointer<CChar>!, option: UnsafePointer<CChar>!) -
set(createFolders:Extension method) Sets whether file choser will offer to create new folders. This is only relevant if the action is not set to be
GTK_FILE_CHOOSER_ACTION_OPEN.Declaration
Swift
@inlinable func set(createFolders: Bool) -
setCurrentFolder(filename:Extension method) Sets the current folder for
chooserfrom a local filename. The user will be shown the full contents of the current folder, plus user interface elements for navigating to other folders.In general, you should not use this function. See the section on setting up a file chooser dialog for the rationale behind this.
Declaration
Swift
@inlinable func setCurrentFolder(filename: UnsafePointer<gchar>!) -> Bool -
setCurrentFolder(file:Extension method) Sets the current folder for
chooserfrom aGFile. Internal function, seegtk_file_chooser_set_current_folder_uri().Declaration
Swift
@inlinable func setCurrentFolder<FileT>(file: FileT) throws -> Bool where FileT : FileProtocol -
setCurrentFolder(uri:Extension method) Sets the current folder for
chooserfrom an URI. The user will be shown the full contents of the current folder, plus user interface elements for navigating to other folders.In general, you should not use this function. See the section on setting up a file chooser dialog for the rationale behind this.
Declaration
Swift
@inlinable func setCurrentFolder(uri: UnsafePointer<gchar>!) -> Bool -
setCurrent(name:Extension method) Sets the current name in the file selector, as if entered by the user. 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. You can pass “Untitled.doc” or a similarly suitable suggestion for the
name.If you want to preselect a particular existing file, you should use
gtk_file_chooser_set_filename()orgtk_file_chooser_set_uri()instead. Please see the documentation for those functions for an example of usinggtk_file_chooser_set_current_name()as well.Declaration
Swift
@inlinable func setCurrent(name: UnsafePointer<gchar>!) -
set(doOverwriteConfirmation:Extension method) Sets whether a file chooser in
GTK_FILE_CHOOSER_ACTION_SAVEmode will present a confirmation dialog if the user types a file name that already exists. This isfalseby default.If set to
true, thechooserwill emit theGtkFileChooser::confirm-overwritesignal when appropriate.If all you need is the stock confirmation dialog, set this property to
true. You can override the way confirmation is done by actually handling theGtkFileChooser::confirm-overwritesignal; please refer to its documentation for the details.Declaration
Swift
@inlinable func set(doOverwriteConfirmation: Bool) -
set(extraWidget:Extension method) Sets an application-supplied widget to provide extra options to the user.
Declaration
Swift
@inlinable func set<WidgetT>(extraWidget: WidgetT) where WidgetT : WidgetProtocol -
set(file:Extension method) Sets
fileas the current filename for the file chooser, by changing to the file’s parent folder and actually selecting the file in list. If thechooseris inGTK_FILE_CHOOSER_ACTION_SAVEmode, the file’s base name will also appear in the dialog’s file name entry.If the file name isn’t in the current folder of
chooser, then the current folder ofchooserwill be changed to the folder containingfilename. This is equivalent to a sequence ofgtk_file_chooser_unselect_all()followed bygtk_file_chooser_select_filename().Note that the file must exist, or nothing will be done except for the directory change.
If you are implementing a save dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does Save As… If you don’t have a file name already — for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: (C Language Example):
if (document_is_new) { // the user just created a new document gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving); gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { // the user edited an existing document gtk_file_chooser_set_file (chooser, existing_file); }Declaration
Swift
@inlinable func set<FileT>(file: FileT) throws -> Bool where FileT : FileProtocol -
set(filename:Extension method) Sets
filenameas the current filename for the file chooser, by changing to the file’s parent folder and actually selecting the file in list; all other files will be unselected. If thechooseris inGTK_FILE_CHOOSER_ACTION_SAVEmode, the file’s base name will also appear in the dialog’s file name entry.Note that the file must exist, or nothing will be done except for the directory change.
You should use this function only when implementing a save dialog for which you already have a file name to which the user may save. For example, when the user opens an existing file and then does Save As… to save a copy or a modified version. If you don’t have a file name already — for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: (C Language Example):
if (document_is_new) { // the user just created a new document gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { // the user edited an existing document gtk_file_chooser_set_filename (chooser, existing_filename); }In the first case, the file chooser will present the user with useful suggestions as to where to save his new file. In the second case, the file’s existing location is already known, so the file chooser will use it.
Declaration
Swift
@inlinable func set(filename: UnsafePointer<CChar>!) -> Bool -
set(filter:Extension method) Sets the current filter; only the files that pass the filter will be displayed. If the user-selectable list of filters is non-empty, then the filter should be one of the filters in that list. Setting the current filter when the list of filters is empty is useful if you want to restrict the displayed set of files without letting the user change it.
Declaration
Swift
@inlinable func set<FileFilterT>(filter: FileFilterT) where FileFilterT : FileFilterProtocol -
set(localOnly:Extension method) Sets whether only local files can be selected in the file selector. If
local_onlyistrue(the default), then the selected file or files are guaranteed to be accessible through the operating systems native file system and therefore the application only needs to worry about the filename functions inGtkFileChooser, likegtk_file_chooser_get_filename(), rather than the URI functions likegtk_file_chooser_get_uri(),On some systems non-native files may still be available using the native filesystem via a userspace filesystem (FUSE).
Declaration
Swift
@inlinable func set(localOnly: Bool) -
set(previewWidget:Extension method) Sets an application-supplied widget to use to display a custom preview of the currently selected file. To implement a preview, after setting the preview widget, you connect to the
GtkFileChooser::update-previewsignal, and callgtk_file_chooser_get_preview_filename()orgtk_file_chooser_get_preview_uri()on each change. If you can display a preview of the new file, update your widget and set the preview active usinggtk_file_chooser_set_preview_widget_active(). Otherwise, set the preview inactive.When there is no application-supplied preview widget, or the application-supplied preview widget is not active, the file chooser will display no preview at all.
Declaration
Swift
@inlinable func set<WidgetT>(previewWidget: WidgetT) where WidgetT : WidgetProtocol -
setPreviewWidget(active:Extension method) Sets whether the preview widget set by
gtk_file_chooser_set_preview_widget()should be shown for the current filename. Whenactiveis set to false, the file chooser may display an internally generated preview of the current file or it may display no preview at all. Seegtk_file_chooser_set_preview_widget()for more details.Declaration
Swift
@inlinable func setPreviewWidget(active: Bool) -
set(selectMultiple:Extension method) Sets whether multiple files can be selected in the file selector. This is only relevant if the action is set to be
GTK_FILE_CHOOSER_ACTION_OPENorGTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.Declaration
Swift
@inlinable func set(selectMultiple: Bool) -
set(showHidden:Extension method) Sets whether hidden files and folders are displayed in the file selector.
Declaration
Swift
@inlinable func set(showHidden: Bool) -
set(uri:Extension method) Sets the file referred to by
urias the current file for the file chooser, by changing to the URI’s parent folder and actually selecting the URI in the list. If thechooserisGTK_FILE_CHOOSER_ACTION_SAVEmode, the URI’s base name will also appear in the dialog’s file name entry.Note that the URI must exist, or nothing will be done except for the directory change.
You should use this function only when implementing a save dialog for which you already have a file name to which the user may save. For example, when the user opens an existing file and then does Save As… to save a copy or a modified version. If you don’t have a file name already — for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: (C Language Example):
if (document_is_new) { // the user just created a new document gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { // the user edited an existing document gtk_file_chooser_set_uri (chooser, existing_uri); }In the first case, the file chooser will present the user with useful suggestions as to where to save his new file. In the second case, the file’s existing location is already known, so the file chooser will use it.
Declaration
Swift
@inlinable func set(uri: UnsafePointer<CChar>!) -> Bool -
setUsePreviewLabel(useLabel:Extension method) Sets whether the file chooser should display a stock label with the name of the file that is being previewed; the default is
true. Applications that want to draw the whole preview area themselves should set this tofalseand display the name themselves in their preview widget.See also:
gtk_file_chooser_set_preview_widget()Declaration
Swift
@inlinable func setUsePreviewLabel(useLabel: Bool) -
unselectAll()Extension methodUnselects all the files in the current folder of a file chooser.
Declaration
Swift
@inlinable func unselectAll() -
unselect(file:Extension method) Unselects the file referred to by
file. If the file is not in the current directory, does not exist, or is otherwise not currently selected, does nothing.Declaration
Swift
@inlinable func unselect<FileT>(file: FileT) where FileT : FileProtocol -
unselect(filename:Extension method) Unselects a currently selected filename. If the filename is not in the current directory, does not exist, or is otherwise not currently selected, does nothing.
Declaration
Swift
@inlinable func unselect(filename: UnsafePointer<CChar>!) -
unselect(uri:Extension method) Unselects the file referred to by
uri. If the file is not in the current directory, does not exist, or is otherwise not currently selected, does nothing.Declaration
Swift
@inlinable func unselect(uri: UnsafePointer<CChar>!) -
actionExtension methodUndocumented
Declaration
Swift
@inlinable var action: GtkFileChooserAction { get nonmutating set } -
createFoldersExtension methodGets whether file choser will offer to create new folders. See
gtk_file_chooser_set_create_folders().Declaration
Swift
@inlinable var createFolders: Bool { get nonmutating set } -
currentFolderExtension methodGets the current folder of
chooseras a local filename. Seegtk_file_chooser_set_current_folder().Note that this is the folder that the file chooser is currently displaying (e.g. “/home/username/Documents”), which is not the same as the currently-selected folder if the chooser is in
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDERmode (e.g. “/home/username/Documents/selected-folder/”. To get the currently-selected folder in that mode, usegtk_file_chooser_get_uri()as the usual way to get the selection.Declaration
Swift
@inlinable var currentFolder: String! { get nonmutating set } -
currentFolderFileExtension methodGets the current folder of
chooserasGFile. Seegtk_file_chooser_get_current_folder_uri().Declaration
Swift
@inlinable var currentFolderFile: GIO.FileRef! { get nonmutating set } -
currentFolderURIExtension methodGets the current folder of
chooseras an URI. Seegtk_file_chooser_set_current_folder_uri().Note that this is the folder that the file chooser is currently displaying (e.g. “file:///home/username/Documents”), which is not the same as the currently-selected folder if the chooser is in
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDERmode (e.g. “file:///home/username/Documents/selected-folder/”. To get the currently-selected folder in that mode, usegtk_file_chooser_get_uri()as the usual way to get the selection.Declaration
Swift
@inlinable var currentFolderURI: String! { get nonmutating set } -
currentNameExtension methodGets the current name in the file selector, as entered by the user in the text entry for “Name”.
This is meant to be used in save dialogs, to get the currently typed filename when the file itself does not exist yet. For example, an application that adds a custom extra widget to the file chooser for “file format” may want to change the extension of the typed filename based on the chosen format, say, from “.jpg” to “.png”.
Declaration
Swift
@inlinable var currentName: String! { get nonmutating set } -
doOverwriteConfirmationExtension methodQueries whether a file chooser is set to confirm for overwriting when the user types a file name that already exists.
Declaration
Swift
@inlinable var doOverwriteConfirmation: Bool { get nonmutating set } -
extraWidgetExtension methodGets the current extra widget; see
gtk_file_chooser_set_extra_widget().Declaration
Swift
@inlinable var extraWidget: WidgetRef! { get nonmutating set } -
fileExtension methodGets the
GFilefor the currently selected file in the file selector. If multiple files are selected, one of the files will be returned at random.If the file chooser is in folder mode, this function returns the selected folder.
Declaration
Swift
@inlinable var file: GIO.FileRef! { get nonmutating set } -
filenameExtension methodGets the filename for the currently selected file in the file selector. The filename is returned as an absolute path. 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.
Declaration
Swift
@inlinable var filename: String! { get nonmutating set } -
filenamesExtension methodLists all the selected files and subfolders in the current folder of
chooser. The returned names are full absolute paths. If files in the current folder cannot be represented as local filenames they will be ignored. (Seegtk_file_chooser_get_uris())Declaration
Swift
@inlinable var filenames: GLib.SListRef! { get } -
filesExtension methodLists all the selected files and subfolders in the current folder of
chooserasGFile. An internal function, seegtk_file_chooser_get_uris().Declaration
Swift
@inlinable var files: GLib.SListRef! { get } -
filterExtension methodUndocumented
Declaration
Swift
@inlinable var filter: FileFilterRef! { get nonmutating set } -
localOnlyExtension methodGets whether only local files can be selected in the file selector. See
gtk_file_chooser_set_local_only()Declaration
Swift
@inlinable var localOnly: Bool { get nonmutating set } -
previewFileExtension methodGets the
GFilethat should be previewed in a custom preview Internal function, seegtk_file_chooser_get_preview_uri().Declaration
Swift
@inlinable var previewFile: GIO.FileRef! { get } -
previewFilenameExtension methodGets the filename that should be previewed in a custom preview widget. See
gtk_file_chooser_set_preview_widget().Declaration
Swift
@inlinable var previewFilename: String! { get } -
previewURIExtension methodGets the URI that should be previewed in a custom preview widget. See
gtk_file_chooser_set_preview_widget().Declaration
Swift
@inlinable var previewURI: String! { get } -
previewWidgetExtension methodGets the current preview widget; see
gtk_file_chooser_set_preview_widget().Declaration
Swift
@inlinable var previewWidget: WidgetRef! { get nonmutating set } -
previewWidgetActiveExtension methodGets whether the preview widget set by
gtk_file_chooser_set_preview_widget()should be shown for the current filename. Seegtk_file_chooser_set_preview_widget_active().Declaration
Swift
@inlinable var previewWidgetActive: Bool { get nonmutating set } -
selectMultipleExtension methodGets whether multiple files can be selected in the file selector. See
gtk_file_chooser_set_select_multiple().Declaration
Swift
@inlinable var selectMultiple: Bool { get nonmutating set } -
showHiddenExtension methodGets whether hidden files and folders are displayed in the file selector. See
gtk_file_chooser_set_show_hidden().Declaration
Swift
@inlinable var showHidden: Bool { get nonmutating set } -
uriExtension methodGets the URI for the currently selected file in the file selector. 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.
Declaration
Swift
@inlinable var uri: String! { get nonmutating set } -
urisExtension methodLists all the selected files and subfolders in the current folder of
chooser. The returned names are full absolute URIs.Declaration
Swift
@inlinable var uris: GLib.SListRef! { get } -
usePreviewLabelExtension methodGets whether a stock label should be drawn with the name of the previewed file. See
gtk_file_chooser_set_use_preview_label().Declaration
Swift
@inlinable var usePreviewLabel: Bool { get nonmutating set }
View on GitHub
Install in Dash
FileChooserProtocol Protocol Reference