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

#ifndef __javax_swing_plaf_basic_BasicComboBoxUI__
#define __javax_swing_plaf_basic_BasicComboBoxUI__

#pragma interface

#include <javax/swing/plaf/ComboBoxUI.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Component;
        class Dimension;
        class Graphics;
        class Insets;
        class LayoutManager;
        class Rectangle;
      namespace event
      {
          class FocusListener;
          class ItemListener;
          class KeyListener;
          class MouseListener;
          class MouseMotionListener;
      }
    }
    namespace beans
    {
        class PropertyChangeListener;
    }
  }
  namespace javax
  {
    namespace accessibility
    {
        class Accessible;
    }
    namespace swing
    {
        class CellRendererPane;
        class ComboBoxEditor;
        class JButton;
        class JComboBox;
        class JComponent;
        class JList;
        class ListCellRenderer;
      namespace event
      {
          class ListDataListener;
      }
      namespace plaf
      {
          class ComponentUI;
        namespace basic
        {
            class BasicComboBoxUI;
            class ComboPopup;
        }
      }
    }
  }
}

class javax::swing::plaf::basic::BasicComboBoxUI : public ::javax::swing::plaf::ComboBoxUI
{

public:
  BasicComboBoxUI();
  static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *);
  virtual void installUI(::javax::swing::JComponent *);
  virtual void uninstallUI(::javax::swing::JComponent *);
public: // actually protected
  virtual void installDefaults();
  virtual void installListeners();
  virtual void uninstallDefaults();
  virtual void uninstallListeners();
  virtual ::javax::swing::plaf::basic::ComboPopup * createPopup();
  virtual ::java::awt::event::KeyListener * createKeyListener();
  virtual ::java::awt::event::FocusListener * createFocusListener();
  virtual ::javax::swing::event::ListDataListener * createListDataListener();
  virtual ::java::awt::event::ItemListener * createItemListener();
  virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener();
  virtual ::java::awt::LayoutManager * createLayoutManager();
  virtual ::javax::swing::ListCellRenderer * createRenderer();
  virtual ::javax::swing::ComboBoxEditor * createEditor();
  virtual void installComponents();
  virtual void uninstallComponents();
public:
  virtual void addEditor();
  virtual void removeEditor();
public: // actually protected
  virtual void configureEditor();
  virtual void unconfigureEditor();
public:
  virtual void configureArrowButton();
  virtual void unconfigureArrowButton();
public: // actually protected
  virtual ::javax::swing::JButton * createArrowButton();
public:
  virtual jboolean isPopupVisible(::javax::swing::JComboBox *);
  virtual void setPopupVisible(::javax::swing::JComboBox *, jboolean);
  virtual jboolean isFocusTraversable(::javax::swing::JComboBox *);
  virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *);
  virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *);
  virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *);
  virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *);
  virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *);
  virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint);
public: // actually protected
  virtual jboolean isNavigationKey(jint);
  virtual void selectNextPossibleValue();
  virtual void selectPreviousPossibleValue();
  virtual void toggleOpenClose();
  virtual ::java::awt::Rectangle * rectangleForCurrentValue();
  virtual ::java::awt::Insets * getInsets();
public:
  virtual void paintCurrentValue(::java::awt::Graphics *, ::java::awt::Rectangle *, jboolean);
  virtual void paintCurrentValueBackground(::java::awt::Graphics *, ::java::awt::Rectangle *, jboolean);
public: // actually protected
  virtual ::java::awt::Dimension * getDefaultSize();
  virtual ::java::awt::Dimension * getDisplaySize();
  virtual void installKeyboardActions();
  virtual void uninstallKeyboardActions();
  ::javax::swing::JButton * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ComboBoxUI)))) arrowButton;
  ::javax::swing::JComboBox * comboBox;
  ::java::awt::Component * editor;
  ::java::awt::event::FocusListener * focusListener;
  jboolean hasFocus;
  ::java::awt::event::ItemListener * itemListener;
  ::java::awt::event::KeyListener * keyListener;
  ::javax::swing::JList * listBox;
  ::javax::swing::event::ListDataListener * listDataListener;
  ::javax::swing::plaf::basic::ComboPopup * popup;
  ::java::awt::event::KeyListener * popupKeyListener;
  ::java::awt::event::MouseListener * popupMouseListener;
  ::java::awt::event::MouseMotionListener * popupMouseMotionListener;
  ::java::beans::PropertyChangeListener * propertyChangeListener;
public: // actually package-private
  ::java::awt::Dimension * displaySize;
public: // actually protected
  ::javax::swing::CellRendererPane * currentValuePane;
  ::java::awt::Dimension * cachedMinimumSize;
  jboolean isMinimumSizeDirty;
private:
  static ::javax::swing::ListCellRenderer * DEFAULT_RENDERER;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_plaf_basic_BasicComboBoxUI__
