This object adds support for opening files from OS commands, using the standard Glib Application mechanism for opening those files.
This requires some support that is system-specific:
On windows, this registers a DDE server using the application's Id as name. So for example com.adacore.TestGtk will register a DDE server whose name is TestGtk.
On OSX, this requires the application to be part of a bundle. This bundle needs to declare the file patterns that are supported by the application.
<group>Layout containers</group>
type Cb_Gtkada_Application_Files is access procedure
(Application : Gtkada_Application;
Files : GFile_Array);
function Get_Path (File : GFile) return UTF8_String
type GFile is private;
type GFile_Array is array (Positive range <>) of GFile;
function Gtk_Application_New
(Application_Id : UTF8_String := "";
Flags : Glib.Application.GApplication_Flags;
Gtkada_Flags : Gtkada_Application_Flags)
return Gtkada_Application
procedure Gtk_New
(Self : out Gtkada_Application;
Application_Id : UTF8_String := "";
Flags : Glib.Application.GApplication_Flags;
Gtkada_Flags : Gtkada_Application_Flags)
type Gtkada_Application is access all Gtkada_Application_Record'Class;
type Gtkada_Application_Flags is mod 2 ** Integer'Size;
Flags used to define the behaviour of a Glib.Application.Gapplication.
Gtkada_Application_Flags_None : constant Gtkada_Application_Flags := 0;
Gtkada_Application_Handles_Open : constant Gtkada_Application_Flags := 1;
Gtkada_Application_OSX_FullScreen : constant Gtkada_Application_Flags := 2;
type Gtkada_Application_Record is new Gtk_Application_Record
with private;
procedure Initialize
(Self : not null access Gtkada_Application_Record'Class;
Application_Id : UTF8_String := "";
Flags : Glib.Application.GApplication_Flags;
Gtkada_Flags : Gtkada_Application_Flags)
procedure On_Open
(Self : not null access Gtkada_Application_Record;
Call : Cb_Gtkada_Application_Files)