// 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
    {
      namespace event
      {
        class MouseEvent;
      }
      class Dimension;
    }
  }
  namespace javax
  {
    namespace swing
    {
      class ActionMap;
      class JComponent;
      namespace plaf
      {
        class ComponentUI;
        namespace basic
        {
          class BasicPopupMenuUI;
          class BasicPopupMenuUI$KeyboardHelper;
          class BasicPopupMenuUI$TopWindowListener;
        }
      }
      namespace event
      {
        class PopupMenuListener;
      }
      class JPopupMenu;
    }
  }
}

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 *) { return 0; }
  virtual ::java::awt::Dimension *getPreferredSize (::javax::swing::JComponent *) { return 0; }
  virtual ::java::awt::Dimension *getMaximumSize (::javax::swing::JComponent *) { return 0; }
  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;

  friend class javax_swing_plaf_basic_BasicPopupMenuUI$TopWindowListener;
  friend class javax_swing_plaf_basic_BasicPopupMenuUI$PopupMenuHandler;
  friend class javax_swing_plaf_basic_BasicPopupMenuUI$KeyboardHelper;
  friend class javax_swing_plaf_basic_BasicPopupMenuUI$NavigateAction;
public:

  static ::java::lang::Class class$;
};

#endif /* __javax_swing_plaf_basic_BasicPopupMenuUI__ */
