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

#ifndef __javax_swing_plaf_basic_BasicPopupMenuUI__
#define __javax_swing_plaf_basic_BasicPopupMenuUI__

#pragma interface

#include <javax/swing/plaf/PopupMenuUI.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Dimension;
      namespace event
      {
          class MouseEvent;
      }
    }
  }
  namespace javax
  {
    namespace swing
    {
        class ActionMap;
        class JComponent;
        class JPopupMenu;
      namespace event
      {
          class PopupMenuListener;
      }
      namespace plaf
      {
          class ComponentUI;
        namespace basic
        {
            class BasicPopupMenuUI;
            class BasicPopupMenuUI$KeyboardHelper;
            class BasicPopupMenuUI$TopWindowListener;
        }
      }
    }
  }
}

class javax::swing::plaf::basic::BasicPopupMenuUI : public ::javax::swing::plaf::PopupMenuUI
{

public:
  BasicPopupMenuUI();
  static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *);
  virtual void installUI(::javax::swing::JComponent *);
  virtual void installDefaults();
public: // actually protected
  virtual void installListeners();
  virtual void installKeyboardActions();
public: // actually package-private
  virtual void installKeyboardActionsImpl();
private:
  ::javax::swing::ActionMap * getActionMap();
  ::javax::swing::ActionMap * createDefaultActions();
public:
  virtual void uninstallUI(::javax::swing::JComponent *);
public: // actually protected
  virtual void uninstallDefaults();
  virtual void uninstallListeners();
  virtual void uninstallKeyboardActions();
public: // actually package-private
  virtual void uninstallKeyboardActionsImpl();
public:
  virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *);
  virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *);
  virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *);
  virtual jboolean isPopupTrigger(::java::awt::event::MouseEvent *);
public: // actually protected
  ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::javax::swing::plaf::PopupMenuUI)))) popupMenu;
private:
  ::javax::swing::event::PopupMenuListener * popupMenuListener;
public: // actually package-private
  ::javax::swing::plaf::basic::BasicPopupMenuUI$TopWindowListener * topWindowListener;
private:
  static jint numPopups;
  static ::javax::swing::plaf::basic::BasicPopupMenuUI$KeyboardHelper * keyboardHelper;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_plaf_basic_BasicPopupMenuUI__
