Next: , Previous: Package_Gtk.Extra.Sheet, Up: Top



Package Gtk.File_Selection

A Gtk_File_Selection is a general widget to interactively select file. It displays a dialog in which the user can navigate through directories, select a file, and even manipulate files with operations like removing, renaming,... Currently, only one file can be selected in the dialog.

Widget Hierarchy
     GObject                       (see Package_Glib.Object)
     Gtk_Object                    (see Package_Gtk.Object)
        \___ Gtk_Widget            (see Package_Gtk.Widget)
           \___ Gtk_Container      (see Package_Gtk.Container)
              \___ Gtk_Bin         (see Package_Gtk.Bin)
                 \___ Gtk_Window   (see Package_Gtk.Window)
                    \___ Gtk_Dialog (see Package_Gtk.Dialog)
                       \___ Gtk_File_Selection (see Package_Gtk.File_Selection)
     

Subprograms

Operations on the dialog


procedure Gtk_New (File_Selection : out Gtk_File_Selection; Title : UTF8_String);
Create a new file selection dialog.
Title is the name of the dialog, as displayed in its title bar.

function Get_Type return Gtk.Gtk_Type;
Return the internal value associated with a Gtk_File_Selection.

procedure Set_Filename (File_Selection : access Gtk_File_Selection_Record; Filename : UTF8_String);
Highlight the given file in the dialog.
Note that this does not close the dialog. You can also use this procedure to select the directory to be displayed in the dialog. Along with Complete, this allows you to set some filters in the dialog.

function Get_Filename (File_Selection : access Gtk_File_Selection_Record) return UTF8_String;
Get the selected file name.

procedure Complete (File_Selection : access Gtk_File_Selection_Record; Pattern : UTF8_String);
Set the filter used to display the files.
The pattern is displayed in the entry at the bottom of the dialog, and the list of files displayed in the list.

procedure Show_Fileop_Buttons (File_Selection : access Gtk_File_Selection_Record);
When this function is called, the dialog includes a series of buttons
for file operations (create directory, rename a file, delete a file).

procedure Hide_Fileop_Buttons (File_Selection : access Gtk_File_Selection_Record);
Hide the buttons for file operations.

procedure Set_Show_File_Op_Buttons (File_Selection : access Gtk_File_Selection_Record; Flag : Boolean);
Choose whether to display or not the file operation buttons.
If Flag is true, calls Show_Fileop_Buttons, otherwise calls Hide_Fileop_Buttons.

Getting the fields


The following functions are provided to access the fields of the
file selection dialog. This dialog is divided into two main areas, the Action_Area which is the top part that contains the list of files, and the button area which is the bottom part that contains the OK and Cancel buttons.


function Get_Action_Area (File_Selection : access Gtk_File_Selection_Record) return Gtk.Box.Gtk_Box;
Return the action area.
This is the area that contains the list of files, the filter entry,etc.

function Get_Button_Area (File_Selection : access Gtk_File_Selection_Record) return Gtk.Box.Gtk_Box;
Return the button area.
This is the area that contains the OK and Cancel buttons.

function Get_Dir_List (File_Selection : access Gtk_File_Selection_Record) return Gtk.Widget.Gtk_Widget;
Return the list that display the list of directories.

function Get_File_List (File_Selection : access Gtk_File_Selection_Record) return Gtk.Widget.Gtk_Widget;
Return the list that display the list of files in the selected directory

function Get_Cancel_Button (File_Selection : access Gtk_File_Selection_Record) return Gtk.Button.Gtk_Button;
Return the Cancel button.
To remove this button from the dialog, call Hide on the return value. The callbacks on this button should simply close the dialog, but should ignore the file selected by the user.

function Get_Help_Button (File_Selection : access Gtk_File_Selection_Record) return Gtk.Button.Gtk_Button;
Return the Help button.
To remove this button from the dialog, call Hide on the return value. The callbacks on this button should display a new dialog that explain what file the user should select.

function Get_Ok_Button (File_Selection : access Gtk_File_Selection_Record) return Gtk.Button.Gtk_Button;
Return the OK button.
The callbacks on this button should close the dialog and do something with the file selected by the user.

function Get_History_Pulldown (File_Selection : access Gtk_File_Selection_Record) return Gtk.Widget.Gtk_Widget;
Return the menu that display the history of directories
for easy access by the user.

function Get_Selection_Entry (File_Selection : access Gtk_File_Selection_Record) return Gtk.Widget.Gtk_Widget;
Return the entry used to set the filter on the list of directories.
The simplest way to insert text in this entry is to use the Complete procedure above.

function Get_Selection_Text (File_Selection : access Gtk_File_Selection_Record) return Gtk.Widget.Gtk_Widget;
Return the text displayed just above the Selection_Entry.