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.

  • ptr

    Untyped pointer to the underlying GtkFileChooserButton instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • file_chooser_button_ptr Default implementation

    Typed 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)

FileChooserButton Class

  • 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 transformation

    transform_to

    ValueTransformer to use for backwards transformation

    Return 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:value:) Extension method

    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

FileChooserButton signals

  • Connect a Swift signal handler to the given, typed FileChooserButtonSignalName signal

    Declaration

    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 by userData

    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 a C signal handler to the given, typed FileChooserButtonSignalName signal

    Declaration

    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 by userData

    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:handler:) Extension method

    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 underlying file-set signal

    Declaration

    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 method

    Typed file-set signal for using the connect(signal:) methods

    Declaration

    Swift

    static var fileSetSignal: FileChooserButtonSignalName { get }
  • 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 to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_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 underlying notify::dialog signal

    Declaration

    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 method

    Typed notify::dialog signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyDialogSignal: FileChooserButtonSignalName { get }
  • 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 to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_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 underlying notify::title signal

    Declaration

    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 method

    Typed notify::title signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyTitleSignal: FileChooserButtonSignalName { get }
  • 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 to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_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 underlying notify::width-chars signal

    Declaration

    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 method

    Typed notify::width-chars signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyWidthCharsSignal: FileChooserButtonSignalName { get }

FileChooserButton Class: FileChooserButtonProtocol extension (methods and fields)

  • getFocusOnClick() Extension method

    Returns 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 method

    Retrieves 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 method

    Retrieves 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 by button.

    Declaration

    Swift

    @inlinable
    func set(title: UnsafePointer<gchar>!)
  • setWidthChars(nChars:) Extension method

    Sets the width (in characters) that button will use to n_chars.

    Declaration

    Swift

    @inlinable
    func setWidthChars(nChars: Int)
  • focusOnClick Extension method

    Returns 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 method

    Title to put on the GtkFileChooserDialog associated with the button.

    Declaration

    Swift

    @inlinable
    var title: String! { get nonmutating set }
  • widthChars Extension method

    Retrieves the width in characters of the button widget’s entry and/or label.

    Declaration

    Swift

    @inlinable
    var widthChars: Int { get nonmutating set }
  • parent Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var parent: GtkBox { get }