File: gtk-radio_menu_item.ads

package info (click to toggle)
libgtkada 2.24.4dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 12,208 kB
  • ctags: 1,676
  • sloc: ada: 119,686; ansic: 4,719; sh: 3,003; makefile: 690; xml: 338; perl: 70
file content (169 lines) | stat: -rw-r--r-- 7,098 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
-----------------------------------------------------------------------
--               GtkAda - Ada95 binding for Gtk+/Gnome               --
--                                                                   --
--   Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet   --
--                Copyright (C) 2000-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.                                       --
--                                                                   --
-----------------------------------------------------------------------

--  <description>
--  This widget provides a special kind of menu item that represents a
--  radio button. Such a button can be checked or unchecked by the user, but
--  only one button in a group can be selected at any given time, as opposed to
--  a toggle menu item.
--  </description>
--  <c_version>2.8.17</c_version>
--  <group>Menus and Toolbars</group>

with Glib.Properties;
with Gtk.Check_Menu_Item;
with Gtk.Widget; use Gtk.Widget;

package Gtk.Radio_Menu_Item is

   type Gtk_Radio_Menu_Item_Record is new
     Gtk.Check_Menu_Item.Gtk_Check_Menu_Item_Record with private;
   type Gtk_Radio_Menu_Item is access all Gtk_Radio_Menu_Item_Record'Class;

   procedure Gtk_New
     (Radio_Menu_Item : out Gtk_Radio_Menu_Item;
      Group           : Widget_SList.GSlist;
      Label           : UTF8_String := "");
   procedure Initialize
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record'Class;
      Group           : Widget_SList.GSlist;
      Label           : UTF8_String := "");
   --  Creates or initializes a menu item

   procedure Gtk_New_With_Mnemonic
     (Radio_Menu_Item : out Gtk_Radio_Menu_Item;
      Group           : Widget_SList.GSlist;
      Label           : UTF8_String);
   procedure Initialize_With_Mnemonic
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record'Class;
      Group           : Widget_SList.GSlist;
      Label           : UTF8_String);
   --  Creates or initializes a menu item.
   --  The first underscore sign in Label will be used as a key shortcut to
   --  this item when the menu is displayed. For instance, if you use "_Open",
   --  then pressing alt-o when the menu is open will select the menu item

   procedure Gtk_New_From_Widget
     (Radio_Menu_Item : out Gtk_Radio_Menu_Item;
      Group           : access Gtk_Radio_Menu_Item_Record'Class);
   procedure Initialize_From_Widget
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record'Class;
      Group           : access Gtk_Radio_Menu_Item_Record'Class);
   --  Creates or initializes a menu item. It initially belongs to the same
   --  group as Group

   procedure Gtk_New_With_Label_From_Widget
     (Radio_Menu_Item : out Gtk_Radio_Menu_Item;
      Group           : access Gtk_Radio_Menu_Item_Record'Class;
      Label           : String);
   procedure Initialize_With_Label_From_Widget
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record'Class;
      Group           : access Gtk_Radio_Menu_Item_Record'Class;
      Label           : String);
   --  Creates or initializes a menu item. It initially belongs to the same
   --  group as Group.

   procedure Gtk_New_With_Mnemonic_From_Widget
     (Radio_Menu_Item : out Gtk_Radio_Menu_Item;
      Group           : access Gtk_Radio_Menu_Item_Record'Class;
      Label           : String);
   procedure Initialize_With_Mnemonic_From_Widget
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record'Class;
      Group           : access Gtk_Radio_Menu_Item_Record'Class;
      Label           : String);
   --  Same as Gtk_New_With_Mnemonic, except the group is given by a widget

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

   procedure Set_Group
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record;
      Group           : Widget_SList.GSlist);
   function Get_Group
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record)
      return Widget_SList.GSlist;
   --  Set or Get to which the menu item belongs. Only one menu item in this
   --  group can be selected at any given time

   function Selected_Button (In_Group : Widget_SList.GSlist) return Natural;
   --  Return the button number of the selected button in the group.
   --  Note: This function is not part of Gtk+ itself, but is provided as a
   --  convenient function

   -----------------
   -- Obsolescent --
   -----------------
   --  All subprograms below are now obsolescent in gtk+. They might be removed
   --  from future versions of gtk+ (and therefore GtkAda).
   --  To find out whether your code uses any of these, we recommend compiling
   --  with the -gnatwj switch
   --  <doc_ignore>

   function Group
     (Radio_Menu_Item : access Gtk_Radio_Menu_Item_Record)
      return Widget_SList.GSlist renames Get_Group;
   --  pragma Obsolescent;
   --  This function is deprecated. Get_Group should be used instead.

   --  </doc_ignore>

   -------------
   -- Signals --
   -------------

   --  <signals>
   --  The following new signals are defined for this widget:
   --
   --  - "group-changed"
   --    procedure Handler (Item : access Gtk_Radio_Menu_Item_Record'Class);
   --    Emitted when the group of Item has been changed.
   --
   --  </signals>

   Signal_Group_Changed : constant Glib.Signal_Name := "group-changed";

   ----------------
   -- Properties --
   ----------------

   --  <properties>
   --  The following properties are defined for this widget. See
   --  Glib.Properties for more information on properties.
   --
   --  Name:  Group_Property
   --  Type:  Object
   --  Descr: The radio menu item whose group this widget belongs to.
   --
   --  </properties>

   Group_Property : constant Glib.Properties.Property_Object;

private
   type Gtk_Radio_Menu_Item_Record is new
     Gtk.Check_Menu_Item.Gtk_Check_Menu_Item_Record with null record;

   Group_Property : constant Glib.Properties.Property_Object :=
     Glib.Properties.Build ("group");

   pragma Import (C, Get_Type, "gtk_radio_menu_item_get_type");
end Gtk.Radio_Menu_Item;