Index

Package: File_Selection

Description

package Gtk.File_Selection is

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.

Binding from C File version 2.8.17

<testgtk>create_file_selection.adb</testgtk>

Screenshot

gtk-file_selection.png

Classes

Gtk_File_Selection_Record

type Gtk_File_Selection_Record is new
     Gtk.Dialog.Gtk_Dialog_Record with private;

Ancestors:

Immediate Children:

Gtkada.File_Selection.Gtkada_File_Selection_Record

Primitive operations:

Get_Action_Area (overriding Gtk.Dialog.Get_Action_Area)
Get_Button_Area
Get_Cancel_Button
Get_Dir_List
Get_File_List
Get_Filename
Get_Help_Button
Get_History_Pulldown
Get_Ok_Button
Get_Select_Multiple
Get_Selection_Entry
Get_Selection_Text
Get_Selections
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Bin.Get_Child (Inherited)
Gtk.Container.Add (Inherited)
Gtk.Container.Check_Resize (Inherited)
Gtk.Container.Child_Get_Property (Inherited)
Gtk.Container.Child_Set_Property (Inherited)
Gtk.Container.Child_Type (Inherited)
Gtk.Container.Forall (Inherited)
Gtk.Container.Foreach (Inherited)
Gtk.Container.Get_Border_Width (Inherited)
Gtk.Container.Get_Children (Inherited)
Gtk.Container.Get_Focus_Chain (Inherited)
Gtk.Container.Get_Focus_Child (Inherited)
Gtk.Container.Get_Focus_Hadjustment (Inherited)
Gtk.Container.Get_Focus_Vadjustment (Inherited)
Gtk.Container.Get_Resize_Mode (Inherited)
Gtk.Container.Propagate_Expose (Inherited)
Gtk.Container.Remove (Inherited)
Gtk.Container.Resize_Children (Inherited)
Gtk.Container.Set_Border_Width (Inherited)
Gtk.Container.Set_Focus_Chain (Inherited)
Gtk.Container.Set_Focus_Child (Inherited)
Gtk.Container.Set_Focus_Hadjustment (Inherited)
Gtk.Container.Set_Focus_Vadjustment (Inherited)
Gtk.Container.Set_Reallocate_Redraws (Inherited)
Gtk.Container.Set_Resize_Mode (Inherited)
Gtk.Container.Unset_Focus_Chain (Inherited)
Gtk.Dialog.Add_Action_Widget (Inherited)
Gtk.Dialog.Add_Button (Inherited)
Gtk.Dialog.Get_Content_Area (Inherited)
Gtk.Dialog.Get_Has_Separator (Inherited)
Gtk.Dialog.Get_Response_For_Widget (Inherited)
Gtk.Dialog.Get_Vbox (Inherited)
Gtk.Dialog.Get_Widget_For_Response (Inherited)
Gtk.Dialog.Response (Inherited)
Gtk.Dialog.Run (Inherited)
Gtk.Dialog.Set_Alternative_Button_Order_From_Array (Inherited)
Gtk.Dialog.Set_Default_Response (Inherited)
Gtk.Dialog.Set_Has_Separator (Inherited)
Gtk.Dialog.Set_Response_Sensitive (Inherited)
Gtk.Widget.Activate (Inherited)
Gtk.Widget.Add_Accelerator (Inherited)
Gtk.Widget.Add_Events (Inherited)
Gtk.Widget.Add_Mnemonic_Label (Inherited)
Gtk.Widget.Can_Activate_Accel (Inherited)
Gtk.Widget.Child_Notify (Inherited)
Gtk.Widget.Class_Path (Inherited)
Gtk.Widget.Class_Path_Reversed (Inherited)
Gtk.Widget.Create_Pango_Context (Inherited)
Gtk.Widget.Create_Pango_Layout (Inherited)
Gtk.Widget.Destroy (Inherited)
Gtk.Widget.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (Inherited)
Gtk.Widget.Flag_Is_Set (Inherited)
Gtk.Widget.Flags (Inherited)
Gtk.Widget.Freeze_Child_Notify (Inherited)
Gtk.Widget.Get_Allocation_Height (Inherited)
Gtk.Widget.Get_Allocation_Width (Inherited)
Gtk.Widget.Get_Allocation_X (Inherited)
Gtk.Widget.Get_Allocation_Y (Inherited)
Gtk.Widget.Get_Ancestor (Inherited)
Gtk.Widget.Get_Child_Requisition (Inherited)
Gtk.Widget.Get_Child_Visible (Inherited)
Gtk.Widget.Get_Colormap (Inherited)
Gtk.Widget.Get_Composite_Name (Inherited)
Gtk.Widget.Get_Direction (Inherited)
Gtk.Widget.Get_Events (Inherited)
Gtk.Widget.Get_Extension_Events (Inherited)
Gtk.Widget.Get_Has_Tooltip (Inherited)
Gtk.Widget.Get_Name (Inherited)
Gtk.Widget.Get_No_Show_All (Inherited)
Gtk.Widget.Get_Pango_Context (Inherited)
Gtk.Widget.Get_Parent (Inherited)
Gtk.Widget.Get_Parent_Window (Inherited)
Gtk.Widget.Get_Pointer (Inherited)
Gtk.Widget.Get_Root_Window (Inherited)
Gtk.Widget.Get_Size_Request (Inherited)
Gtk.Widget.Get_Snapshot (Inherited)
Gtk.Widget.Get_State (Inherited)
Gtk.Widget.Get_Style (Inherited)
Gtk.Widget.Get_Tooltip_Markup (Inherited)
Gtk.Widget.Get_Tooltip_Text (Inherited)
Gtk.Widget.Get_Tooltip_Window (Inherited)
Gtk.Widget.Get_Toplevel (Inherited)
Gtk.Widget.Get_Visual (Inherited)
Gtk.Widget.Get_Window (Inherited)
Gtk.Widget.Grab_Default (Inherited)
Gtk.Widget.Grab_Focus (Inherited)
Gtk.Widget.Has_Screen (Inherited)
Gtk.Widget.Hide (Inherited)
Gtk.Widget.Hide_All (Inherited)
Gtk.Widget.Input_Shape_Combine_Mask (Inherited)
Gtk.Widget.Intersect (Inherited)
Gtk.Widget.Is_Ancestor (Inherited)
Gtk.Widget.Is_Composited (Inherited)
Gtk.Widget.Is_Focus (Inherited)
Gtk.Widget.Keynav_Failed (Inherited)
Gtk.Widget.List_Mnemonic_Labels (Inherited)
Gtk.Widget.Map (Inherited)
Gtk.Widget.Mnemonic_Activate (Inherited)
Gtk.Widget.Modify_Base (Inherited)
Gtk.Widget.Modify_Bg (Inherited)
Gtk.Widget.Modify_Cursor (Inherited)
Gtk.Widget.Modify_Fg (Inherited)
Gtk.Widget.Modify_Font (Inherited)
Gtk.Widget.Modify_Text (Inherited)
Gtk.Widget.Path (Inherited)
Gtk.Widget.Path_Reversed (Inherited)
Gtk.Widget.Queue_Clear (Inherited)
Gtk.Widget.Queue_Clear_Area (Inherited)
Gtk.Widget.Queue_Draw (Inherited)
Gtk.Widget.Queue_Draw_Area (Inherited)
Gtk.Widget.Queue_Resize (Inherited)
Gtk.Widget.Queue_Resize_No_Redraw (Inherited)
Gtk.Widget.Realize (Inherited)
Gtk.Widget.Region_Intersect (Inherited)
Gtk.Widget.Remove_Accelerator (Inherited)
Gtk.Widget.Remove_Mnemonic_Label (Inherited)
Gtk.Widget.Render_Icon (Inherited)
Gtk.Widget.Reparent (Inherited)
Gtk.Widget.Reset_Rc_Styles (Inherited)
Gtk.Widget.Reset_Shapes (Inherited)
Gtk.Widget.Restore_Default_Style (Inherited)
Gtk.Widget.Send_Expose (Inherited)
Gtk.Widget.Set_Accel_Path (Inherited)
Gtk.Widget.Set_App_Paintable (Inherited)
Gtk.Widget.Set_Child_Visible (Inherited)
Gtk.Widget.Set_Colormap (Inherited)
Gtk.Widget.Set_Composite_Name (Inherited)
Gtk.Widget.Set_Direction (Inherited)
Gtk.Widget.Set_Double_Buffered (Inherited)
Gtk.Widget.Set_Events (Inherited)
Gtk.Widget.Set_Extension_Events (Inherited)
Gtk.Widget.Set_Flags (Inherited)
Gtk.Widget.Set_Has_Tooltip (Inherited)
Gtk.Widget.Set_Name (Inherited)
Gtk.Widget.Set_No_Show_All (Inherited)
Gtk.Widget.Set_Parent (Inherited)
Gtk.Widget.Set_Parent_Window (Inherited)
Gtk.Widget.Set_Redraw_On_Allocate (Inherited)
Gtk.Widget.Set_Scroll_Adjustments (Inherited)
Gtk.Widget.Set_Sensitive (Inherited)
Gtk.Widget.Set_Size_Request (Inherited)
Gtk.Widget.Set_State (Inherited)
Gtk.Widget.Set_Style (Inherited)
Gtk.Widget.Set_Tooltip_Markup (Inherited)
Gtk.Widget.Set_Tooltip_Text (Inherited)
Gtk.Widget.Set_Tooltip_Window (Inherited)
Gtk.Widget.Set_UPosition (Inherited)
Gtk.Widget.Set_USize (Inherited)
Gtk.Widget.Set_Window (Inherited)
Gtk.Widget.Shape_Combine_Mask (Inherited)
Gtk.Widget.Show (Inherited)
Gtk.Widget.Show_All (Inherited)
Gtk.Widget.Show_Now (Inherited)
Gtk.Widget.Size_Allocate (Inherited)
Gtk.Widget.Size_Request (Inherited)
Gtk.Widget.Style_Get_Property (Inherited)
Gtk.Widget.Thaw_Child_Notify (Inherited)
Gtk.Widget.Trigger_Tooltip_Query (Inherited)
Gtk.Widget.Unmap (Inherited)
Gtk.Widget.Unrealize (Inherited)
Gtk.Widget.Unset_Flags (Inherited)
Gtk.Window.Activate_Default (Inherited)
Gtk.Window.Activate_Focus (Inherited)
Gtk.Window.Activate_Key (Inherited)
Gtk.Window.Add_Accel_Group (Inherited)
Gtk.Window.Add_Mnemonic (Inherited)
Gtk.Window.Begin_Move_Drag (Inherited)
Gtk.Window.Begin_Resize_Drag (Inherited)
Gtk.Window.Deiconify (Inherited)
Gtk.Window.Fullscreen (Inherited)
Gtk.Window.Get_Accept_Focus (Inherited)
Gtk.Window.Get_Decorated (Inherited)
Gtk.Window.Get_Default_Size (Inherited)
Gtk.Window.Get_Default_Widget (Inherited)
Gtk.Window.Get_Deletable (Inherited)
Gtk.Window.Get_Destroy_With_Parent (Inherited)
Gtk.Window.Get_Focus (Inherited)
Gtk.Window.Get_Focus_On_Map (Inherited)
Gtk.Window.Get_Frame_Dimensions (Inherited)
Gtk.Window.Get_Gravity (Inherited)
Gtk.Window.Get_Group (Inherited)
Gtk.Window.Get_Has_Frame (Inherited)
Gtk.Window.Get_Icon (Inherited)
Gtk.Window.Get_Icon_List (Inherited)
Gtk.Window.Get_Icon_Name (Inherited)
Gtk.Window.Get_Mnemonic_Modifier (Inherited)
Gtk.Window.Get_Modal (Inherited)
Gtk.Window.Get_Opacity (Inherited)
Gtk.Window.Get_Position (Inherited)
Gtk.Window.Get_Resizable (Inherited)
Gtk.Window.Get_Role (Inherited)
Gtk.Window.Get_Size (Inherited)
Gtk.Window.Get_Skip_Pager_Hint (Inherited)
Gtk.Window.Get_Skip_Taskbar_Hint (Inherited)
Gtk.Window.Get_Title (Inherited)
Gtk.Window.Get_Transient_For (Inherited)
Gtk.Window.Get_Type_Hint (Inherited)
Gtk.Window.Get_Urgency_Hint (Inherited)
Gtk.Window.Has_Toplevel_Focus (Inherited)
Gtk.Window.Iconify (Inherited)
Gtk.Window.Is_Active (Inherited)
Gtk.Window.Maximize (Inherited)
Gtk.Window.Mnemonic_Activate (Inherited)
Gtk.Window.Move (Inherited)
Gtk.Window.Parse_Geometry (Inherited)
Gtk.Window.Present (Inherited)
Gtk.Window.Present_With_Time (Inherited)
Gtk.Window.Propagate_Key_Event (Inherited)
Gtk.Window.Remove_Accel_Group (Inherited)
Gtk.Window.Remove_Mnemonic (Inherited)
Gtk.Window.Reshow_With_Initial_Size (Inherited)
Gtk.Window.Resize (Inherited)
Gtk.Window.Set_Accept_Focus (Inherited)
Gtk.Window.Set_Decorated (Inherited)
Gtk.Window.Set_Default (Inherited)
Gtk.Window.Set_Default_Size (Inherited)
Gtk.Window.Set_Deletable (Inherited)
Gtk.Window.Set_Destroy_With_Parent (Inherited)
Gtk.Window.Set_Focus (Inherited)
Gtk.Window.Set_Focus_On_Map (Inherited)
Gtk.Window.Set_Frame_Dimensions (Inherited)
Gtk.Window.Set_Geometry_Hints (Inherited)
Gtk.Window.Set_Gravity (Inherited)
Gtk.Window.Set_Has_Frame (Inherited)
Gtk.Window.Set_Icon (Inherited)
Gtk.Window.Set_Icon_From_File (Inherited)
Gtk.Window.Set_Icon_List (Inherited)
Gtk.Window.Set_Icon_Name (Inherited)
Gtk.Window.Set_Keep_Above (Inherited)
Gtk.Window.Set_Keep_Below (Inherited)
Gtk.Window.Set_Mnemonic_Modifier (Inherited)
Gtk.Window.Set_Modal (Inherited)
Gtk.Window.Set_Opacity (Inherited)
Gtk.Window.Set_Policy (Inherited)
Gtk.Window.Set_Position (Inherited)
Gtk.Window.Set_Resizable (Inherited)
Gtk.Window.Set_Role (Inherited)
Gtk.Window.Set_Skip_Pager_Hint (Inherited)
Gtk.Window.Set_Skip_Taskbar_Hint (Inherited)
Gtk.Window.Set_Startup_Id (Inherited)
Gtk.Window.Set_Title (Inherited)
Gtk.Window.Set_Transient_For (Inherited)
Gtk.Window.Set_Type_Hint (Inherited)
Gtk.Window.Set_Urgency_Hint (Inherited)
Gtk.Window.Set_Wmclass (Inherited)
Gtk.Window.Stick (Inherited)
Gtk.Window.Unfullscreen (Inherited)
Gtk.Window.Unmaximize (Inherited)
Gtk.Window.Unstick (Inherited)
Hide_Fileop_Buttons
Set_Filename
Set_Select_Multiple
Set_Show_File_Op_Buttons
Show_Fileop_Buttons

Types

Gtk_File_Selection

type Gtk_File_Selection is access all Gtk_File_Selection_Record'Class;

Constants & Global variables

Show_Fileops_Property (Glib.Properties.Property_Boolean)

Show_Fileops_Property    : constant Glib.Properties.Property_Boolean;

Select_Multiple_Property (Glib.Properties.Property_Boolean)

Select_Multiple_Property : constant Glib.Properties.Property_Boolean;

Subprograms & Entries

Gtk_New

procedure Gtk_New 
(File_Selection: out Gtk_File_Selection;
Title: UTF8_String);

Initialize

procedure Initialize 
(File_Selection: access Gtk_File_Selection_Record'Class;
Title: UTF8_String);
Creates or initializes a new file selection dialog. Title is the name of the dialog, as displayed in its title bar.

Get_Type

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

Set_Filename

procedure Set_Filename 
(File_Selection: access Gtk_File_Selection_Record;
Filename: UTF8_String);

Get_Filename

function Get_Filename 
(File_Selection: access Gtk_File_Selection_Record) return 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.

Get_Selections

function Get_Selections 
(Filesel: access Gtk_File_Selection_Record) return GNAT.Strings.String_List;
Retrieves the list of file selections the user has made in the dialog box. This function is intended for use when the user can select multiple files in the file list. The filenames are in the GLib file name encoding. To convert to UTF-8, call g_filename_to_utf8() on each string. The returned value must be freed by the caller

Complete

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.

Show_Fileop_Buttons

procedure Show_Fileop_Buttons 
(File_Selection: access Gtk_File_Selection_Record);

Hide_Fileop_Buttons

procedure Hide_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).

Set_Show_File_Op_Buttons

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.

Set_Select_Multiple

procedure Set_Select_Multiple 
(Filesel: access Gtk_File_Selection_Record;
Select_Multiple: Boolean);

Get_Select_Multiple

function Get_Select_Multiple 
(Filesel: access Gtk_File_Selection_Record) return Boolean;
Sets whether the user is allowed to select multiple files in the file list. Use Get_selections to get the list of selected files.

Get_Action_Area

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.

Get_Button_Area

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.

Get_Dir_List

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.

Get_File_List

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

Get_Cancel_Button

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.

Get_Help_Button

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.

Get_Ok_Button

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.

Get_History_Pulldown

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.

Get_Selection_Entry

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.

Get_Selection_Text

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.