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
GtkFileChooserButtoninstance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get } -
file_chooser_button_ptrDefault implementationTyped pointer to the underlying
GtkFileChooserButtoninstance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkFileChooserButtoninstance.Declaration
Swift
var file_chooser_button_ptr: UnsafeMutablePointer<GtkFileChooserButton>! { get } -
Required Initialiser for types conforming to
FileChooserButtonProtocolDeclaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
FileChooserButtonPropertyNamesource 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 : 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 FileChooserButton property
Declaration
Swift
@inlinable func get(property: FileChooserButtonPropertyName) -> 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 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
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
FileChooserButtonSignalNamesignalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserButtonSignalName, 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
FileChooserButtonSignalNamesignalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: FileChooserButtonSignalName, 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)
-
onFileSet(flags:Extension methodhandler: ) The
file-setsignal 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-setsignalDeclaration
Swift
@discardableResult @inlinable func onFileSet(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlerThe signal handler to call Run the given callback whenever the
fileSetsignal is emitted -
fileSetSignalExtension methodTyped
file-setsignal 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 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::dialogsignalDeclaration
Swift
@discardableResult @inlinable func onNotifyDialog(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef, _ 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
notifyDialogsignal is emitted -
notifyDialogSignalExtension methodTyped
notify::dialogsignal 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 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::titlesignalDeclaration
Swift
@discardableResult @inlinable func onNotifyTitle(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef, _ 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
notifyTitlesignal is emitted -
notifyTitleSignalExtension methodTyped
notify::titlesignal 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 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::width-charssignalDeclaration
Swift
@discardableResult @inlinable func onNotifyWidthChars(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: FileChooserButtonRef, _ 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
notifyWidthCharssignal is emitted -
notifyWidthCharsSignalExtension methodTyped
notify::width-charssignal 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
buttonwidget’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
titleof the browse dialog used bybutton.Declaration
Swift
@inlinable func set(title: UnsafePointer<gchar>!) -
setWidthChars(nChars:Extension method) Sets the width (in characters) that
buttonwill use ton_chars.Declaration
Swift
@inlinable func setWidthChars(nChars: Int) -
focusOnClickExtension 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 } -
titleExtension methodTitle to put on the
GtkFileChooserDialogassociated with the button.Declaration
Swift
@inlinable var title: String! { get nonmutating set } -
widthCharsExtension methodRetrieves the width in characters of the
buttonwidget’s entry and/or label.Declaration
Swift
@inlinable var widthChars: Int { get nonmutating set } -
parentExtension methodUndocumented
Declaration
Swift
@inlinable var parent: GtkBox { get }
View on GitHub
Install in Dash
FileChooserButtonProtocol Protocol Reference