Package Name:    java.awt.layoutmanager
with java.lang; use java.lang;
with java.awt.Component; use java.awt.Component;
with java.lang.String; use java.lang.String;
with java.awt.Container; use java.awt.Container;
with java.awt.Dimension; use java.awt.Dimension;
package java.awt.LayoutManager is
    -- NOTE: LayoutManager is an "interface" type
    type LayoutManager_Obj is new Object with null record;
    pragma Convention(Java_Interface, LayoutManager_Obj);
    type LayoutManager_Ptr is access all LayoutManager_Obj'Class;
    procedure addLayoutComponent(Obj : access LayoutManager_Obj;
        P1 : String_Ptr;
        P2 : Component_Ptr);
    procedure removeLayoutComponent(Obj : access LayoutManager_Obj;
        P1 : Component_Ptr);
    function preferredLayoutSize(Obj : access LayoutManager_Obj;
        P1 : Container_Ptr)
      return Dimension_Ptr;
    function minimumLayoutSize(Obj : access LayoutManager_Obj;
        P1 : Container_Ptr)
      return Dimension_Ptr;
    procedure layoutContainer(Obj : access LayoutManager_Obj;
        P1 : Container_Ptr);
    ----   These operations are actually methods of Container ---
    function getLayout(Obj : access Container_Obj'Class) 
      return LayoutManager_Ptr;
    procedure setLayout(Obj : access Container_Obj'Class;
        mgr : LayoutManager_Ptr);
    pragma Import(Java, removeLayoutComponent);
    pragma Import(Java, layoutContainer);
    pragma Import(Java, preferredLayoutSize);
    pragma Import(Java, minimumLayoutSize);
    pragma Import(Java, addLayoutComponent);
    pragma Import(Java, getLayout, "java/awt/Container.getLayout");
    pragma Import(Java, setLayout, "java/awt/Container.setLayout");
end java.awt.LayoutManager;