-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
-- Copyright (C) 2006-2007 AdaCore --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
-- License as published by the Free Software Foundation; either --
-- version 2 of the License, or (at your option) any later version. --
-- --
-- This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public --
-- License along with this library; if not, write to the --
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, --
-- Boston, MA 02111-1307, USA. --
-- --
-- --
-- --
-- --
-- --
-- --
-- --
-----------------------------------------------------------------------
--
-- This package provides an interface implemented by Gtk.File_Chooser_Widget
-- and Gtk.File_Chooser_Button, and by your own file selection widgets if you
-- wish to expose a standard interface.
--
-- Gtk_File_Chooser allows for shortcuts to various places in the filesystem.
-- In the default implementation these are displayed in the left pane. It may
-- be a bit confusing at first that these shortcuts come from various sources
-- and in various flavours, so lets explain the terminology here:
-- - Bookmarks
-- are created by the user, by dragging folders from the right pane to the
-- left pane, or by using the "Add". Bookmarks can be renamed and deleted
-- by the user.
-- - Shortcuts
-- can be provided by the application or by the underlying filesystem
-- abstraction (e.g. both the gnome-vfs and the Windows filesystems
-- provide "Desktop" shortcuts). Shortcuts cannot be modified by the user.
-- - Volumes
-- are provided by the underlying filesystem abstraction. They are the
-- "roots" of the filesystem.
--
-- File Names and Encodings
--
-- When the user is finished selecting files in a Gtk_File_Chooser, your
-- program can get the selected names either as filenames or as URIs. For
-- URIs, the normal escaping rules are applied if the URI contains non-ASCII
-- characters. However, filenames are always returned in the character set
-- specified by the G_FILENAME_ENCODING environment variable. Please see the
-- Glib documentation for more details about this variable.
--
-- Important: This means that while you can pass the result of
-- Get_Filename to low-level file system primitives , you will need to convert
-- it to UTF-8 before using it in a Gtk_Label for instance. Conversion is done
-- through Glib.Convert.Filename_To_UTF8.
--
-- You can add a custom preview widget to a file chooser and then get
-- notification about when the preview needs to be updated. To install a
-- preview widget, use gtk_file_chooser_set_preview_widget(). Then, connect to
-- the GtkFileChooser::update-preview signal to get notified when you need to
-- update the contents of the preview.
--
-- Preview widgets
--
-- You can add a custom preview widget to a file chooser and then get
-- notification about when the preview needs to be updated. To install a
-- preview widget, use Set_Preview_Widget. Then, connect to the
-- GtkFileChooser::update-preview signal to get notified when you need to
-- update the contents of the preview.
--
-- Your callback should use Get_Preview_Filename to see what needs previewing.
-- Once you have generated the preview for the corresponding file, you must
-- call Set_Preview_Widget_Active with a boolean flag that indicates whether
-- your callback could successfully generate a preview.
--
-- Adding Extra Widgets
-- You can add extra widgets to a file chooser to provide options that are not
-- present in the default design. For example, you can add a toggle button to
-- give the user the option to open a file in read-only mode. You can use
-- Set_Extra_Widget to insert additional widgets in a file chooser.
--
-- If you want to set more than one extra widget in the file chooser, you can
-- a container such as a GtkVBox or a GtkTable and include your widgets in it.
-- Then, set the container as the whole extra widget.
--
-- Key bindings
--
-- The following default key bindings are provided, but you can use a gtkrc
-- file to override them if you need (see gtk-rc.ads).
-- Signal name | Key binding
-- location-popup | Control-L (empty path)
-- | / (path of "/")
-- | ~ (home directory)
-- up-folder | Alt-Up or backspace
-- down-folder | Alt-Down
-- home-folder | Alt-Home
-- desktop-folder | Alt-D
-- quick-bookmark | Alt-1 through Alt-0
--
--
-- 2.8.17
-- Selectors
with Glib.Error;
with Glib.Properties;
with Glib.Types;
with Gtk.Enums;
with Gtk.File_Filter;
with Gtk.Object;
with Gtk.Widget;
package Gtk.File_Chooser is
type Gtk_File_Chooser is new Glib.Types.GType_Interface;
function Get_Type return Gtk.Gtk_Type;
-- Return the internal value associated with a Gtk_File_Chooser
type File_Chooser_Action is
(Action_Open,
Action_Save,
Action_Select_Folder,
Action_Create_Folder);
-- Describes whether a Gtk_File_Chooser is being used to open existing
-- files or to save to a possibly new file.
-- Action_Open: Will only let the user select existing file
-- Action_Save: Select existing file or enter new filename
-- Action_Select_Folder: Only pick an existing folder
-- Action_Create_Folder: Select existing folder or enter new name
type File_Chooser_Confirmation is
(Confirmation_Confirm,
Confirmation_Accept_Filename,
Confirmation_Select_Again);
-- Used as a return value of handlers for the confirm-overwrite signal of a
-- Gtk_File_Chooser. This value determines whether the file chooser will
-- present the stock confirmation dialog, accept the user's choice of a
-- filename, or let the user choose another filename.
-- Confirmation_Confirm: Ask confirmation about overwriting existing file
-- Confirmation_Accept_Filename: Accept the user's choice
-- Confirmation_Select_Again: Let the user select another file
type File_Chooser_Error is
(Error_Non_Existent,
Error_Bad_Filename);
-- Identify the various errors that can occur while calling
-- Gtk_File_Chooser functions
-------------------
-- Configuration --
-------------------
procedure Set_Action
(Chooser : Gtk_File_Chooser; Action : File_Chooser_Action);
function Get_Action (Chooser : Gtk_File_Chooser) return File_Chooser_Action;
-- Sets the type of operation that the chooser is performing; the
-- user interface is adapted to suit the selected action. For example,
-- an option to create a new folder might be shown if the action is
-- Action_Save, but not if the action is Action_Open.
procedure Set_Local_Only
(Chooser : Gtk_File_Chooser; Local_Only : Boolean := True);
function Get_Local_Only (Chooser : Gtk_File_Chooser) return Boolean;
-- Sets whether only local files can be selected in the file selector. If
-- Local_Only is True (the default), then the selected file are files are
-- guaranteed to be accessible through the operating systems native file
-- file system and therefore the application only needs to worry about the
-- filename functions in Gtk_File_Chooser, like Get_Filename, rather than
-- the URI functions like Get_Uri,
procedure Set_Select_Multiple
(Chooser : Gtk_File_Chooser; Select_Multiple : Boolean);
function Get_Select_Multiple (Chooser : Gtk_File_Chooser) return Boolean;
-- Sets whether multiple files can be selected in the file selector. This
-- is only relevant if the action is set to be Action_Open or Action_Save.
-- It cannot be set with either of the folder actions.
procedure Set_Show_Hidden
(Chooser : Gtk_File_Chooser; Show_Hidden : Boolean);
function Get_Show_Hidden (Chooser : Gtk_File_Chooser) return Boolean;
-- Sets whether hidden files and folders are displayed in the file selector
procedure Set_Do_Overwrite_Confirmation
(Chooser : Gtk_File_Chooser;
Do_Overwrite_Confirmation : Boolean);
function Get_Do_Overwrite_Confirmation
(Chooser : Gtk_File_Chooser) return Boolean;
-- Sets whether a file chooser in Action_Save mode will present a
-- confirmation dialog if the user types a file name that already exists.
-- This is False by default.
-- Regardless of this setting, Chooser will emit the "confirm-overwrite"
-- signal when appropriate.
-- If all you need is the stock confirmation dialog, set this property to
-- True You can override the way confirmation is done by actually handling
-- the "confirm-overwrite" signal; please refer to its documentation for
-- the details.
procedure Set_Current_Name (Chooser : Gtk_File_Chooser; Name : UTF8_String);
-- Sets the current name in the file selector, as if entered by the user.
-- Note that the name passed in here is a UTF-8 string rather than a
-- filename. This function is meant for such uses as a suggested name in a
-- "Save As..." dialog.
-- If you want to preselect a particular existing file, you should use
-- Set_Filename or Set_Uri instead.
---------------------------
-- Filename manipulation --
---------------------------
function Get_Filename (Chooser : Gtk_File_Chooser) return String;
-- Gets the filename for the currently selected file in the file selector.
-- If multiple files are selected, one of the filenames will be returned at
-- random.
-- If the file chooser is in folder mode, this function returns the
-- selected folder.
-- Return value: The currently selected filename, or "" if no file is
-- selected, or the selected file can't be represented with a local
-- filename.
function Get_Filenames
(Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist;
-- Lists all the selected files and subfolders in the current folder of
-- Chooser. The returned names are full absolute paths. If files in the
-- current folder cannot be represented as local filenames they will be
-- ignored. (See Get_Uris).
-- The returned value must be freed by the caller, through
-- Gtk.Enums.Free_String_List.
function Set_Filename
(Chooser : Gtk_File_Chooser; Filename : String) return Boolean;
-- Sets Filename as the current filename for the file chooser, by changing
-- to the file's parent folder and actually selecting the file in list. If
-- the Chooser is in Action_Save mode, the file's base name will also
-- appear in the dialog's file name entry.
-- If the file name isn't in the current folder of Chooser, then the
-- current folder of Chooser will be changed to the folder containing
-- Filename. This is equivalent to a sequence of Unselect_All followed by
-- Select_Filename.
-- Note that the file must exist, or nothing will be done except for the
-- directory change.
-- If you are implementing a "File/Save As..." dialog, you should use this
-- function if you already have a file name to which the user may save; for
-- example, when the user opens an existing file and then does "File/Save
-- As..." on it. If you don't have a file name already — for example,
-- if the user just created a new file and is saving it for the first time,
-- do not call this function. Instead, use Set_Current_Name.
--
-- Returns True if both the folder could be changed and the file was
-- selected successfully.
function Select_Filename
(Chooser : Gtk_File_Chooser; Filename : String) return Boolean;
procedure Unselect_Filename
(Chooser : Gtk_File_Chooser; Filename : String);
-- Selects a filename. If the file name isn't in the current
-- folder of Chooser, then the current folder of Chooser will
-- be changed to the folder containing Filename.
-- Returns True if both the folder could be changed and the file was
-- selected successfully.
procedure Select_All (Chooser : Gtk_File_Chooser);
procedure Unselect_All (Chooser : Gtk_File_Chooser);
-- Selects all the files in the current folder of a file chooser.
function Set_Current_Folder
(Chooser : Gtk_File_Chooser; Filename : String) return Boolean;
-- Sets the current folder for Chooser from a local filename. The user will
-- be shown the full contents of the current folder, plus user interface
-- elements for navigating to other folders.
-- Filename is an absolute file name.
-- Returns True if the folder could be changed successfully.
function Get_Current_Folder (Chooser : Gtk_File_Chooser) return String;
-- Gets the current folder of Chooser as a local filename.
-- Returns "" if the file chooser was unable to load the last folder that
-- was requested from it, for instance with a call to Set_Current_Folder
-- with an invalid directory.
-- Also returns "" if the selected path cannot be represented as a local
-- filename.
----------------------
-- URI manipulation --
----------------------
function Set_Uri
(Chooser : Gtk_File_Chooser; Uri : String) return Boolean;
-- Sets the file referred to by Uri as the current file for the file
-- chooser, by changing to the URI's parent folder and actually selecting
-- the URI in the list. If the Chooser is Action_Save mode, the URI's base
-- name will also appear in the dialog's file name entry.
-- If the URI isn't in the current folder of Chooser, then the current
-- folder of Chooser will be changed to the folder containing Uri. This is
-- equivalent to a sequence of Unselect_All followed by Select_Uri.
-- Note that the URI must exist, or nothing will be done except for the
-- directory change.
-- See also Set_Filename
-- Return True if both the folder could be changed and the URI was
-- selected successfully.
function Get_Uri (Chooser : Gtk_File_Chooser) return String;
-- Gets the URI for the currently selected file in the file selector. If
-- multiple files are selected, one of the filenames will be returned at
-- random.
-- If the file chooser is in folder mode, this function returns the
-- selected folder.
function Get_Uris
(Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist;
-- Lists all the selected files and subfolders in the current folder of
-- Chooser. The returned names are full absolute URIs.
-- The returned value must be freed by the caller
function Select_Uri
(Chooser : Gtk_File_Chooser; Uri : String) return Boolean;
procedure Unselect_Uri (Chooser : Gtk_File_Chooser; Uri : String);
-- Selects the file by Uri. If the URI doesn't refer to a file in the
-- current folder of Chooser, then the current folder of Chooser will be
-- changed to the folder containing Uri.
-- Return True if both the folder could be changed and the URI was
-- selected successfully.
function Set_Current_Folder_Uri
(Chooser : Gtk_File_Chooser; Uri : String) return Boolean;
-- Sets the current folder for Chooser from an URI. The user will be shown
-- the full contents of the current folder, plus user interface elements
-- for navigating to other folders.
-- Return True if the folder could be changed successfully.
function Get_Current_Folder_Uri (Chooser : Gtk_File_Chooser) return String;
-- Gets the current folder of Chooser as an URI, or "" if the chooser was
-- unable to load the last folder set by Set_Current_Folder_Uri.
--------------------
-- Preview widget --
--------------------
procedure Set_Preview_Widget
(Chooser : Gtk_File_Chooser;
Preview_Widget : access Gtk.Widget.Gtk_Widget_Record'Class);
function Get_Preview_Widget
(Chooser : Gtk_File_Chooser) return Gtk.Widget.Gtk_Widget;
-- Sets an application-supplied widget to use to display a custom preview
-- of the currently selected file. To implement a preview, after setting
-- the preview widget, you connect to the "update-preview" signal, and call
-- Get_Preview_Filename() or Get_Preview_Uri on each change. If you can
-- display a preview of the new file, update your widget and set the
-- preview active using Set_Preview_Widget_Active. Otherwise, set the
-- preview inactive.
-- When there is no application-supplied preview widget, or the
-- application-supplied preview widget is not active, the file chooser may
-- display an internally generated preview of the current file or it may
-- display no preview at all.
procedure Set_Preview_Widget_Active
(Chooser : Gtk_File_Chooser;
Active : Boolean);
function Get_Preview_Widget_Active
(Chooser : Gtk_File_Chooser) return Boolean;
-- Sets whether the preview widget set by Set_Preview_Widget should be
-- shown for the current filename. When Active is set to false, the file
-- chooser may display an internally generated preview of the current file
-- or it may display no preview at all.
procedure Set_Use_Preview_Label
(Chooser : Gtk_File_Chooser;
Use_Label : Boolean);
function Get_Use_Preview_Label (Chooser : Gtk_File_Chooser) return Boolean;
-- Sets whether the file chooser should display a stock label with the name
-- of the file that is being previewed; the default is True. Applications
-- that want to draw the whole preview area themselves should set this to
-- False and display the name themselves in their preview widget.
function Get_Preview_Filename (Chooser : Gtk_File_Chooser) return String;
-- Gets the filename that should be previewed in a custom preview
-- widget. See Set_Preview_Widget.
-- Return "" if no file is selected or it can't be represented as a local
-- filename.
function Get_Preview_Uri (Chooser : Gtk_File_Chooser) return String;
-- Gets the URI that should be previewed in a custom preview
-- widget. See Set_Preview_Widget.
-- Return "" if no file is selected.
------------------
-- Extra widget --
------------------
procedure Set_Extra_Widget
(Chooser : Gtk_File_Chooser;
Extra_Widget : access Gtk.Widget.Gtk_Widget_Record'Class);
function Get_Extra_Widget
(Chooser : Gtk_File_Chooser) return Gtk.Widget.Gtk_Widget;
-- Sets an application-supplied widget to provide extra options to the user
-------------
-- Filters --
-------------
procedure Add_Filter
(Chooser : Gtk_File_Chooser;
Filter : access Gtk.File_Filter.Gtk_File_Filter_Record'Class);
procedure Remove_Filter
(Chooser : Gtk_File_Chooser;
Filter : access Gtk.File_Filter.Gtk_File_Filter_Record'Class);
-- Adds or Removes Filter to the list of filters that the user can select
-- between.
-- When a filter is selected, only files that are passed by that
-- filter are displayed.
-- Note that the Chooser takes ownership of the filter, so you have to
-- ref and sink it if you want to keep a reference.
procedure Set_Filter
(Chooser : Gtk_File_Chooser;
Filter : access Gtk.File_Filter.Gtk_File_Filter_Record'Class);
function Get_Filter
(Chooser : Gtk_File_Chooser) return Gtk.File_Filter.Gtk_File_Filter;
-- Sets the current filter; only the files that pass the filter will be
-- displayed. If the user-selectable list of filters is non-empty, then the
-- filter should be one of the filters in that list. Setting the current
-- filter when the list of filters is empty is useful if you want to
-- restrict the displayed set of files without letting the user change it.
function List_Filters
(Chooser : Gtk_File_Chooser)
return Gtk.Object.Object_SList.GSlist;
-- Lists the current set of user-selectable filters. The list contains
-- Gtk_File_Filter instances.
-- Do not free the contents of list, still owned by gtk+, but you must free
-- the list itself with Gtk.Object.Object_SList.Free.
---------------------
-- Shorcut folders --
---------------------
function Add_Shortcut_Folder
(Chooser : Gtk_File_Chooser;
Folder : String) return Glib.Error.GError;
function Remove_Shortcut_Folder
(Chooser : Gtk_File_Chooser; Folder : String) return Glib.Error.GError;
-- Adds a folder to be displayed with the shortcut folders in a file
-- chooser. Note that shortcut folders do not get saved, as they are
-- provided by the application. For example, you can use this to add a
-- "/usr/share/mydrawprogram/Clipart" folder to the volume list.
-- Return null if the folder could be added successfully, or the code
-- of the error otherwise.
function List_Shortcut_Folders
(Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist;
-- Queries the list of shortcut folders in the file chooser, as set by
-- Add_Shortcut_Folder.
-- The returned value must be freed by the user.
function Add_Shortcut_Folder_Uri
(Chooser : Gtk_File_Chooser;
Uri : String) return Glib.Error.GError;
function Remove_Shortcut_Folder_Uri
(Chooser : Gtk_File_Chooser; Uri : String) return Glib.Error.GError;
-- Adds a folder URI to be displayed with the shortcut folders in a file
-- chooser. Note that shortcut folders do not get saved, as they are
-- provided by the application. For example, you can use this to add a
-- "file:///usr/share/mydrawprogram/Clipart" folder to the volume list.
-- Return null if the folder could be added successfully, or the code of
-- the error otherwise.
function List_Shortcut_Folder_Uris
(Chooser : Gtk_File_Chooser) return Gtk.Enums.String_SList.GSlist;
-- Queries the list of shortcut folders in the file chooser, as set by
-- Add_Shortcut_Folder_Uri.
-- The returned value must be freed by the user.
----------------
-- Properties --
----------------
--
-- The following properties are defined for this widget. See
-- Glib.Properties for more information on properties.
--
-- - Name: action
-- Type: File_Chooser_Action
-- See also: Set_Action / Get_Action
--
-- - Name: do-overwrite-confirmation
-- Type: Boolean
-- See also: Set_Do_Overwrite_Confirmation/Get_Do_Overwrite_Confirmation
--
-- - Name: extra-widget
-- Type: Gtk_Widget
-- See also: Set_Extra_Widget / Get_Extra_Widget
--
-- - Name: file-system-backend
-- Type: String
--
-- - Name: filter
-- Type: Gtk_File_Filter
--
-- - Name: local-only
-- Type: Boolean
-- See also: Set_Local_Only / Get_Local_Only
--
-- - Name: preview-widget
-- Type: Gtk_Widget
-- See also: Set_Preview_Widget / Get_Preview_Widget
--
-- - Name: preview-widget-active
-- Type: Boolean
-- See also: Set_Preview_Widget_Active / Get_Preview_Widget_Active
--
-- - Name: select-multiple
-- Type: Boolean
-- See also: Set_Select_Multiple / Get_Select_Multiple
--
-- - Name: show-hidden
-- Type: Boolean
-- See also: Set_Show_Hidden / Get_Show_Hidden
--
-- - Name: use-preview-label
-- Type: Boolean
--- See also: Set_Use_Preview_Label / Get_Use_Preview_Label
--
--
-- Action_Property : constant Glib.Properties.Property_Enum;
Do_Overwrite_Confirmation_Property
: constant Glib.Properties.Property_Boolean;
Extra_Widget_Property : constant Glib.Properties.Property_Object;
File_System_Backend_Property : constant Glib.Properties.Property_String;
Filter_Property : constant Glib.Properties.Property_Object;
Local_Only_Property : constant Glib.Properties.Property_Boolean;
Preview_Widget_Property : constant Glib.Properties.Property_Object;
Preview_Widget_Active_Property : constant Glib.Properties.Property_Boolean;
Select_Multiple_Property : constant Glib.Properties.Property_Boolean;
Show_Hidden_Property : constant Glib.Properties.Property_Boolean;
Use_Preview_Label_Property : constant Glib.Properties.Property_Boolean;
-------------
-- Signals --
-------------
--
-- The following new signals are defined for this widget:
--
-- - "confirm-overwrite"
-- function Handler
-- (Chooser : Gtk_File_Chooser) return File_Chooser_Confirmation;
-- This signal gets emitted whenever it is appropriate to present a
-- confirmation dialog when the user has selected a file name that
-- already exists. The signal only gets emitted when the file chooser is
-- in Action_Save mode.
-- Most applications just need to turn on the do-overwrite-confirmation
-- property (or call the Set_Do_Overwrite_Confirmation function), and
-- they will automatically get a stock confirmation dialog. Applications
-- which need to customize this behavior should do that, and also connect
-- to the confirm-overwrite signal.
-- A signal handler for this signal must return a value which indicates
-- the action to take. If the handler determines that the user wants to
-- select a different filename, it should return
-- Confirmation_Select_Again. If it determines that the user is satisfied
-- with his choice of file name, it should return
-- Confirmation_Accept_Filename. On the other hand, if it determines that
-- the stock confirmation dialog should be used, it should return
-- Confirmation_Confir.
--
-- - "current-folder-changed"
-- procedure Handler (Chooser : Gtk_File_Chooser);
-- This signal is emitted when the current folder in a Gtk_File_Chooser
-- changes. This can happen due to the user performing some action that
-- changes folders, such as selecting a bookmark or visiting a folder on
-- the file list. It can also happen as a result of calling a function to
-- explicitly change the current folder in a file chooser.
-- Normally you do not need to connect to this signal, unless you need to
-- keep track of which folder a file chooser is showing.
--
-- - "file-activated"
-- procedure Handler (Chooser : Gtk_File_Chooser);
-- This signal is emitted when the user "activates" a file in the file
-- chooser. This can happen by double-clicking on a file in the file
-- list, or by pressing Enter.
-- Normally you do not need to connect to this signal. It is used
-- internally by Gtk_File_Chooser_Dialog to know when to activate the
-- default button in the dialog.
--
-- - "selection-changed"
-- procedure Handler (Chooser : Gtk_File_Chooser);
-- This signal is emitted when there is a change in the set of selected
-- files in a Gtk_File_Chooser. This can happen when the user modifies
-- the selection with the mouse or the keyboard, or when explicitly
-- calling functions to change the selection.
-- Normally you do not need to connect to this signal, as it is easier to
-- wait for the file chooser to finish running, and then to get the list
-- of selected files using the functions mentioned below.
--
-- - "update-preview"
-- procedure Handler (Chooser : Gtk_File_Chooser);
-- This signal is emitted when the preview in a file chooser should be
-- regenerated. For example, this can happen when the currently selected
-- file changes. You should use this signal if you want your file chooser
-- to have a preview widget.
-- Once you have installed a preview widget with Set_Preview_Widget, you
-- should update it when this signal is emitted. You can use the
-- functions Get_Preview_Filename or Get_Preview_Uri to get the name of
-- the file to preview. Your widget may not be able to preview all kinds
-- of files; your callback must call Set_Preview_Wiget_Active to inform
-- the file chooser about whether the preview was generated successfully
-- or not.
--
Signal_Confirm_Overwrite : constant Glib.Signal_Name :=
"confirm-overwrite";
Signal_Current_Folder_Changed : constant Glib.Signal_Name :=
"current-folder-changed";
Signal_File_Activated : constant Glib.Signal_Name :=
"file-activated";
Signal_Selection_Changed : constant Glib.Signal_Name :=
"selection-changed";
Signal_Update_Preview : constant Glib.Signal_Name :=
"update-preview";
private
pragma Import (C, Get_Type, "gtk_file_chooser_get_type");
pragma Import (C, Set_Action, "gtk_file_chooser_set_action");
pragma Import (C, Get_Action, "gtk_file_chooser_get_action");
pragma Import (C, Select_All, "gtk_file_chooser_select_all");
pragma Import (C, Unselect_All, "gtk_file_chooser_unselect_all");
-- Action_Property : constant Glib.Properties.Property_Enum :=
-- Glib.Properties.Build ("action");
Do_Overwrite_Confirmation_Property
: constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("do-overwrite-confirmation");
Extra_Widget_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("extra-widget");
File_System_Backend_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("file-system-backend");
Filter_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("filter");
Local_Only_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("local-only");
Preview_Widget_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("preview-widget");
Preview_Widget_Active_Property : constant Glib.Properties.Property_Boolean
:= Glib.Properties.Build ("preview-widget-active");
Select_Multiple_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("select-multiple");
Show_Hidden_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("show-hidden");
Use_Preview_Label_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("use-preview-label");
end Gtk.File_Chooser;
-- No binding: gtk_file_chooser_error_quark