GtkFileChooserButton

GtkFileChooserButton — A button to launch a file chooser dialog

Properties

GtkFileChooser * dialog Write / Construct Only
gboolean modal Read / Write
gchar * title Read / Write
gint width-chars Read / Write

Signals

void file-set Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFileChooserButton

Implemented Interfaces

GtkFileChooserButton implements AtkImplementorIface, GtkBuildable, GtkConstraintTarget and GtkFileChooser.

Includes

#include <gtk/gtk.h>

Description

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 “select-multiple” property to TRUE.

Create a button to let the user select a file in /etc

1
2
3
4
5
6
7
8
9
{
  GtkWidget *button;
  GFile *cwd = g_file_new_for_path ("/etc");

  button = gtk_file_chooser_button_new (_("Select a file"),
                                        GTK_FILE_CHOOSER_ACTION_OPEN);
  gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button), cwd);
  g_object_unref (cwd);
}

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 single CSS node with the name “filechooserbutton”.

Functions

gtk_file_chooser_button_new ()

GtkWidget *
gtk_file_chooser_button_new (const gchar *title,
                             GtkFileChooserAction action);

Creates a new file-selecting button widget.

Parameters

title

the title of the browse dialog.

 

action

the open mode for the widget.

 

Returns

a new button widget.


gtk_file_chooser_button_new_with_dialog ()

GtkWidget *
gtk_file_chooser_button_new_with_dialog
                               (GtkWidget *dialog);

Creates a GtkFileChooserButton widget which uses dialog as its file-picking window.

Note that dialog must be a GtkDialog (or subclass) which implements the GtkFileChooser interface and must not have GTK_DIALOG_DESTROY_WITH_PARENT set.

Also note that the dialog needs to have its confirmative button added with response GTK_RESPONSE_ACCEPT or GTK_RESPONSE_OK in order for the button to take over the file selected in the dialog.

Parameters

dialog

the widget to use as dialog.

[type Gtk.Dialog]

Returns

a new button widget.


gtk_file_chooser_button_get_title ()

const gchar *
gtk_file_chooser_button_get_title (GtkFileChooserButton *button);

Retrieves the title of the browse dialog used by button . The returned value should not be modified or freed.

Parameters

button

the button widget to examine.

 

Returns

a pointer to the browse dialog’s title.


gtk_file_chooser_button_set_title ()

void
gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
                                   const gchar *title);

Modifies the title of the browse dialog used by button .

Parameters

button

the button widget to modify.

 

title

the new browse dialog title.

 

gtk_file_chooser_button_get_width_chars ()

gint
gtk_file_chooser_button_get_width_chars
                               (GtkFileChooserButton *button);

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

Parameters

button

the button widget to examine.

 

Returns

an integer width (in characters) that the button will use to size itself.


gtk_file_chooser_button_set_width_chars ()

void
gtk_file_chooser_button_set_width_chars
                               (GtkFileChooserButton *button,
                                gint n_chars);

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

Parameters

button

the button widget to examine.

 

n_chars

the new width, in characters.

 

gtk_file_chooser_button_get_modal ()

gboolean
gtk_file_chooser_button_get_modal (GtkFileChooserButton *button);

Gets whether the dialog is modal.

Parameters

button

a GtkFileChooserButton

 

Returns

TRUE if the dialog is modal


gtk_file_chooser_button_set_modal ()

void
gtk_file_chooser_button_set_modal (GtkFileChooserButton *button,
                                   gboolean modal);

Sets whether the dialog should be modal.

Parameters

button

a GtkFileChooserButton

 

modal

TRUE to make the dialog modal

 

Types and Values

GtkFileChooserButton

typedef struct _GtkFileChooserButton GtkFileChooserButton;

Property Details

The “dialog” property

  “dialog”                   GtkFileChooser *

Instance of the GtkFileChooserDialog associated with the button.

Owner: GtkFileChooserButton

Flags: Write / Construct Only


The “modal” property

  “modal”                    gboolean

Whether to make the dialog modal.

Owner: GtkFileChooserButton

Flags: Read / Write

Default value: TRUE


The “title” property

  “title”                    gchar *

Title to put on the GtkFileChooserDialog associated with the button.

Owner: GtkFileChooserButton

Flags: Read / Write

Default value: "Select a File"


The “width-chars” property

  “width-chars”              gint

The width of the entry and label inside the button, in characters.

Owner: GtkFileChooserButton

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “file-set” signal

void
user_function (GtkFileChooserButton *widget,
               gpointer              user_data)

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.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First