with Gtk.Widget; use Gtk.Widget;
private with Ada.Containers.Indefinite_Ordered_Maps;
package Agpl.Gdk.Widget_Bundle is
-- pragma Preelaborate;
type Object is tagged private;
procedure Set_Root (This : in out Object; W : access Gtk_Widget_Record'Class);
function Get_Root (This : Object) return access Gtk_Widget_Record'Class;
procedure Set (This : in out Object; Name : String; W : access Gtk_Widget_Record'Class);
function Get (This : Object; Name : String) return access Gtk_Widget_Record'Class;
private
package Widget_Maps is
new Ada.Containers.Indefinite_Ordered_Maps (String, Gtk_Widget);
use Widget_Maps;
type Object is tagged record
Root : Gtk_Widget;
Widgets : Widget_Maps.Map;
end record;
end Agpl.Gdk.Widget_Bundle;