
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_LayoutManager__
#define __java_awt_LayoutManager__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Component;
        class Container;
        class Dimension;
        class LayoutManager;
    }
  }
}

class java::awt::LayoutManager : public ::java::lang::Object
{

public:
  virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *) = 0;
  virtual void removeLayoutComponent(::java::awt::Component *) = 0;
  virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *) = 0;
  virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *) = 0;
  virtual void layoutContainer(::java::awt::Container *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_awt_LayoutManager__
