GtkFileChooserButton

GtkFileChooserButton — A button to launch a file selection dialog

Synopsis


#include <gtk/gtk.h>

                    GtkFileChooserButton;
GtkWidget*          gtk_file_chooser_button_new         (const gchar *title,
                                                         GtkFileChooserAction action);
GtkWidget*          gtk_file_chooser_button_new_with_backend
                                                        (const gchar *title,
                                                         GtkFileChooserAction action,
                                                         const gchar *backend);
GtkWidget*          gtk_file_chooser_button_new_with_dialog
                                                        (GtkWidget *dialog);
const gchar*        gtk_file_chooser_button_get_title   (GtkFileChooserButton *button);
void                gtk_file_chooser_button_set_title   (GtkFileChooserButton *button,
                                                         const gchar *title);
gint                gtk_file_chooser_button_get_width_chars
                                                        (GtkFileChooserButton *button);
void                gtk_file_chooser_button_set_width_chars
                                                        (GtkFileChooserButton *button,
                                                         gint n_chars);
gboolean            gtk_file_chooser_button_get_focus_on_click
                                                        (GtkFileChooserButton *button);
void                gtk_file_chooser_button_set_focus_on_click
                                                        (GtkFileChooserButton *button,
                                                         gboolean focus_on_click);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBox
                                 +----GtkHBox
                                       +----GtkFileChooserButton

Implemented Interfaces

GtkFileChooserButton implements AtkImplementorIface, GtkBuildable and GtkFileChooser.

Properties

  "dialog"                   GtkFileChooser*       : Write / Construct Only
  "focus-on-click"           gboolean              : Read / Write
  "title"                    gchar*                : Read / Write
  "width-chars"              gint                  : Read / Write

Signals

  "file-set"                                       : Run First / Action

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.

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

{
  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.

Important

The GtkFileChooserButton will ellipsize the label, and thus will thus request little horizontal space. To give the button more space, you should call gtk_widget_size_request(), gtk_file_chooser_button_set_width_chars(), or pack the button in such a way that other interface elements give space to the widget.

Details

GtkFileChooserButton

typedef struct _GtkFileChooserButton GtkFileChooserButton;

This should not be accessed directly. Use the accessor functions below.


gtk_file_chooser_button_new ()

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

Creates a new file-selecting button widget.

title : the title of the browse dialog.
action : the open mode for the widget.
Returns : a new button widget.

Since 2.6


gtk_file_chooser_button_new_with_backend ()

GtkWidget*          gtk_file_chooser_button_new_with_backend
                                                        (const gchar *title,
                                                         GtkFileChooserAction action,
                                                         const gchar *backend);

Creates a new file-selecting button widget using backend.

title : the title of the browse dialog.
action : the open mode for the widget.
backend : the name of the GtkFileSystem backend to use.
Returns : a new button widget.

Since 2.6


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.

dialog : the widget to use as dialog
Returns : a new button widget.

Since 2.6


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.

button : the button widget to examine.
Returns : a pointer to the browse dialog's title.

Since 2.6


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.

button : the button widget to modify.
title : the new browse dialog title.

Since 2.6


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.

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

Since 2.6


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.

button : the button widget to examine.
n_chars : the new width, in characters.

Since 2.6


gtk_file_chooser_button_get_focus_on_click ()

gboolean            gtk_file_chooser_button_get_focus_on_click
                                                        (GtkFileChooserButton *button);

Returns whether the button grabs focus when it is clicked with the mouse. See gtk_file_chooser_button_set_focus_on_click().

button : a GtkFileChooserButton
Returns : TRUE if the button grabs focus when it is clicked with the mouse.

Since 2.10


gtk_file_chooser_button_set_focus_on_click ()

void                gtk_file_chooser_button_set_focus_on_click
                                                        (GtkFileChooserButton *button,
                                                         gboolean focus_on_click);

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.

button : a GtkFileChooserButton
focus_on_click : whether the button grabs focus when clicked with the mouse

Since 2.10

Property Details

The "dialog" property

  "dialog"                   GtkFileChooser*       : Write / Construct Only

Instance of the GtkFileChooserDialog associated with the button.

Since 2.6


The "focus-on-click" property

  "focus-on-click"           gboolean              : Read / Write

Whether the GtkFileChooserButton button grabs focus when it is clicked with the mouse.

Default value: TRUE

Since 2.10


The "title" property

  "title"                    gchar*                : Read / Write

Title to put on the GtkFileChooserDialog associated with the button.

Default value: "Select A File"

Since 2.6


The "width-chars" property

  "width-chars"              gint                  : Read / Write

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

Allowed values: >= -1

Default value: -1

Since 2.6

Signal Details

The "file-set" signal

void                user_function                      (GtkFileChooserButton *widget,
                                                        gpointer              user_data)      : Run First / Action

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.

widget : the object which received the signal.
user_data : user data set when the signal handler was connected.

Since 2.12

See Also

GtkFileChooserDialog