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

#ifndef __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__
#define __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__

#pragma interface

#include <gnu/java/awt/peer/qt/QtFramePeer.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace peer
        {
          namespace qt
          {
              class QtEmbeddedWindowPeer;
              class QtToolkit;
          }
        }
      }
    }
  }
  namespace java
  {
    namespace awt
    {
        class Component;
    }
  }
}

class gnu::java::awt::peer::qt::QtEmbeddedWindowPeer : public ::gnu::java::awt::peer::qt::QtFramePeer
{

public:
  QtEmbeddedWindowPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
public: // actually protected
  virtual void init();
  virtual void setup();
public:
  virtual void embed(jlong);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__
