FileChooserButtonProtocol
public protocol FileChooserButtonProtocol : BoxProtocol, FileChooserProtocol
The GtkFileChooserButton
is a widget that lets the user select a
file. It implements the GtkFileChooser
interface. Visually, it is a
file name with a button to bring up a GtkFileChooserDialog
.
The user can then use that dialog to change the file associated with
that button. This widget does not support setting the
GtkFileChooser:select-multiple
property to true
.
Create a button to let the user select a file in /etc
(C Language Example):
{
GtkWidget *button;
button = gtk_file_chooser_button_new (_("Select a file"),
GTK_FILE_CHOOSER_ACTION_OPEN);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
"/etc");
}
The GtkFileChooserButton
supports the GtkFileChooserActions
GTK_FILE_CHOOSER_ACTION_OPEN
and GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
.
> The GtkFileChooserButton
will ellipsize the label, and will thus
> request little horizontal space. To give the button more space,
> you should call gtk_widget_get_preferred_size()
,
> gtk_file_chooser_button_set_width_chars()
, or pack the button in
> such a way that other interface elements give space to the
> widget.
CSS nodes
GtkFileChooserButton has a CSS node with name “filechooserbutton”, containing a subnode for the internal button with name “button” and style class “.file”.
The FileChooserButtonProtocol
protocol exposes the methods and properties of an underlying GtkFileChooserButton
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 FileChooserButton
.
Alternatively, use FileChooserButtonRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkFileChooserButton
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
file_chooser_button_ptr
Default implementationTyped pointer to the underlying
GtkFileChooserButton
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkFileChooserButton
instance.Declaration
Swift
var file_chooser_button_ptr: UnsafeMutablePointer<GtkFileChooserButton>! { get }
-
Required Initialiser for types conforming to
FileChooserButtonProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
FileChooserButtonPropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: FileChooserButtonPropertyName, 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 FileChooserButton property
Declaration
Swift
@inlinable func get(property: FileChooserButtonPropertyName) -> 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 FileChooserButton property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: FileChooserButtonPropertyName, 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
FileChooserButtonSignalName
signalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserButtonSignalName, 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
FileChooserButtonSignalName
signalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserButtonSignalName, 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)
-
onFileSet(flags:
Extension methodhandler: ) The
file-set
signal is emitted when the user selects a file.Note that this signal is only emitted when the user changes the file.
Note
This represents the underlyingfile-set
signalDeclaration
Swift
@discardableResult @inlinable func onFileSet(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef) -> Void) -> Int
Parameters
flags
Flags
unownedSelf
Reference to instance of self
handler
The signal handler to call Run the given callback whenever the
fileSet
signal is emitted -
fileSetSignal
Extension methodTyped
file-set
signal for using theconnect(signal:)
methodsDeclaration
Swift
static var fileSetSignal: FileChooserButtonSignalName { get }
-
onNotifyDialog(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::dialog
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyDialog(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef, _ 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
notifyDialog
signal is emitted -
notifyDialogSignal
Extension methodTyped
notify::dialog
signal for using theconnect(signal:)
methodsDeclaration
Swift
static var notifyDialogSignal: FileChooserButtonSignalName { get }
-
onNotifyTitle(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::title
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyTitle(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef, _ 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
notifyTitle
signal is emitted -
notifyTitleSignal
Extension methodTyped
notify::title
signal for using theconnect(signal:)
methodsDeclaration
Swift
static var notifyTitleSignal: FileChooserButtonSignalName { get }
-
onNotifyWidthChars(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::width-chars
signalDeclaration
Swift
@discardableResult @inlinable func onNotifyWidthChars(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef, _ 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
notifyWidthChars
signal is emitted -
notifyWidthCharsSignal
Extension methodTyped
notify::width-chars
signal for using theconnect(signal:)
methodsDeclaration
Swift
static var notifyWidthCharsSignal: FileChooserButtonSignalName { get }
-
getFocusOnClick()
Extension methodReturns whether the button grabs focus when it is clicked with the mouse. See
gtk_file_chooser_button_set_focus_on_click()
.get_focus_on_click is deprecated: Use gtk_widget_get_focus_on_click() instead
Declaration
Swift
@available(*, deprecated) @available(*, deprecated) @inlinable func getFocusOnClick() -> Bool
-
getTitle()
Extension methodRetrieves the title of the browse dialog used by
button
. The returned value should not be modified or freed.Declaration
Swift
@inlinable func getTitle() -> String!
-
getWidthChars()
Extension methodRetrieves the width in characters of the
button
widget’s entry and/or label.Declaration
Swift
@inlinable func getWidthChars() -> Int
-
set(focusOnClick:
Extension method) Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application.
set_focus_on_click is deprecated: Use gtk_widget_set_focus_on_click() instead
Declaration
Swift
@available(*, deprecated) @available(*, deprecated) @inlinable func set(focusOnClick: Bool)
-
set(title:
Extension method) Modifies the
title
of the browse dialog used bybutton
.Declaration
Swift
@inlinable func set(title: UnsafePointer<gchar>!)
-
setWidthChars(nChars:
Extension method) Sets the width (in characters) that
button
will use ton_chars
.Declaration
Swift
@inlinable func setWidthChars(nChars: Int)
-
focusOnClick
Extension methodReturns whether the button grabs focus when it is clicked with the mouse. See
gtk_file_chooser_button_set_focus_on_click()
.get_focus_on_click is deprecated: Use gtk_widget_get_focus_on_click() instead
Declaration
Swift
@available(*, deprecated) @inlinable var focusOnClick: Bool { get nonmutating set }
-
title
Extension methodTitle to put on the
GtkFileChooserDialog
associated with the button.Declaration
Swift
@inlinable var title: String! { get nonmutating set }
-
widthChars
Extension methodRetrieves the width in characters of the
button
widget’s entry and/or label.Declaration
Swift
@inlinable var widthChars: Int { get nonmutating set }
-
parent
Extension methodUndocumented
Declaration
Swift
@inlinable var parent: GtkBox { get }