1. ----------------------------------------------------------------------- 
  2. --               GtkAda - Ada95 binding for Gtk+/Gnome               -- 
  3. --                                                                   -- 
  4. --   Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet   -- 
  5. --                Copyright (C) 2000-2013, AdaCore                   -- 
  6. --                                                                   -- 
  7. -- This library is free software; you can redistribute it and/or     -- 
  8. -- modify it under the terms of the GNU General Public               -- 
  9. -- License as published by the Free Software Foundation; either      -- 
  10. -- version 2 of the License, or (at your option) any later version.  -- 
  11. --                                                                   -- 
  12. -- This library is distributed in the hope that it will be useful,   -- 
  13. -- but WITHOUT ANY WARRANTY; without even the implied warranty of    -- 
  14. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -- 
  15. -- General Public License for more details.                          -- 
  16. --                                                                   -- 
  17. -- You should have received a copy of the GNU General Public         -- 
  18. -- License along with this library; if not, write to the             -- 
  19. -- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      -- 
  20. -- Boston, MA 02111-1307, USA.                                       -- 
  21. --                                                                   -- 
  22. -- As a special exception, if other files instantiate generics from  -- 
  23. -- this unit, or you link this unit with other files to produce an   -- 
  24. -- executable, this  unit  does not  by itself cause  the resulting  -- 
  25. -- executable to be covered by the GNU General Public License. This  -- 
  26. -- exception does not however invalidate any other reasons why the   -- 
  27. -- executable file  might be covered by the  GNU Public License.     -- 
  28. ----------------------------------------------------------------------- 
  29.  
  30. --  <description> 
  31. --  A Gtk_Entry is a single line text editing widget. 
  32. --  The text is automatically scrolled if it is longer than can be displayed 
  33. --  on the screen, so that the cursor position is visible at all times. 
  34. -- 
  35. --  See Gtk_Text_View for a multiple-line text editing widget. 
  36. --  </description> 
  37. --  <c_version>2.16.6</c_version> 
  38. --  <group>Numeric/Text Data Entry</group> 
  39. --  <testgtk>create_entry.adb</testgtk> 
  40. --  <screenshot>gtk-gentry</screenshot> 
  41.  
  42. with Glib.G_Icon; 
  43. with Glib.Properties; 
  44. with Gdk.Dnd; 
  45. with Gdk.Pixbuf; 
  46. with Gtk.Adjustment; 
  47. with Gtk.Editable; 
  48. with Gtk.Entry_Completion;  use Gtk.Entry_Completion; 
  49. with Gtk.Image; 
  50. with Gtk.Selection; 
  51. with Gtk.Style; 
  52. with Pango.Layout; 
  53.  
  54. package Gtk.GEntry is 
  55.  
  56.    type Gtk_Entry_Icon_Position is 
  57.      (Gtk_Entry_Icon_Primary, Gtk_Entry_Icon_Secondary); 
  58.    pragma Convention (C, Gtk_Entry_Icon_Position); 
  59.  
  60.    type Gtk_Entry_Record is new Gtk.Editable.Gtk_Editable_Record with private; 
  61.    --  Gtk_Entry is actually a child of Gtk_Widget, and implements the 
  62.    --  Gtk_Editable interface, but GtkAda does not support yet interfaces, 
  63.    --  so use direct inheritance for now ??? 
  64.  
  65.    type Gtk_Entry is access all Gtk_Entry_Record'Class; 
  66.    subtype Gtk_GEntry is Gtk_Entry; 
  67.  
  68.    procedure Gtk_New (Widget : out Gtk_Entry); 
  69.    --  Create a new entry with no maximum length for the text 
  70.  
  71.    procedure Initialize (Widget : access Gtk_Entry_Record'Class); 
  72.    --  Internal initialization function. 
  73.    --  See the section "Creating your own widgets" in the documentation. 
  74.  
  75.    function Get_Type return Gtk.Gtk_Type; 
  76.    --  Return the internal value associated with a Gtk_Entry. 
  77.  
  78.    function Get_Text_Length (The_Entry : access Gtk_Entry_Record) 
  79.       return Guint16; 
  80.    --  Retrieves the current length of the text in The_Entry. 
  81.  
  82.    procedure Set_Visibility 
  83.      (The_Entry : access Gtk_Entry_Record; Visible : Boolean); 
  84.    function Get_Visibility 
  85.      (The_Entry : access Gtk_Entry_Record) return Boolean; 
  86.    --  Set the visibility of the characters in the entry. 
  87.    --  If Visible is set to False, the characters will be replaced with 
  88.    --  the invisible character ('*' by default) in the display, and when the 
  89.    --  text is copied elsewhere. 
  90.  
  91.    procedure Set_Invisible_Char 
  92.      (The_Entry : access Gtk_Entry_Record; Char : Gunichar); 
  93.    function Get_Invisible_Char 
  94.      (The_Entry : access Gtk_Entry_Record) return Gunichar; 
  95.    --  Gets/Sets the character to use in place of the actual text when 
  96.    --  Set_Visibility has been called to set text visibility to False. 
  97.    --  i.e. this is the character used in "password mode" to 
  98.    --  show the user how many characters have been typed. By default, GTK+ 
  99.    --  picks the best invisible char available in the current font. If you 
  100.    --  set the invisible char to 0, then the user will get no feedback 
  101.    --  at all; there will be no text on the screen as they type. 
  102.  
  103.    procedure Unset_Invisible_Char (The_Entry : access Gtk_Entry_Record); 
  104.    --  Unsets the invisible char previously set with Set_Invisible_Char, 
  105.    --  so that the default invisible char is used again. 
  106.  
  107.    procedure Set_Has_Frame 
  108.      (The_Entry : access Gtk_Entry_Record; Setting : Boolean := True); 
  109.    function Get_Has_Frame 
  110.      (The_Entry : access Gtk_Entry_Record) return Boolean; 
  111.    --  Set whether the entry has a beveled frame around it. 
  112.  
  113.    procedure Set_Max_Length 
  114.      (The_Entry : access Gtk_Entry_Record; Max : Gint); 
  115.    function Get_Max_Length (The_Entry : access Gtk_Entry_Record) return Gint; 
  116.    --  Set the maximum length for the text. 
  117.    --  The current text is truncated if needed. 
  118.  
  119.    procedure Set_Activates_Default 
  120.      (The_Entry : access Gtk_Entry_Record; Setting : Boolean); 
  121.    function Get_Activates_Default 
  122.      (The_Entry : access Gtk_Entry_Record) return Boolean; 
  123.    --  If Setting is True, pressing Enter in the Entry will activate the 
  124.    --  default widget for the window containing the entry. This usually means 
  125.    --  that the dialog box containing the entry will be closed, since the 
  126.    --  default widget is usually one of the dialog buttons. 
  127.    -- 
  128.    --  (For experts: if Setting is True, the entry calls 
  129.    --  Gtk.Window.Activate_Default on the window containing the entry, in 
  130.    --  the default handler for the "activate" signal.) 
  131.  
  132.    procedure Set_Width_Chars 
  133.      (The_Entry : access Gtk_Entry_Record'Class; Width : Gint); 
  134.    function Get_Width_Chars 
  135.      (The_Entry : access Gtk_Entry_Record'Class) return Gint; 
  136.    --  Number of characters to leave space for in the entry, on the screen. 
  137.    --  This is the number of visible characters, not the maximal number of 
  138.    --  characters the entry can contain 
  139.  
  140.    procedure Set_Text 
  141.      (The_Entry : access Gtk_Entry_Record; Text : UTF8_String); 
  142.    function Get_Text (The_Entry : access Gtk_Entry_Record) return UTF8_String; 
  143.    --  Modify the text in the entry. 
  144.    --  The text is cut at the maximum length that was set when the entry was 
  145.    --  created. 
  146.    --  The text replaces the current contents. 
  147.  
  148.    procedure Set_Alignment (Ent  : access Gtk_Entry_Record; Xalign : Gfloat); 
  149.    function Get_Alignment   (Ent : access Gtk_Entry_Record) return Gfloat; 
  150.    --  Sets the alignment for the contents of the entry. This controls 
  151.    --  the horizontal positioning of the contents when the displayed 
  152.    --  text is shorter than the width of the entry. 
  153.  
  154.    procedure Set_Completion 
  155.      (Ent        : access Gtk_Entry_Record; 
  156.       Completion : access Gtk_Entry_Completion_Record'Class); 
  157.    function Get_Completion 
  158.      (Ent : access Gtk_Entry_Record) 
  159.       return Gtk_Entry_Completion; 
  160.    --  Sets Completion to be the auxiliary completion object to use with Ent. 
  161.    --  All further configuration of the completion mechanism is done on 
  162.    --  Completion using the Gtk.Entry_Completion API. 
  163.  
  164.    function Text_Index_To_Layout_Index 
  165.      (Ent        : access Gtk_Entry_Record; 
  166.       Text_Index : Gint) 
  167.       return Gint; 
  168.    --  Converts from a position in the entry's layout (returned by Get_Layout) 
  169.    --  to a position in the entry contents (returned by Get_Text). 
  170.    --  Returns the byte index into the entry layout text 
  171.  
  172.    function Layout_Index_To_Text_Index 
  173.      (Ent           : access Gtk_Entry_Record; 
  174.       Layout_Index : Gint) 
  175.       return Gint; 
  176.    --  Converts from a position in the entry contents (returned 
  177.    --  by Get_Text) to a position in the 
  178.    --  entry's layout (returned by Get_Layout, 
  179.    --  with text retrieved via pango.layout.Get_Text). 
  180.    --  Return the byte index into the entry contents 
  181.  
  182.    procedure Get_Layout_Offsets 
  183.      (The_Entry : access Gtk_Entry_Record; 
  184.       X         : out Gint; 
  185.       Y         : out Gint); 
  186.    --  Obtain the position of the Pango_Layout used to render text 
  187.    --  in the entry, in widget coordinates. Useful if you want to line 
  188.    --  up the text in an entry with some other text, e.g. when using the 
  189.    --  entry to implement editable cells in a sheet widget. 
  190.    -- 
  191.    --  Also useful to convert mouse events into coordinates inside the 
  192.    --  Pango_Layout, e.g. to take some action if some part of the entry text 
  193.    --  is clicked. 
  194.    -- 
  195.    --  Note that as the user scrolls around in the entry the offsets will 
  196.    --  change; you'll need to connect to the "notify::scroll_offset" 
  197.    --  signal to track this. Remember when using the Pango_Layout 
  198.    --  functions you need to convert to and from pixels using 
  199.    --  Pango_Pixels or Pango_Scale. 
  200.  
  201.    function Get_Layout (The_Entry : access Gtk_Entry_Record) 
  202.       return Pango.Layout.Pango_Layout; 
  203.    --  Return the widget that manages all the layout of text (left-to-right, 
  204.    --  right-to-left, fonts,...). Changing the font used for the entry should 
  205.    --  be done by changing the font using for this layout. Note that you should 
  206.    --  also change the font in the Pango_Context returned by Get_Pango_Context, 
  207.    --  or the next keypress event in the entry will restore the default initial 
  208.    --  font. 
  209.    -- 
  210.    --  The layout is useful to e.g. convert text positions to pixel positions, 
  211.    --  in combination with Get_Layout_Offsets.  The returned layout is owned by 
  212.    --  the entry so need not be freed by the caller. 
  213.  
  214.    function Get_Current_Icon_Drag_Source (The_Entry : access Gtk_Entry_Record) 
  215.       return Gint; 
  216.    --  Returns the index of the icon which is the source of the current 
  217.    --  DND operation, or -1. 
  218.    -- 
  219.    --  This function is meant to be used in a #GtkWidget::drag-data-get 
  220.    --  callback. 
  221.  
  222.    procedure Set_Icon_Drag_Source 
  223.      (The_Entry   : access Gtk_Entry_Record; 
  224.       Icon_Pos    : Gtk_Entry_Icon_Position; 
  225.       Target_List : Gtk.Selection.Target_List; 
  226.       Actions     : Gdk.Dnd.Drag_Action); 
  227.    --  Sets up the icon at the given position so that GTK+ will start a drag 
  228.    --  operation when the user clicks and drags the icon. 
  229.    -- 
  230.    --  To handle the drag operation, you need to connect to the usual 
  231.    --  #GtkWidget::drag-data-get (or possibly #GtkWidget::drag-data-delete) 
  232.    --  signal, and use Get_Current_Icon_Drag_Source in your signal handler 
  233.    --  to find out if the drag was started from an icon. 
  234.    -- 
  235.    --  By default, GTK+ uses the icon as the drag icon. You can use the 
  236.    --  #GtkWidget::drag-begin signal to set a different icon. Note that you 
  237.    --  have to use g_signal_connect_after() to ensure that your signal handler 
  238.    --  gets executed after the default handler. 
  239.  
  240.    function Get_Cursor_Hadjustment (The_Entry : access Gtk_Entry_Record) 
  241.       return Gtk.Adjustment.Gtk_Adjustment; 
  242.    procedure Set_Cursor_Hadjustment 
  243.      (The_Entry  : access Gtk_Entry_Record; 
  244.       Adjustment : access Gtk.Adjustment.Gtk_Adjustment_Record'Class); 
  245.    --  Hooks up an adjustment to the cursor position in an entry, so that when 
  246.    --  the cursor is moved, the adjustment is scrolled to show that position. 
  247.    --  See Gtk.Scrolled_Window.Get_Hadjustment for a typical way of obtaining 
  248.    --  the adjustment. 
  249.    -- 
  250.    --  The adjustment has to be in pixel units and in the same coordinate 
  251.    --  system as the entry. 
  252.    -- 
  253.    --  Get_Cursor_Hadjustment returns the horizontal cursor adjustment, or 
  254.    --  null if none has been set. 
  255.  
  256.    function Get_Icon_Activatable 
  257.      (The_Entry : access Gtk_Entry_Record; 
  258.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  259.       return Boolean; 
  260.    procedure Set_Icon_Activatable 
  261.      (The_Entry   : access Gtk_Entry_Record; 
  262.       Icon_Pos    : Gtk_Entry_Icon_Position; 
  263.       Activatable : Boolean); 
  264.    --  Get/Sets whether the icon is activatable. 
  265.  
  266.    function Get_Icon_At_Pos 
  267.      (The_Entry : access Gtk_Entry_Record; 
  268.       X         : Gint; 
  269.       Y         : Gint) 
  270.       return Gint; 
  271.    --  Finds the icon at the given position and return its index. 
  272.    --  If (X, Y) doesn't lie inside an icon, -1 is returned. 
  273.    --  This function is intended for use in a GtkWidget "query-tooltip" 
  274.    --  signal handler. 
  275.  
  276.    function Get_Icon_Gicon 
  277.      (The_Entry : access Gtk_Entry_Record; 
  278.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  279.       return Glib.G_Icon.G_Icon; 
  280.    procedure Set_Icon_From_Gicon 
  281.      (The_Entry : access Gtk_Entry_Record; 
  282.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  283.       Icon      : Glib.G_Icon.G_Icon); 
  284.    --  Sets the icon shown in the entry at the specified position 
  285.    --  from the current icon theme. 
  286.    --  If the icon isn't known, a "broken image" icon will be displayed 
  287.    --  instead. 
  288.    -- 
  289.    --  If Icon is null, no icon will be shown in the specified position. 
  290.  
  291.    function Get_Icon_Name 
  292.      (The_Entry : access Gtk_Entry_Record; 
  293.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  294.       return UTF8_String; 
  295.    --  Retrieves the icon name used for the icon, or "" if there is 
  296.    --  no icon or if the icon was set by some other method (e.g., by 
  297.    --  pixbuf, stock or gicon). 
  298.  
  299.    procedure Set_Icon_From_Icon_Name 
  300.      (The_Entry : access Gtk_Entry_Record; 
  301.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  302.       Icon_Name : UTF8_String); 
  303.    --  Sets the icon shown in the entry at the specified position 
  304.    --  from the current icon theme. 
  305.    -- 
  306.    --  If the icon name isn't known, a "broken image" icon will be displayed 
  307.    --  instead. 
  308.    -- 
  309.    --  If Icon_Name is "", no icon will be shown in the specified position. 
  310.  
  311.    function Get_Icon_Pixbuf 
  312.      (The_Entry : access Gtk_Entry_Record; 
  313.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  314.       return Gdk.Pixbuf.Gdk_Pixbuf; 
  315.    --  Retrieves the image used for the icon. 
  316.    -- 
  317.    --  Unlike the other methods of setting and getting icon data, this 
  318.    --  method will work regardless of whether the icon was set using a 
  319.    --  Gdk_Pixbuf, a G_Icon, a stock item, or an icon name. 
  320.    -- 
  321.    --  Returns: A Gdk_Pixbuf, or null if no icon is set for this position. 
  322.  
  323.    procedure Set_Icon_From_Pixbuf 
  324.      (The_Entry : access Gtk_Entry_Record; 
  325.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  326.       Pixbuf    : Gdk.Pixbuf.Gdk_Pixbuf); 
  327.    --  Sets the icon shown in the specified position using a pixbuf. 
  328.    --  If Pixbuf is null, no icon will be shown in the specified position. 
  329.  
  330.    function Get_Icon_Stock 
  331.      (The_Entry : access Gtk_Entry_Record; 
  332.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  333.       return UTF8_String; 
  334.    --  Retrieves the stock id used for the icon, or "" if there is 
  335.    --  no icon or if the icon was set by some other method (e.g., by 
  336.    --  pixbuf, icon name or gicon). 
  337.    -- 
  338.    --  Returns a stock id, or "" if no icon is set or if the icon 
  339.    --  wasn't set from a stock id 
  340.  
  341.    procedure Set_Icon_From_Stock 
  342.      (The_Entry : access Gtk_Entry_Record; 
  343.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  344.       Stock_Id  : UTF8_String); 
  345.    --  Sets the icon shown in the entry at the specified position from 
  346.    --  a stock image. 
  347.    -- 
  348.    --  If Stock_Id is "", no icon will be shown in the specified position. 
  349.  
  350.    function Get_Icon_Sensitive 
  351.      (The_Entry : access Gtk_Entry_Record; 
  352.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  353.       return Boolean; 
  354.    procedure Set_Icon_Sensitive 
  355.      (The_Entry : access Gtk_Entry_Record; 
  356.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  357.       Sensitive : Boolean); 
  358.    --  Gets/Sets the sensitivity for the specified icon. 
  359.  
  360.    function Get_Icon_Storage_Type 
  361.      (The_Entry : access Gtk_Entry_Record; 
  362.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  363.       return Gtk.Image.Gtk_Image_Type; 
  364.    --  Gets the type of representation being used by the icon 
  365.    --  to store image data. If the icon has no image data, 
  366.    --  the return value will be Gtk.Image.Image_Empty. 
  367.  
  368.    function Get_Icon_Tooltip_Markup 
  369.      (The_Entry : access Gtk_Entry_Record; 
  370.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  371.       return UTF8_String; 
  372.    procedure Set_Icon_Tooltip_Markup 
  373.      (The_Entry : access Gtk_Entry_Record; 
  374.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  375.       Tooltip   : UTF8_String); 
  376.    --  Gets/Sets Tooltip as the contents of the tooltip for the icon at 
  377.    --  the specified position. Tooltip is assumed to be marked up with 
  378.    --  the Pango text markup language. 
  379.    -- 
  380.    --  Use "" for Tooltip to remove an existing tooltip. 
  381.    -- 
  382.    --  See also Gtk.Widget.Set_Tooltip_Markup and Set_Icon_Tooltip_Text 
  383.  
  384.    function Get_Icon_Tooltip_Text 
  385.      (The_Entry : access Gtk_Entry_Record; 
  386.       Icon_Pos  : Gtk_Entry_Icon_Position) 
  387.       return UTF8_String; 
  388.    procedure Set_Icon_Tooltip_Text 
  389.      (The_Entry : access Gtk_Entry_Record; 
  390.       Icon_Pos  : Gtk_Entry_Icon_Position; 
  391.       Tooltip   : UTF8_String); 
  392.    --  Gets/Sets Tooltip as the contents of the tooltip for the icon 
  393.    --  at the specified position. 
  394.    -- 
  395.    --  Use "" for Tooltip to remove an existing tooltip. 
  396.    -- 
  397.    --  See also Gtk.Widget.Set_Tooltip_Text and Set_Icon_Tooltip_Markup 
  398.  
  399.    function Get_Inner_Border (The_Entry : access Gtk_Entry_Record) 
  400.       return Gtk.Style.Gtk_Border; 
  401.    procedure Set_Inner_Border 
  402.      (The_Entry : access Gtk_Entry_Record; 
  403.       Border    : Gtk.Style.Gtk_Border); 
  404.    --  Gets/Sets The_Entry's inner-border property.  null signifies that 
  405.    --  the property is (should be) cleared.  The inner-border is the area 
  406.    --  around the entry's text, but inside its frame. 
  407.    -- 
  408.    --  If set, this property overrides the inner-border style property. 
  409.    --  Overriding the style-provided border is useful when you want to do 
  410.    --  in-place editing of some text in a canvas or list widget, where 
  411.    --  pixel-exact positioning of the entry is important. 
  412.  
  413.    function Get_Overwrite_Mode (The_Entry : access Gtk_Entry_Record) 
  414.       return Boolean; 
  415.    procedure Set_Overwrite_Mode 
  416.      (The_Entry : access Gtk_Entry_Record; 
  417.       Overwrite : Boolean); 
  418.    --  Gets/Sets whether text is overwritten when typing in the Gtk_Entry. 
  419.  
  420.    function Get_Progress_Fraction (The_Entry : access Gtk_Entry_Record) 
  421.       return Gdouble; 
  422.    procedure Set_Progress_Fraction 
  423.      (The_Entry : access Gtk_Entry_Record; 
  424.       Fraction  : Gdouble); 
  425.    --  Causes the entry's progress indicator to "fill in" the given 
  426.    --  fraction of the bar. The fraction should be between 0.0 and 1.0, 
  427.    --  inclusive. 
  428.  
  429.    function Get_Progress_Pulse_Step (The_Entry : access Gtk_Entry_Record) 
  430.       return Gdouble; 
  431.    procedure Set_Progress_Pulse_Step 
  432.      (The_Entry : access Gtk_Entry_Record; 
  433.       Fraction  : Gdouble); 
  434.    --  Gets/Sets the fraction of total entry width to move the progress 
  435.    --  bouncing block for each call to Progress_Pulse. 
  436.  
  437.    procedure Progress_Pulse (The_Entry : access Gtk_Entry_Record); 
  438.    --  Indicates that some progress is made, but you don't know how much. 
  439.    --  Causes the entry's progress indicator to enter "activity mode," 
  440.    --  where a block bounces back and forth. Each call to 
  441.    --  Progress_Pulse causes the block to move by a little bit 
  442.    --  (the amount of movement per pulse is determined by 
  443.    --  Set_Progress_Pulse_Step). 
  444.  
  445.    ----------------- 
  446.    -- Obsolescent -- 
  447.    ----------------- 
  448.    --  All subprograms below are now obsolescent in gtk+. They might be removed 
  449.    --  from future versions of gtk+ (and therefore GtkAda). 
  450.    --  To find out whether your code uses any of these, we recommend compiling 
  451.    --  with the -gnatwj switch 
  452.    --  <doc_ignore> 
  453.  
  454.    procedure Gtk_New (Widget : out Gtk_Entry; Max : Gint); 
  455.    pragma Obsolescent;  --  New_With_Max_Length 
  456.    --  Create a new entry with a maximum length for the text. 
  457.    --  The text can never be longer than Max characters. 
  458.  
  459.    procedure Initialize 
  460.      (Widget : access Gtk_Entry_Record'Class; Max : Gint); 
  461.    pragma Obsolescent; 
  462.    --  Internal initialization function. 
  463.    --  See the section "Creating your own widgets" in the documentation. 
  464.  
  465.    procedure Append_Text 
  466.      (The_Entry : access Gtk_Entry_Record; Text : UTF8_String); 
  467.    pragma Obsolescent ("See Gtk.Editable.Insert_Text");  --  Append_Text 
  468.    --  Append a new string at the end of the existing one. 
  469.  
  470.    procedure Prepend_Text 
  471.      (The_Entry : access Gtk_Entry_Record; Text : UTF8_String); 
  472.    pragma Obsolescent ("See Gtk.Editable.Insert_Text");  --  Prepend_Text 
  473.    --  Insert some text at the beginning of the entry. 
  474.  
  475.    procedure Set_Editable 
  476.      (The_Entry : access Gtk_Entry_Record; Editable : Boolean); 
  477.    pragma Obsolescent;  --  Set_Editable 
  478.  
  479.    function Get_Chars (The_Entry : access Gtk_Entry_Record) return UTF8_String 
  480.                        renames Get_Text; 
  481.    --  pragma Obsolescent; 
  482.    --  Convenience function provided for compatibility with GtkAda 1.2 
  483.  
  484.    --  </doc_ignore> 
  485.  
  486.    ---------------- 
  487.    -- Properties -- 
  488.    ---------------- 
  489.  
  490.    --  <properties> 
  491.    --  The following properties are defined for this widget. See 
  492.    --  Glib.Properties for more information on properties. 
  493.    -- 
  494.    --  Name:  Activates_Default_Property 
  495.    --  Type:  Boolean 
  496.    --  Flags: read-write 
  497.    --  Descr: Whether to activate the default widget (such as the default 
  498.    --         button in a dialog) when Enter is pressed.) 
  499.    -- 
  500.    --  Name:  Caps_Lock_Warning_Property 
  501.    --  Type:  Boolean 
  502.    --  Descr: Whether password entries will show a warning when Caps Lock is on 
  503.    -- 
  504.    --  Name:  Cursor_Position_Property 
  505.    --  Type:  Int 
  506.    --  Descr: The current position of the insertion cursor in chars 
  507.    -- 
  508.    --  Name:  Editable_Property 
  509.    --  Type:  Boolean 
  510.    --  Flags: read-write 
  511.    --  Descr: Whether the entry contents can be edited 
  512.    --  See also:  Set_Editable 
  513.    -- 
  514.    --  Name:  Has_Frame_Property 
  515.    --  Type:  Boolean 
  516.    --  Descr: FALSE removes outside bevel from entry 
  517.    -- 
  518.    --  Name:  Im_Module_Property 
  519.    --  Type:  String 
  520.    --  Descr: Which IM module should be used 
  521.    -- 
  522.    --  Name:  Inner_Border_Property 
  523.    --  Type:  Boxed 
  524.    --  Descr: Border between text and frame. Overrides the inner-border 
  525.    --         style property 
  526.    -- 
  527.    --  Name:  Invisible_Char_Property 
  528.    --  Type:  Gunichar 
  529.    --  Flags: read-write 
  530.    --  Descr: The character to use when masking entry contents 
  531.    --         (in "password mode") 
  532.    -- 
  533.    --  Name:  Invisible_Char_Set_Property 
  534.    --  Type:  Boolean 
  535.    --  Descr: Whether the invisible char has been set 
  536.    -- 
  537.    --  Name:  Max_Length_Property 
  538.    --  Type:  Gint 
  539.    --  Flags: read-write 
  540.    --  Descr: Maximum number of characters for this entry 
  541.    --  See also:  Set_Max_Length 
  542.    -- 
  543.    --  Name:  Overwrite_Mode_Property 
  544.    --  Type:  Boolean 
  545.    --  Descr: Whether new text overwrites existing text 
  546.    -- 
  547.    --  Name:  Primary_Icon_Activatable_Property 
  548.    --  Type:  Boolean 
  549.    --  Descr: Whether the primary icon is activatable 
  550.    -- 
  551.    --  Name:  Primary_Icon_Gicon_Property 
  552.    --  Type:  Object 
  553.    --  Descr: GIcon for primary icon 
  554.    -- 
  555.    --  Name:  Primary_Icon_Name_Property 
  556.    --  Type:  String 
  557.    --  Descr: Icon name for primary icon 
  558.    -- 
  559.    --  Name:  Primary_Icon_Pixbuf_Property 
  560.    --  Type:  Object 
  561.    --  Descr: Primary pixbuf for the entry 
  562.    -- 
  563.    --  Name:  Primary_Icon_Sensitive_Property 
  564.    --  Type:  Boolean 
  565.    --  Descr: Whether the primary icon is sensitive 
  566.    -- 
  567.    --  Name:  Primary_Icon_Stock_Property 
  568.    --  Type:  String 
  569.    --  Descr: Stock ID for primary icon 
  570.    -- 
  571.    --  Name:  Primary_Icon_Storage_Type_Property 
  572.    --  Type:  Enum 
  573.    --  Descr: The representation being used for primary icon 
  574.    -- 
  575.    --  Name:  Primary_Icon_Tooltip_Markup_Property 
  576.    --  Type:  String 
  577.    --  Descr: The contents of the tooltip on the primary icon 
  578.    -- 
  579.    --  Name:  Primary_Icon_Tooltip_Text_Property 
  580.    --  Type:  String 
  581.    --  Descr: The contents of the tooltip on the primary icon 
  582.    -- 
  583.    --  Name:  Progress_Fraction_Property 
  584.    --  Type:  Double 
  585.    --  Descr: The current fraction of the task that's been completed 
  586.    -- 
  587.    --  Name:  Progress_Pulse_Step_Property 
  588.    --  Type:  Double 
  589.    --  Descr: The fraction of total entry width to move the progress 
  590.    --         bouncing block for each call to Progress_Pulse 
  591.    -- 
  592.    --  Name:  Scroll_Offset_Property 
  593.    --  Type:  Gint 
  594.    --  Flags: read only 
  595.    --  Descr: Number of pixels of the entry scrolled off the screen to the 
  596.    --         left 
  597.    -- 
  598.    --  Name:  Secondary_Icon_Activatable_Property 
  599.    --  Type:  Boolean 
  600.    --  Descr: Whether the secondary icon is activatable 
  601.    -- 
  602.    --  Name:  Secondary_Icon_Gicon_Property 
  603.    --  Type:  Object 
  604.    --  Descr: GIcon for secondary icon 
  605.    -- 
  606.    --  Name:  Secondary_Icon_Name_Property 
  607.    --  Type:  String 
  608.    --  Descr: Icon name for secondary icon 
  609.    -- 
  610.    --  Name:  Secondary_Icon_Pixbuf_Property 
  611.    --  Type:  Object 
  612.    --  Descr: Secondary pixbuf for the entry 
  613.    -- 
  614.    --  Name:  Secondary_Icon_Sensitive_Property 
  615.    --  Type:  Boolean 
  616.    --  Descr: Whether the secondary icon is sensitive 
  617.    -- 
  618.    --  Name:  Secondary_Icon_Stock_Property 
  619.    --  Type:  String 
  620.    --  Descr: Stock ID for secondary icon 
  621.    -- 
  622.    --  Name:  Secondary_Icon_Storage_Type_Property 
  623.    --  Type:  Enum 
  624.    --  Descr: The representation being used for secondary icon 
  625.    -- 
  626.    --  Name:  Secondary_Icon_Tooltip_Markup_Property 
  627.    --  Type:  String 
  628.    --  Descr: The contents of the tooltip on the secondary icon 
  629.    -- 
  630.    --  Name:  Secondary_Icon_Tooltip_Text_Property 
  631.    --  Type:  String 
  632.    --  Descr: The contents of the tooltip on the secondary icon 
  633.    -- 
  634.    --  Name:  Selection_Bound_Property 
  635.    --  Type:  Int 
  636.    --  Descr: The position of the opposite end of the selection from the cursor 
  637.    --         in chars 
  638.    -- 
  639.    --  Name:  Shadow_Type_Property 
  640.    --  Type:  Enum 
  641.    --  Descr: Which kind of shadow to draw around the entry when has-frame 
  642.    --         is set 
  643.    -- 
  644.    --  Name:  Text_Length_Property 
  645.    --  Type:  Uint 
  646.    --  Descr: Length of the text currently in the entry 
  647.    -- 
  648.    --  Name:  Text_Position_Property 
  649.    --  Type:  Gint 
  650.    --  Flags: read-write 
  651.    --  Descr: The current position of the insertion point 
  652.    -- 
  653.    --  Name:  Text_Property 
  654.    --  Type:  String 
  655.    --  Descr: The contents of the entry 
  656.    -- 
  657.    --  Name:  Truncate_Multiline_Property 
  658.    --  Type:  Boolean 
  659.    --  Descr: Whether to truncate multiline pastes to one line. 
  660.    -- 
  661.    --  Name:  Visibility_Property 
  662.    --  Type:  Boolean 
  663.    --  Flags: read-write 
  664.    --  Descr: FALSE displays the "invisible char" instead of the actual 
  665.    --         text (password mode) 
  666.    --  See also:  Set_Visibility 
  667.    -- 
  668.    --  Name:  Width_Chars_Property 
  669.    --  Type:  Gint 
  670.    --  Flags: read-write 
  671.    --  Descr: Number of characters to leave space for in the entry. 
  672.    --  See also: Set_Width_Chars 
  673.    -- 
  674.    --  Name:  Xalign_Property 
  675.    --  Type:  Float 
  676.    --  Descr: The horizontal alignment, from 0 (left) to 1 (right). Reversed 
  677.    --         for RTL layouts. 
  678.    -- 
  679.    --  </properties> 
  680.  
  681.    Activates_Default_Property : constant Glib.Properties.Property_Boolean; 
  682.    Caps_Lock_Warning_Property : constant Glib.Properties.Property_Boolean; 
  683.    Cursor_Position_Property   : constant Glib.Properties.Property_Int; 
  684.    Editable_Property          : constant Glib.Properties.Property_Boolean; 
  685.    Has_Frame_Property         : constant Glib.Properties.Property_Boolean; 
  686.    Im_Module_Property         : constant Glib.Properties.Property_String; 
  687.    Inner_Border_Property      : constant Glib.Properties.Property_Boxed; 
  688.    Invisible_Char_Property    : constant Glib.Properties.Property_Unichar; 
  689.    Invisible_Char_Set_Property : 
  690.                                 constant Glib.Properties.Property_Boolean; 
  691.    Max_Length_Property        : constant Glib.Properties.Property_Int; 
  692.    Overwrite_Mode_Property    : constant Glib.Properties.Property_Boolean; 
  693.    Primary_Icon_Activatable_Property : 
  694.                                 constant Glib.Properties.Property_Boolean; 
  695.    Primary_Icon_Gicon_Property : 
  696.                                 constant Glib.Properties.Property_Object; 
  697.    Primary_Icon_Name_Property : constant Glib.Properties.Property_String; 
  698.    Primary_Icon_Pixbuf_Property : 
  699.                                 constant Glib.Properties.Property_Object; 
  700.    Primary_Icon_Sensitive_Property : 
  701.                                 constant Glib.Properties.Property_Boolean; 
  702.    Primary_Icon_Stock_Property : 
  703.                                 constant Glib.Properties.Property_String; 
  704.    Primary_Icon_Storage_Type_Property : 
  705.                                 constant Glib.Properties.Property_Enum; 
  706.    Primary_Icon_Tooltip_Markup_Property : 
  707.                                 constant Glib.Properties.Property_String; 
  708.    Primary_Icon_Tooltip_Text_Property : 
  709.                                 constant Glib.Properties.Property_String; 
  710.    Progress_Fraction_Property : constant Glib.Properties.Property_Double; 
  711.    Progress_Pulse_Step_Property : 
  712.                                 constant Glib.Properties.Property_Double; 
  713.    Scroll_Offset_Property     : constant Glib.Properties.Property_Int; 
  714.    Secondary_Icon_Activatable_Property : 
  715.                                 constant Glib.Properties.Property_Boolean; 
  716.    Secondary_Icon_Gicon_Property : 
  717.                                 constant Glib.Properties.Property_Object; 
  718.    Secondary_Icon_Name_Property : 
  719.                                 constant Glib.Properties.Property_String; 
  720.    Secondary_Icon_Pixbuf_Property : 
  721.                                 constant Glib.Properties.Property_Object; 
  722.    Secondary_Icon_Sensitive_Property : 
  723.                                 constant Glib.Properties.Property_Boolean; 
  724.    Secondary_Icon_Stock_Property : 
  725.                                 constant Glib.Properties.Property_String; 
  726.    Secondary_Icon_Storage_Type_Property : 
  727.                                 constant Glib.Properties.Property_Enum; 
  728.    Secondary_Icon_Tooltip_Markup_Property : 
  729.                                 constant Glib.Properties.Property_String; 
  730.    Secondary_Icon_Tooltip_Text_Property : 
  731.                                 constant Glib.Properties.Property_String; 
  732.    Selection_Bound_Property   : constant Glib.Properties.Property_Int; 
  733.    Shadow_Type_Property       : constant Glib.Properties.Property_Enum; 
  734.    Text_Length_Property       : constant Glib.Properties.Property_Uint; 
  735.    Text_Position_Property     : constant Glib.Properties.Property_Int; 
  736.    Text_Property              : constant Glib.Properties.Property_String; 
  737.    Truncate_Multiline_Property : 
  738.                                 constant Glib.Properties.Property_Boolean; 
  739.    Visibility_Property        : constant Glib.Properties.Property_Boolean; 
  740.    Width_Chars_Property       : constant Glib.Properties.Property_Int; 
  741.    Xalign_Property            : constant Glib.Properties.Property_Float; 
  742.  
  743.    ---------------------- 
  744.    -- Style Properties -- 
  745.    ---------------------- 
  746.    --  The following properties can be changed through the gtk theme and 
  747.    --  configuration files, and retrieved through Gtk.Widget.Style_Get_Property 
  748.  
  749.    --  <style_properties> 
  750.    --  Name:  Icon_Prelight_Property 
  751.    --  Type:  Boolean 
  752.    --  Descr: Whether activatable icons should prelight when hovered 
  753.    -- 
  754.    --  Name:  Progress_Border_Property 
  755.    --  Type:  Boxed 
  756.    --  Descr: Border around the progress bar 
  757.    -- 
  758.    --  Name:  State_Hint_Property 
  759.    --  Type:  Boolean 
  760.    --  Descr: Whether to pass a proper state when drawing shadow or background 
  761.    -- 
  762.    --  </style_properties> 
  763.  
  764.    Icon_Prelight_Property   : constant Glib.Properties.Property_Boolean; 
  765.    Progress_Border_Property : constant Glib.Properties.Property_Boxed; 
  766.    State_Hint_Property      : constant Glib.Properties.Property_Boolean; 
  767.  
  768.    ------------- 
  769.    -- Signals -- 
  770.    ------------- 
  771.  
  772.    --  <signals> 
  773.    --  The following new signals are defined for this widget: 
  774.    -- 
  775.    --  - "activate" 
  776.    --    procedure Handler (Ent : access Gtk_Entry_Record'Class); 
  777.    --    Called when the entry is activated, for instance when the user 
  778.    --    presses <enter> while in it 
  779.    -- 
  780.    --  - "populate_popup" 
  781.    --    procedure Handler 
  782.    --       (Ent  : access Gtk_Entry_Record'Class; 
  783.    --        Menu : access Gtk_Menu_Record'Class); 
  784.    --    ??? 
  785.    -- 
  786.    --  - "move_cursor" 
  787.    --    procedure Handler 
  788.    --       (Ent              : access Gtk_Entry_Record'Class; 
  789.    --        Step             : Gtk_Movement_Step; 
  790.    --        Amount           : Gint; 
  791.    --        Extend_Selection : Boolean); 
  792.    --    You should emit this signal to request that the cursor be moved. This 
  793.    --    is mostly used when connected to a keybinding, as is done by default 
  794.    --    for the arrow keys for instance. 
  795.    -- 
  796.    --  - "insert_at_cursor" 
  797.    --    procedure Handler 
  798.    --       (Ent  : access Gtk_Entry_Record'Class; 
  799.    --        Text : String); 
  800.    --    You should emit this signal to request that some text be inserted at 
  801.    --    the current cursor location. This is mostly used from key bindings. 
  802.    -- 
  803.    --  - "delete_from_cursor" 
  804.    --    procedure Handler 
  805.    --       (Ent              : access Gtk_Entry_Record'Class; 
  806.    --        Step             : Gtk_Movement_Step; 
  807.    --        Amount           : Gint); 
  808.    --    You should emit this signal to request that some text be delete from 
  809.    --    the cursor position. 
  810.    -- 
  811.    --  - "cut_clipboard" 
  812.    --    procedure Handler (Ent : access Gtk_Entry_Record'Class); 
  813.    --    You should emit this signal to request that the current selection be 
  814.    --    deleted and copied into the clipboard. This is mostly used from key 
  815.    --    bindings. 
  816.    -- 
  817.    --  - "copy_clipboard" 
  818.    --    procedure Handler (Ent : access Gtk_Entry_Record'Class); 
  819.    --    You should emit this signal to request that the current selection be 
  820.    --    copied into the clipboard. This is mostly used from key 
  821.    --    bindings. 
  822.    -- 
  823.    --  - "paste_clipboard" 
  824.    --    procedure Handler (Ent : access Gtk_Entry_Record'Class); 
  825.    --    You should emit this signal to request that the clipboard be inserted 
  826.    --    at the current cursor location. This is mostly used from key bindings. 
  827.    -- 
  828.    --  - "toggle_overwrite" 
  829.    --    procedure Handler (Ent : access Gtk_Entry_Record'Class); 
  830.    --    You should emit this signal to request that the insertion mode be 
  831.    --    changed. This is mostly used from a key binding, as is done by default 
  832.    --    for the Insert key. 
  833.    --  </signals> 
  834.  
  835.    Signal_Activate           : constant Glib.Signal_Name := 
  836.                                  "activate"; 
  837.    Signal_Backspace          : constant Glib.Signal_Name := 
  838.                                  "backspace"; 
  839.    Signal_Copy_Clipboard     : constant Glib.Signal_Name := 
  840.                                  "copy_clipboard"; 
  841.    Signal_Cut_Clipboard      : constant Glib.Signal_Name := 
  842.                                  "cut_clipboard"; 
  843.    Signal_Delete_From_Cursor : constant Glib.Signal_Name := 
  844.                                  "delete_from_cursor"; 
  845.    Signal_Insert_At_Cursor   : constant Glib.Signal_Name := 
  846.                                  "insert_at_cursor"; 
  847.    Signal_Move_Cursor        : constant Glib.Signal_Name := 
  848.                                  "move_cursor"; 
  849.    Signal_Paste_Clipboard    : constant Glib.Signal_Name := 
  850.                                  "paste_clipboard"; 
  851.    Signal_Populate_Popup     : constant Glib.Signal_Name := 
  852.                                  "populate_popup"; 
  853.    Signal_Toggle_Overwrite   : constant Glib.Signal_Name := 
  854.                                  "toggle_overwrite"; 
  855.  
  856. private 
  857.    type Gtk_Entry_Record is new 
  858.      Gtk.Editable.Gtk_Editable_Record with null record; 
  859.  
  860.    --  properties 
  861.    Activates_Default_Property : constant Glib.Properties.Property_Boolean := 
  862.      Glib.Properties.Build ("activates_default"); 
  863.    Caps_Lock_Warning_Property : constant Glib.Properties.Property_Boolean := 
  864.      Glib.Properties.Build ("caps-lock-warning"); 
  865.    Cursor_Position_Property : constant Glib.Properties.Property_Int := 
  866.      Glib.Properties.Build ("cursor-position"); 
  867.    Editable_Property : constant Glib.Properties.Property_Boolean := 
  868.      Glib.Properties.Build ("editable"); 
  869.    Has_Frame_Property : constant Glib.Properties.Property_Boolean := 
  870.      Glib.Properties.Build ("has-frame"); 
  871.    Im_Module_Property : constant Glib.Properties.Property_String := 
  872.      Glib.Properties.Build ("im-module"); 
  873.    Inner_Border_Property : constant Glib.Properties.Property_Boxed := 
  874.      Glib.Properties.Build ("inner-border"); 
  875.    Invisible_Char_Property : constant Glib.Properties.Property_Unichar := 
  876.      Glib.Properties.Build ("invisible_char"); 
  877.    Invisible_Char_Set_Property : constant Glib.Properties.Property_Boolean := 
  878.      Glib.Properties.Build ("invisible-char-set"); 
  879.    Max_Length_Property : constant Glib.Properties.Property_Int := 
  880.      Glib.Properties.Build ("max_length"); 
  881.    Overwrite_Mode_Property : constant Glib.Properties.Property_Boolean := 
  882.      Glib.Properties.Build ("overwrite-mode"); 
  883.    Primary_Icon_Activatable_Property : 
  884.      constant Glib.Properties.Property_Boolean := 
  885.      Glib.Properties.Build ("primary-icon-activatable"); 
  886.    Primary_Icon_Gicon_Property : constant Glib.Properties.Property_Object := 
  887.      Glib.Properties.Build ("primary-icon-gicon"); 
  888.    Primary_Icon_Name_Property : constant Glib.Properties.Property_String := 
  889.      Glib.Properties.Build ("primary-icon-name"); 
  890.    Primary_Icon_Pixbuf_Property : constant Glib.Properties.Property_Object := 
  891.      Glib.Properties.Build ("primary-icon-pixbuf"); 
  892.    Primary_Icon_Sensitive_Property : 
  893.      constant Glib.Properties.Property_Boolean := 
  894.      Glib.Properties.Build ("primary-icon-sensitive"); 
  895.    Primary_Icon_Stock_Property : constant Glib.Properties.Property_String := 
  896.      Glib.Properties.Build ("primary-icon-stock"); 
  897.    Primary_Icon_Storage_Type_Property : 
  898.      constant Glib.Properties.Property_Enum := 
  899.      Glib.Properties.Build ("primary-icon-storage-type"); 
  900.    Primary_Icon_Tooltip_Markup_Property : 
  901.      constant Glib.Properties.Property_String := 
  902.      Glib.Properties.Build ("primary-icon-tooltip-markup"); 
  903.    Primary_Icon_Tooltip_Text_Property : 
  904.      constant Glib.Properties.Property_String := 
  905.      Glib.Properties.Build ("primary-icon-tooltip-text"); 
  906.    Progress_Fraction_Property : constant Glib.Properties.Property_Double := 
  907.      Glib.Properties.Build ("progress-fraction"); 
  908.    Progress_Pulse_Step_Property : constant Glib.Properties.Property_Double := 
  909.      Glib.Properties.Build ("progress-pulse-step"); 
  910.    Scroll_Offset_Property : constant Glib.Properties.Property_Int := 
  911.      Glib.Properties.Build ("scroll_offset"); 
  912.    Secondary_Icon_Activatable_Property : 
  913.      constant Glib.Properties.Property_Boolean := 
  914.      Glib.Properties.Build ("secondary-icon-activatable"); 
  915.    Secondary_Icon_Gicon_Property : constant Glib.Properties.Property_Object := 
  916.      Glib.Properties.Build ("secondary-icon-gicon"); 
  917.    Secondary_Icon_Name_Property : constant Glib.Properties.Property_String := 
  918.      Glib.Properties.Build ("secondary-icon-name"); 
  919.    Secondary_Icon_Pixbuf_Property : constant Glib.Properties.Property_Object := 
  920.      Glib.Properties.Build ("secondary-icon-pixbuf"); 
  921.    Secondary_Icon_Sensitive_Property : 
  922.      constant Glib.Properties.Property_Boolean := 
  923.      Glib.Properties.Build ("secondary-icon-sensitive"); 
  924.    Secondary_Icon_Stock_Property : constant Glib.Properties.Property_String := 
  925.      Glib.Properties.Build ("secondary-icon-stock"); 
  926.    Secondary_Icon_Storage_Type_Property : 
  927.      constant Glib.Properties.Property_Enum := 
  928.      Glib.Properties.Build ("secondary-icon-storage-type"); 
  929.    Secondary_Icon_Tooltip_Markup_Property : 
  930.      constant Glib.Properties.Property_String := 
  931.      Glib.Properties.Build ("secondary-icon-tooltip-markup"); 
  932.    Secondary_Icon_Tooltip_Text_Property : 
  933.      constant Glib.Properties.Property_String := 
  934.      Glib.Properties.Build ("secondary-icon-tooltip-text"); 
  935.    Selection_Bound_Property : constant Glib.Properties.Property_Int := 
  936.      Glib.Properties.Build ("selection-bound"); 
  937.    Shadow_Type_Property : constant Glib.Properties.Property_Enum := 
  938.      Glib.Properties.Build ("shadow-type"); 
  939.    Text_Length_Property : constant Glib.Properties.Property_Uint := 
  940.      Glib.Properties.Build ("text-length"); 
  941.    Text_Position_Property : constant Glib.Properties.Property_Int := 
  942.      Glib.Properties.Build ("text_position"); 
  943.    Text_Property : constant Glib.Properties.Property_String := 
  944.      Glib.Properties.Build ("text"); 
  945.    Truncate_Multiline_Property : constant Glib.Properties.Property_Boolean := 
  946.      Glib.Properties.Build ("truncate-multiline"); 
  947.    Visibility_Property : constant Glib.Properties.Property_Boolean := 
  948.      Glib.Properties.Build ("visibility"); 
  949.    Width_Chars_Property : constant Glib.Properties.Property_Int := 
  950.      Glib.Properties.Build ("width_chars"); 
  951.    Xalign_Property : constant Glib.Properties.Property_Float := 
  952.      Glib.Properties.Build ("xalign"); 
  953.  
  954.    --  style properties 
  955.    Icon_Prelight_Property : constant Glib.Properties.Property_Boolean := 
  956.      Glib.Properties.Build ("icon-prelight"); 
  957.    Progress_Border_Property : constant Glib.Properties.Property_Boxed := 
  958.      Glib.Properties.Build ("progress-border"); 
  959.    State_Hint_Property : constant Glib.Properties.Property_Boolean := 
  960.      Glib.Properties.Build ("state-hint"); 
  961.  
  962.    pragma Import (C, Get_Type, "gtk_entry_get_type"); 
  963. end Gtk.GEntry; 
  964.  
  965. --  This subprogram was never bound, and is now obsolescent: 
  966. --  No binding: gtk_entry_select_region 
  967. --  No binding: gtk_entry_set_position