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
GtkFileChooser
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
file_chooser_ptr
Default implementationTyped pointer to the underlying
GtkFileChooser
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkFileChooser
instance.Declaration
Swift
var file_chooser_ptr: UnsafeMutablePointer<GtkFileChooser>! { get }
-
Required Initialiser for types conforming to
FileChooserProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
FileChooserPropertyName
source 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 : ObjectProtocol
Parameters
source_property
the source property to bind
target
the target object to bind to
target_property
the target property to bind to
flags
the flags to pass to the
Binding
transform_from
ValueTransformer
to use for forward transformationtransform_to
ValueTransformer
to use for backwards transformationReturn Value
binding reference or
nil
in case of an error -
get(property:
Extension method) Get the value of a FileChooser property
Declaration
Swift
@inlinable func get(property: FileChooserPropertyName) -> GLibObject.Value
Parameters
property
the 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
property
the 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
FileChooserSignalName
signalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserSignalName, flags f: ConnectFlags = ConnectFlags(0), handler h: @escaping SignalHandler) -> Int
Parameters
signal
The signal to connect
flags
The connection flags to use
data
A pointer to user data to provide to the callback
destroyData
A
GClosureNotify
C function to destroy the data pointed to byuserData
handler
The 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
FileChooserSignalName
signalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserSignalName, flags f: ConnectFlags = ConnectFlags(0), data userData: gpointer!, destroyData destructor: GClosureNotify? = nil, signalHandler h: @escaping GCallback) -> Int
Parameters
signal
The signal to connect
flags
The connection flags to use
data
A pointer to user data to provide to the callback
destroyData
A
GClosureNotify
C function to destroy the data pointed to byuserData
signalHandler
The 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_SAVE
mode.Most applications just need to turn on the
GtkFileChooser:do-overwrite-confirmation
property (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-overwrite
signal.A signal handler for this signal must return a
GtkFileChooserConfirmation
value, 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-overwrite
signalDeclaration
Swift
@discardableResult @inlinable func onConfirmOverwrite(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> FileChooserConfirmation) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
handler
a
GtkFileChooserConfirmation
value that indicates which action to take after emitting the signal. Run the given callback whenever theconfirmOverwrite
signal is emitted -
confirmOverwriteSignal
Extension methodTyped
confirm-overwrite
signal 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
GtkFileChooser
changes. 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-changed
signalDeclaration
Swift
@discardableResult @inlinable func onCurrentFolderChanged(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
handler
The signal handler to call Run the given callback whenever the
currentFolderChanged
signal is emitted -
currentFolderChangedSignal
Extension methodTyped
current-folder-changed
signal 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
GtkFileChooserDialog
to 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-activated
signalDeclaration
Swift
@discardableResult @inlinable func onFileActivated(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
handler
The signal handler to call Run the given callback whenever the
fileActivated
signal is emitted -
fileActivatedSignal
Extension methodTyped
file-activated
signal 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-changed
signalDeclaration
Swift
@discardableResult @inlinable func onSelectionChanged(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
handler
The signal handler to call Run the given callback whenever the
selectionChanged
signal is emitted -
selectionChangedSignal
Extension methodTyped
selection-changed
signal 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-preview
signalDeclaration
Swift
@discardableResult @inlinable func onUpdatePreview(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
handler
The signal handler to call Run the given callback whenever the
updatePreview
signal is emitted -
updatePreviewSignal
Extension methodTyped
update-preview
signal 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 innotify
being 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::action
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyAction(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyAction
signal is emitted -
notifyActionSignal
Extension methodTyped
notify::action
signal 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 innotify
being 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-folders
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyCreateFolders(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyCreateFolders
signal is emitted -
notifyCreateFoldersSignal
Extension methodTyped
notify::create-folders
signal 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 innotify
being 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-confirmation
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyDoOverwriteConfirmation(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyDoOverwriteConfirmation
signal is emitted -
notifyDoOverwriteConfirmationSignal
Extension methodTyped
notify::do-overwrite-confirmation
signal 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 innotify
being 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-widget
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyExtraWidget(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyExtraWidget
signal is emitted -
notifyExtraWidgetSignal
Extension methodTyped
notify::extra-widget
signal 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 innotify
being 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::filter
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyFilter(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyFilter
signal is emitted -
notifyFilterSignal
Extension methodTyped
notify::filter
signal 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 innotify
being 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-only
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyLocalOnly(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyLocalOnly
signal is emitted -
notifyLocalOnlySignal
Extension methodTyped
notify::local-only
signal 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 innotify
being 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
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyPreviewWidget(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyPreviewWidget
signal is emitted -
notifyPreviewWidgetSignal
Extension methodTyped
notify::preview-widget
signal 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 innotify
being 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-active
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyPreviewWidgetActive(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyPreviewWidgetActive
signal is emitted -
notifyPreviewWidgetActiveSignal
Extension methodTyped
notify::preview-widget-active
signal 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 innotify
being 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-multiple
signalDeclaration
Swift
@discardableResult @inlinable func onNotifySelectMultiple(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifySelectMultiple
signal is emitted -
notifySelectMultipleSignal
Extension methodTyped
notify::select-multiple
signal 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 innotify
being 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-hidden
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyShowHidden(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyShowHidden
signal is emitted -
notifyShowHiddenSignal
Extension methodTyped
notify::show-hidden
signal 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 innotify
being 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-label
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyUsePreviewLabel(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserRef, _ pspec: ParamSpecRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
pspec
the
GParamSpec
of the property which changed.handler
The signal handler to call Run the given callback whenever the
notifyUsePreviewLabel
signal is emitted -
notifyUsePreviewLabelSignal
Extension methodTyped
notify::use-preview-label
signal 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 theresponse
signal 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
filter
to 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
chooser
takes 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
chooser
as 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_FOLDER
mode (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
chooser
asGFile
. Seegtk_file_chooser_get_current_folder_uri()
.Declaration
Swift
@inlinable func getCurrentFolderFile() -> GIO.FileRef!
-
getCurrentFolderURI()
Extension methodGets the current folder of
chooser
as 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_FOLDER
mode (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
GFile
for 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
chooser
asGFile
. 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
GFile
that 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
filter
from 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 ofchooser
will 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_SAVE
but 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
chooser
from 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
chooser
from 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
chooser
from 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_SAVE
mode will present a confirmation dialog if the user types a file name that already exists. This isfalse
by default.If set to
true
, thechooser
will emit theGtkFileChooser::confirm-overwrite
signal 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-overwrite
signal; 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
file
as the current filename for the file chooser, by changing to the file’s parent folder and actually selecting the file in list. If thechooser
is inGTK_FILE_CHOOSER_ACTION_SAVE
mode, 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 ofchooser
will 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
filename
as 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 thechooser
is inGTK_FILE_CHOOSER_ACTION_SAVE
mode, 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_only
istrue
(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-preview
signal, 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. Whenactive
is set to false, the file chooser may display an internally generated preview of the current file or it may display no preview at all. 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_OPEN
orGTK_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
uri
as the current file for the file chooser, by changing to the URI’s parent folder and actually selecting the URI in the list. If thechooser
isGTK_FILE_CHOOSER_ACTION_SAVE
mode, 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 tofalse
and 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>!)
-
action
Extension methodUndocumented
Declaration
Swift
@inlinable var action: GtkFileChooserAction { get nonmutating set }
-
createFolders
Extension 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 }
-
currentFolder
Extension methodGets the current folder of
chooser
as 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_FOLDER
mode (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 }
-
currentFolderFile
Extension methodGets the current folder of
chooser
asGFile
. Seegtk_file_chooser_get_current_folder_uri()
.Declaration
Swift
@inlinable var currentFolderFile: GIO.FileRef! { get nonmutating set }
-
currentFolderURI
Extension methodGets the current folder of
chooser
as 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_FOLDER
mode (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 }
-
currentName
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 var currentName: String! { get nonmutating set }
-
doOverwriteConfirmation
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 var doOverwriteConfirmation: Bool { get nonmutating set }
-
extraWidget
Extension methodGets the current extra widget; see
gtk_file_chooser_set_extra_widget()
.Declaration
Swift
@inlinable var extraWidget: WidgetRef! { get nonmutating set }
-
file
Extension methodGets the
GFile
for 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 }
-
filename
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 var filename: String! { get nonmutating set }
-
filenames
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 var filenames: GLib.SListRef! { get }
-
files
Extension methodLists all the selected files and subfolders in the current folder of
chooser
asGFile
. An internal function, seegtk_file_chooser_get_uris()
.Declaration
Swift
@inlinable var files: GLib.SListRef! { get }
-
filter
Extension methodUndocumented
Declaration
Swift
@inlinable var filter: FileFilterRef! { get nonmutating set }
-
localOnly
Extension 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 }
-
previewFile
Extension methodGets the
GFile
that should be previewed in a custom preview Internal function, seegtk_file_chooser_get_preview_uri()
.Declaration
Swift
@inlinable var previewFile: GIO.FileRef! { get }
-
previewFilename
Extension 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 }
-
previewURI
Extension 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 }
-
previewWidget
Extension methodGets the current preview widget; see
gtk_file_chooser_set_preview_widget()
.Declaration
Swift
@inlinable var previewWidget: WidgetRef! { get nonmutating set }
-
previewWidgetActive
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 var previewWidgetActive: Bool { get nonmutating set }
-
selectMultiple
Extension 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 }
-
showHidden
Extension 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 }
-
uri
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 var uri: String! { get nonmutating set }
-
uris
Extension 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 }
-
usePreviewLabel
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 var usePreviewLabel: Bool { get nonmutating set }