1. ------------------------------------------------------------------------------ 
  2. --                                                                          -- 
  3. --      Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet       -- 
  4. --                     Copyright (C) 2000-2014, AdaCore                     -- 
  5. --                                                                          -- 
  6. -- This library is free software;  you can redistribute it and/or modify it -- 
  7. -- under terms of the  GNU General Public License  as published by the Free -- 
  8. -- Software  Foundation;  either version 3,  or (at your  option) any later -- 
  9. -- version. This library is distributed in the hope that it will be useful, -- 
  10. -- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- -- 
  11. -- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.                            -- 
  12. --                                                                          -- 
  13. -- As a special exception under Section 7 of GPL version 3, you are granted -- 
  14. -- additional permissions described in the GCC Runtime Library Exception,   -- 
  15. -- version 3.1, as published by the Free Software Foundation.               -- 
  16. --                                                                          -- 
  17. -- You should have received a copy of the GNU General Public License and    -- 
  18. -- a copy of the GCC Runtime Library Exception along with this program;     -- 
  19. -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    -- 
  20. -- <http://www.gnu.org/licenses/>.                                          -- 
  21. --                                                                          -- 
  22. ------------------------------------------------------------------------------ 
  23.  
  24. --  <description> 
  25. --  The GtkAboutDialog offers a simple way to display information about a 
  26. --  program like its logo, name, copyright, website and license. It is also 
  27. --  possible to give credits to the authors, documenters, translators and 
  28. --  artists who have worked on the program. An about dialog is typically opened 
  29. --  when the user selects the 'About' option from the 'Help' menu. All parts of 
  30. --  the dialog are optional. 
  31. -- 
  32. --  About dialog often contain links and email addresses. GtkAboutDialog 
  33. --  displays these as clickable links. By default, it calls gtk_show_uri() when 
  34. --  a user clicks one. The behaviour can be overridden with the 
  35. --  Gtk.About_Dialog.Gtk_About_Dialog::activate-link signal. 
  36. -- 
  37. --  To make constructing a GtkAboutDialog as convenient as possible, you can 
  38. --  use the function gtk_show_about_dialog which constructs and shows a dialog 
  39. --  and keeps it around so that it can be shown again. 
  40. -- 
  41. --  Note that GTK+ sets a default title of '_("About %s")' on the dialog 
  42. --  window (where %s is replaced by the name of the application, but in order 
  43. --  to ensure proper translation of the title, applications should set the 
  44. --  title property explicitly when constructing a GtkAboutDialog, as shown in 
  45. --  the following example: 
  46. -- 
  47. --    gtk_show_about_dialog (NULL, 
  48. --       "program-name", "ExampleCode", 
  49. --       "logo", example_logo, 
  50. --       "title" _("About ExampleCode"), 
  51. --       NULL); 
  52. -- 
  53. --  It is also possible to show a Gtk.About_Dialog.Gtk_About_Dialog like any 
  54. --  other Gtk.Dialog.Gtk_Dialog, e.g. using Gtk.Dialog.Run. In this case, you 
  55. --  might need to know that the 'Close' button returns the GTK_RESPONSE_CANCEL 
  56. --  response id. 
  57. -- 
  58. --  </description> 
  59. --  <group>Windows</group> 
  60. --  <testgtk>create_about.adb</testgtk> 
  61. pragma Ada_2005; 
  62.  
  63. pragma Warnings (Off, "*is already use-visible*"); 
  64. with GNAT.Strings;            use GNAT.Strings; 
  65. with Gdk.Pixbuf;              use Gdk.Pixbuf; 
  66. with Glib;                    use Glib; 
  67. with Glib.Generic_Properties; use Glib.Generic_Properties; 
  68. with Glib.Object;             use Glib.Object; 
  69. with Glib.Properties;         use Glib.Properties; 
  70. with Glib.Types;              use Glib.Types; 
  71. with Gtk.Buildable;           use Gtk.Buildable; 
  72. with Gtk.Dialog;              use Gtk.Dialog; 
  73.  
  74. package Gtk.About_Dialog is 
  75.  
  76.    type Gtk_About_Dialog_Record is new Gtk_Dialog_Record with null record; 
  77.    type Gtk_About_Dialog is access all Gtk_About_Dialog_Record'Class; 
  78.  
  79.    type Gtk_License is ( 
  80.       License_Unknown, 
  81.       License_Custom, 
  82.       License_Gpl_2_0, 
  83.       License_Gpl_3_0, 
  84.       License_Lgpl_2_1, 
  85.       License_Lgpl_3_0, 
  86.       License_Bsd, 
  87.       License_Mit_X11, 
  88.       License_Artistic); 
  89.    pragma Convention (C, Gtk_License); 
  90.    --  The type of license for an application. 
  91.    -- 
  92.    --  This enumeration can be expanded at later date. 
  93.  
  94.    ---------------------------- 
  95.    -- Enumeration Properties -- 
  96.    ---------------------------- 
  97.  
  98.    package Gtk_License_Properties is 
  99.       new Generic_Internal_Discrete_Property (Gtk_License); 
  100.    type Property_Gtk_License is new Gtk_License_Properties.Property; 
  101.  
  102.    ------------------ 
  103.    -- Constructors -- 
  104.    ------------------ 
  105.  
  106.    procedure Gtk_New (About : out Gtk_About_Dialog); 
  107.    procedure Initialize 
  108.       (About : not null access Gtk_About_Dialog_Record'Class); 
  109.    --  Creates a new Gtk.About_Dialog.Gtk_About_Dialog. 
  110.    --  Since: gtk+ 2.6 
  111.  
  112.    function Gtk_About_Dialog_New return Gtk_About_Dialog; 
  113.    --  Creates a new Gtk.About_Dialog.Gtk_About_Dialog. 
  114.    --  Since: gtk+ 2.6 
  115.  
  116.    function Get_Type return Glib.GType; 
  117.    pragma Import (C, Get_Type, "gtk_about_dialog_get_type"); 
  118.  
  119.    ------------- 
  120.    -- Methods -- 
  121.    ------------- 
  122.  
  123.    procedure Add_Credit_Section 
  124.       (About        : not null access Gtk_About_Dialog_Record; 
  125.        Section_Name : UTF8_String; 
  126.        People       : GNAT.Strings.String_List); 
  127.    --  Creates a new section in the Credits page. 
  128.    --  Since: gtk+ 3.4 
  129.    --  "section_name": The name of the section 
  130.    --  "people": The people who belong to that section 
  131.  
  132.    function Get_Artists 
  133.       (About : not null access Gtk_About_Dialog_Record) 
  134.        return GNAT.Strings.String_List; 
  135.    --  Returns the string which are displayed in the artists tab of the 
  136.    --  secondary credits dialog. 
  137.    --  Since: gtk+ 2.6 
  138.  
  139.    procedure Set_Artists 
  140.       (About   : not null access Gtk_About_Dialog_Record; 
  141.        Artists : GNAT.Strings.String_List); 
  142.    --  Sets the strings which are displayed in the artists tab of the 
  143.    --  secondary credits dialog. 
  144.    --  Since: gtk+ 2.6 
  145.    --  "artists": a null-terminated array of strings 
  146.  
  147.    function Get_Authors 
  148.       (About : not null access Gtk_About_Dialog_Record) 
  149.        return GNAT.Strings.String_List; 
  150.    --  Returns the string which are displayed in the authors tab of the 
  151.    --  secondary credits dialog. 
  152.    --  Since: gtk+ 2.6 
  153.  
  154.    procedure Set_Authors 
  155.       (About   : not null access Gtk_About_Dialog_Record; 
  156.        Authors : GNAT.Strings.String_List); 
  157.    --  Sets the strings which are displayed in the authors tab of the 
  158.    --  secondary credits dialog. 
  159.    --  Since: gtk+ 2.6 
  160.    --  "authors": a null-terminated array of strings 
  161.  
  162.    function Get_Comments 
  163.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  164.    --  Returns the comments string. 
  165.    --  Since: gtk+ 2.6 
  166.  
  167.    procedure Set_Comments 
  168.       (About    : not null access Gtk_About_Dialog_Record; 
  169.        Comments : UTF8_String := ""); 
  170.    --  Sets the comments string to display in the about dialog. This should be 
  171.    --  a short string of one or two lines. 
  172.    --  Since: gtk+ 2.6 
  173.    --  "comments": a comments string 
  174.  
  175.    function Get_Copyright 
  176.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  177.    --  Returns the copyright string. 
  178.    --  Since: gtk+ 2.6 
  179.  
  180.    procedure Set_Copyright 
  181.       (About     : not null access Gtk_About_Dialog_Record; 
  182.        Copyright : UTF8_String := ""); 
  183.    --  Sets the copyright string to display in the about dialog. This should 
  184.    --  be a short string of one or two lines. 
  185.    --  Since: gtk+ 2.6 
  186.    --  "copyright": the copyright string 
  187.  
  188.    function Get_Documenters 
  189.       (About : not null access Gtk_About_Dialog_Record) 
  190.        return GNAT.Strings.String_List; 
  191.    --  Returns the string which are displayed in the documenters tab of the 
  192.    --  secondary credits dialog. 
  193.    --  Since: gtk+ 2.6 
  194.  
  195.    procedure Set_Documenters 
  196.       (About       : not null access Gtk_About_Dialog_Record; 
  197.        Documenters : GNAT.Strings.String_List); 
  198.    --  Sets the strings which are displayed in the documenters tab of the 
  199.    --  secondary credits dialog. 
  200.    --  Since: gtk+ 2.6 
  201.    --  "documenters": a null-terminated array of strings 
  202.  
  203.    function Get_License 
  204.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  205.    --  Returns the license information. 
  206.    --  Since: gtk+ 2.6 
  207.  
  208.    procedure Set_License 
  209.       (About   : not null access Gtk_About_Dialog_Record; 
  210.        License : UTF8_String := ""); 
  211.    --  Sets the license information to be displayed in the secondary license 
  212.    --  dialog. If License is null, the license button is hidden. 
  213.    --  Since: gtk+ 2.6 
  214.    --  "license": the license information or null 
  215.  
  216.    function Get_License_Type 
  217.       (About : not null access Gtk_About_Dialog_Record) return Gtk_License; 
  218.    --  Retrieves the license set using Gtk.About_Dialog.Set_License_Type 
  219.    --  Since: gtk+ 3.0 
  220.  
  221.    procedure Set_License_Type 
  222.       (About        : not null access Gtk_About_Dialog_Record; 
  223.        License_Type : Gtk_License); 
  224.    --  Sets the license of the application showing the About dialog from a 
  225.    --  list of known licenses. 
  226.    --  This function overrides the license set using 
  227.    --  Gtk.About_Dialog.Set_License. 
  228.    --  Since: gtk+ 3.0 
  229.    --  "license_type": the type of license 
  230.  
  231.    function Get_Logo 
  232.       (About : not null access Gtk_About_Dialog_Record) 
  233.        return Gdk.Pixbuf.Gdk_Pixbuf; 
  234.    --  Returns the pixbuf displayed as logo in the about dialog. 
  235.    --  Since: gtk+ 2.6 
  236.  
  237.    procedure Set_Logo 
  238.       (About : not null access Gtk_About_Dialog_Record; 
  239.        Logo  : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); 
  240.    --  Sets the pixbuf to be displayed as logo in the about dialog. If it is 
  241.    --  null, the default window icon set with Gtk.Window.Set_Default_Icon will 
  242.    --  be used. 
  243.    --  Since: gtk+ 2.6 
  244.    --  "logo": a Gdk.Pixbuf.Gdk_Pixbuf, or null 
  245.  
  246.    function Get_Logo_Icon_Name 
  247.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  248.    --  Returns the icon name displayed as logo in the about dialog. 
  249.    --  Since: gtk+ 2.6 
  250.  
  251.    procedure Set_Logo_Icon_Name 
  252.       (About     : not null access Gtk_About_Dialog_Record; 
  253.        Icon_Name : UTF8_String := ""); 
  254.    --  Sets the pixbuf to be displayed as logo in the about dialog. If it is 
  255.    --  null, the default window icon set with Gtk.Window.Set_Default_Icon will 
  256.    --  be used. 
  257.    --  Since: gtk+ 2.6 
  258.    --  "icon_name": an icon name, or null 
  259.  
  260.    function Get_Program_Name 
  261.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  262.    --  Returns the program name displayed in the about dialog. 
  263.    --  Since: gtk+ 2.12 
  264.  
  265.    procedure Set_Program_Name 
  266.       (About : not null access Gtk_About_Dialog_Record; 
  267.        Name  : UTF8_String); 
  268.    --  Sets the name to display in the about dialog. If this is not set, it 
  269.    --  defaults to g_get_application_name. 
  270.    --  Since: gtk+ 2.12 
  271.    --  "name": the program name 
  272.  
  273.    function Get_Translator_Credits 
  274.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  275.    --  Returns the translator credits string which is displayed in the 
  276.    --  translators tab of the secondary credits dialog. 
  277.    --  Since: gtk+ 2.6 
  278.  
  279.    procedure Set_Translator_Credits 
  280.       (About              : not null access Gtk_About_Dialog_Record; 
  281.        Translator_Credits : UTF8_String := ""); 
  282.    --  Sets the translator credits string which is displayed in the 
  283.    --  translators tab of the secondary credits dialog. 
  284.    --  The intended use for this string is to display the translator of the 
  285.    --  language which is currently used in the user interface. Using gettext, a 
  286.    --  simple way to achieve that is to mark the string for translation: |[ 
  287.    --  gtk_about_dialog_set_translator_credits (about, 
  288.    --  _("translator-credits")); ]| It is a good idea to use the customary 
  289.    --  msgid "translator-credits" for this purpose, since translators will 
  290.    --  already know the purpose of that msgid, and since 
  291.    --  Gtk.About_Dialog.Gtk_About_Dialog will detect if "translator-credits" is 
  292.    --  untranslated and hide the tab. 
  293.    --  Since: gtk+ 2.6 
  294.    --  "translator_credits": the translator credits 
  295.  
  296.    function Get_Version 
  297.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  298.    --  Returns the version string. 
  299.    --  Since: gtk+ 2.6 
  300.  
  301.    procedure Set_Version 
  302.       (About   : not null access Gtk_About_Dialog_Record; 
  303.        Version : UTF8_String := ""); 
  304.    --  Sets the version string to display in the about dialog. 
  305.    --  Since: gtk+ 2.6 
  306.    --  "version": the version string 
  307.  
  308.    function Get_Website 
  309.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  310.    --  Returns the website URL. 
  311.    --  Since: gtk+ 2.6 
  312.  
  313.    procedure Set_Website 
  314.       (About   : not null access Gtk_About_Dialog_Record; 
  315.        Website : UTF8_String := ""); 
  316.    --  Sets the URL to use for the website link. 
  317.    --  Since: gtk+ 2.6 
  318.    --  "website": a URL string starting with "http://" 
  319.  
  320.    function Get_Website_Label 
  321.       (About : not null access Gtk_About_Dialog_Record) return UTF8_String; 
  322.    --  Returns the label used for the website link. 
  323.    --  Since: gtk+ 2.6 
  324.  
  325.    procedure Set_Website_Label 
  326.       (About         : not null access Gtk_About_Dialog_Record; 
  327.        Website_Label : UTF8_String); 
  328.    --  Sets the label to be used for the website link. 
  329.    --  Since: gtk+ 2.6 
  330.    --  "website_label": the label used for the website link 
  331.  
  332.    function Get_Wrap_License 
  333.       (About : not null access Gtk_About_Dialog_Record) return Boolean; 
  334.    --  Returns whether the license text in About is automatically wrapped. 
  335.    --  Since: gtk+ 2.8 
  336.  
  337.    procedure Set_Wrap_License 
  338.       (About        : not null access Gtk_About_Dialog_Record; 
  339.        Wrap_License : Boolean); 
  340.    --  Sets whether the license text in About is automatically wrapped. 
  341.    --  Since: gtk+ 2.8 
  342.    --  "wrap_license": whether to wrap the license 
  343.  
  344.    ---------------- 
  345.    -- Properties -- 
  346.    ---------------- 
  347.    --  The following properties are defined for this widget. See 
  348.    --  Glib.Properties for more information on properties) 
  349.  
  350.    Artists_Property : constant Glib.Properties.Property_String := 
  351.    Glib.Properties.Build ("artists");--  Unknown type: unspecified 
  352.  
  353.    Authors_Property : constant Glib.Properties.Property_String := 
  354.    Glib.Properties.Build ("authors");--  Unknown type: unspecified 
  355.  
  356.    Documenters_Property : constant Glib.Properties.Property_String := 
  357.    Glib.Properties.Build ("documenters");--  Unknown type: unspecified 
  358.  
  359.    Comments_Property : constant Glib.Properties.Property_String; 
  360.    --  Comments about the program. This string is displayed in a label in the 
  361.    --  main dialog, thus it should be a short explanation of the main purpose 
  362.    --  of the program, not a detailed list of features. 
  363.  
  364.    Copyright_Property : constant Glib.Properties.Property_String; 
  365.    --  Copyright information for the program. 
  366.  
  367.    License_Property : constant Glib.Properties.Property_String; 
  368.    --  The license of the program. This string is displayed in a text view in 
  369.    --  a secondary dialog, therefore it is fine to use a long multi-paragraph 
  370.    --  text. Note that the text is only wrapped in the text view if the 
  371.    --  "wrap-license" property is set to True; otherwise the text itself must 
  372.    --  contain the intended linebreaks. When setting this property to a 
  373.    --  non-null value, the Gtk.About_Dialog.Gtk_About_Dialog:license-type 
  374.    --  property is set to Gtk.About_Dialog.License_Custom as a side effect. 
  375.  
  376.    License_Type_Property : constant Gtk.About_Dialog.Property_Gtk_License; 
  377.    --  Type: Gtk_License 
  378.    --  The license of the program, as a value of the GtkLicense enumeration. 
  379.    -- 
  380.    --  The Gtk.About_Dialog.Gtk_About_Dialog will automatically fill out a 
  381.    --  standard disclaimer and link the user to the appropriate online resource 
  382.    --  for the license text. 
  383.    -- 
  384.    --  If Gtk.About_Dialog.License_Unknown is used, the link used will be the 
  385.    --  same specified in the Gtk.About_Dialog.Gtk_About_Dialog:website 
  386.    --  property. 
  387.    -- 
  388.    --  If Gtk.About_Dialog.License_Custom is used, the current contents of the 
  389.    --  Gtk.About_Dialog.Gtk_About_Dialog:license property are used. 
  390.    -- 
  391.    --  For any other Gtk.About_Dialog.Gtk_License value, the contents of the 
  392.    --  Gtk.About_Dialog.Gtk_About_Dialog:license property are also set by this 
  393.    --  property as a side effect. 
  394.  
  395.    Logo_Property : constant Glib.Properties.Property_Object; 
  396.    --  Type: Gdk.Pixbuf.Gdk_Pixbuf 
  397.    --  A logo for the about box. If this is not set, it defaults to 
  398.    --  Gtk.Window.Get_Default_Icon_List. 
  399.  
  400.    Logo_Icon_Name_Property : constant Glib.Properties.Property_String; 
  401.    --  A named icon to use as the logo for the about box. This property 
  402.    --  overrides the Gtk.About_Dialog.Gtk_About_Dialog:logo property. 
  403.  
  404.    Program_Name_Property : constant Glib.Properties.Property_String; 
  405.    --  The name of the program. If this is not set, it defaults to 
  406.    --  g_get_application_name. 
  407.  
  408.    Translator_Credits_Property : constant Glib.Properties.Property_String; 
  409.    --  Credits to the translators. This string should be marked as 
  410.    --  translatable. The string may contain email addresses and URLs, which 
  411.    --  will be displayed as links, see the introduction for more details. 
  412.  
  413.    Version_Property : constant Glib.Properties.Property_String; 
  414.    --  The version of the program. 
  415.  
  416.    Website_Property : constant Glib.Properties.Property_String; 
  417.    --  The URL for the link to the website of the program. This should be a 
  418.    --  string starting with "http://. 
  419.  
  420.    Website_Label_Property : constant Glib.Properties.Property_String; 
  421.    --  The label for the link to the website of the program. 
  422.  
  423.    Wrap_License_Property : constant Glib.Properties.Property_Boolean; 
  424.    --  Whether to wrap the text in the license dialog. 
  425.  
  426.    ------------- 
  427.    -- Signals -- 
  428.    ------------- 
  429.  
  430.    type Cb_Gtk_About_Dialog_UTF8_String_Boolean is not null access function 
  431.      (Self : access Gtk_About_Dialog_Record'Class; 
  432.       URI  : UTF8_String) return Boolean; 
  433.  
  434.    type Cb_GObject_UTF8_String_Boolean is not null access function 
  435.      (Self : access Glib.Object.GObject_Record'Class; 
  436.       URI  : UTF8_String) return Boolean; 
  437.  
  438.    Signal_Activate_Link : constant Glib.Signal_Name := "activate-link"; 
  439.    procedure On_Activate_Link 
  440.       (Self  : not null access Gtk_About_Dialog_Record; 
  441.        Call  : Cb_Gtk_About_Dialog_UTF8_String_Boolean; 
  442.        After : Boolean := False); 
  443.    procedure On_Activate_Link 
  444.       (Self  : not null access Gtk_About_Dialog_Record; 
  445.        Call  : Cb_GObject_UTF8_String_Boolean; 
  446.        Slot  : not null access Glib.Object.GObject_Record'Class; 
  447.        After : Boolean := False); 
  448.    --  The signal which gets emitted to activate a URI. Applications may 
  449.    --  connect to it to override the default behaviour, which is to call 
  450.    --  gtk_show_uri(). 
  451.    --  
  452.    --  Callback parameters: 
  453.    --    --  "uri": the URI that is activated 
  454.    --    --  Returns True if the link has been activated 
  455.  
  456.    ---------------- 
  457.    -- Interfaces -- 
  458.    ---------------- 
  459.    --  This class implements several interfaces. See Glib.Types 
  460.    -- 
  461.    --  - "Buildable" 
  462.  
  463.    package Implements_Gtk_Buildable is new Glib.Types.Implements 
  464.      (Gtk.Buildable.Gtk_Buildable, Gtk_About_Dialog_Record, Gtk_About_Dialog); 
  465.    function "+" 
  466.      (Widget : access Gtk_About_Dialog_Record'Class) 
  467.    return Gtk.Buildable.Gtk_Buildable 
  468.    renames Implements_Gtk_Buildable.To_Interface; 
  469.    function "-" 
  470.      (Interf : Gtk.Buildable.Gtk_Buildable) 
  471.    return Gtk_About_Dialog 
  472.    renames Implements_Gtk_Buildable.To_Object; 
  473.  
  474. private 
  475.    Wrap_License_Property : constant Glib.Properties.Property_Boolean := 
  476.      Glib.Properties.Build ("wrap-license"); 
  477.    Website_Label_Property : constant Glib.Properties.Property_String := 
  478.      Glib.Properties.Build ("website-label"); 
  479.    Website_Property : constant Glib.Properties.Property_String := 
  480.      Glib.Properties.Build ("website"); 
  481.    Version_Property : constant Glib.Properties.Property_String := 
  482.      Glib.Properties.Build ("version"); 
  483.    Translator_Credits_Property : constant Glib.Properties.Property_String := 
  484.      Glib.Properties.Build ("translator-credits"); 
  485.    Program_Name_Property : constant Glib.Properties.Property_String := 
  486.      Glib.Properties.Build ("program-name"); 
  487.    Logo_Icon_Name_Property : constant Glib.Properties.Property_String := 
  488.      Glib.Properties.Build ("logo-icon-name"); 
  489.    Logo_Property : constant Glib.Properties.Property_Object := 
  490.      Glib.Properties.Build ("logo"); 
  491.    License_Type_Property : constant Gtk.About_Dialog.Property_Gtk_License := 
  492.      Gtk.About_Dialog.Build ("license-type"); 
  493.    License_Property : constant Glib.Properties.Property_String := 
  494.      Glib.Properties.Build ("license"); 
  495.    Copyright_Property : constant Glib.Properties.Property_String := 
  496.      Glib.Properties.Build ("copyright"); 
  497.    Comments_Property : constant Glib.Properties.Property_String := 
  498.      Glib.Properties.Build ("comments"); 
  499. end Gtk.About_Dialog;