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

#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI__
#define __javax_swing_plaf_basic_BasicOptionPaneUI__

#pragma interface

#include <javax/swing/plaf/OptionPaneUI.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      class JLabel;
      class ActionMap;
      class Icon;
      namespace plaf
      {
        class ComponentUI;
        namespace basic
        {
          class BasicOptionPaneUI;
          class BasicOptionPaneUI$MessageIcon;
        }
      }
      class JOptionPane;
      class JComponent;
    }
  }
  namespace java
  {
    namespace beans
    {
      class PropertyChangeListener;
    }
    namespace awt
    {
      class LayoutManager;
      namespace event
      {
        class ActionListener;
      }
      class GridBagConstraints;
      class Container;
      class Dimension;
      class Component;
    }
  }
}

class javax::swing::plaf::basic::BasicOptionPaneUI : public ::javax::swing::plaf::OptionPaneUI
{
public:
  BasicOptionPaneUI ();
public:  // actually protected
  virtual void addButtonComponents (::java::awt::Container *, JArray< ::java::lang::Object *> *, jint);
  virtual void addIcon (::java::awt::Container *);
private:
  static ::java::awt::GridBagConstraints *createConstraints ();
public:  // actually protected
  virtual void addMessageComponents (::java::awt::Container *, ::java::awt::GridBagConstraints *, ::java::lang::Object *, jint, jboolean);
  virtual void burstStringInto (::java::awt::Container *, ::java::lang::String *, jint);
public:
  virtual jboolean containsCustomComponents (::javax::swing::JOptionPane *) { return hasCustomComponents; }
public:  // actually protected
  virtual ::java::awt::event::ActionListener *createButtonActionListener (jint);
  virtual ::java::awt::Container *createButtonArea ();
  virtual ::java::awt::LayoutManager *createLayoutManager ();
  virtual ::java::awt::Container *createMessageArea ();
  virtual ::java::beans::PropertyChangeListener *createPropertyChangeListener ();
  virtual ::java::awt::Container *createSeparator () { return 0; }
public:
  static ::javax::swing::plaf::ComponentUI *createUI (::javax::swing::JComponent *);
public:  // actually protected
  virtual JArray< ::java::lang::Object *> *getButtons ();
  virtual ::javax::swing::Icon *getIcon ();
  virtual ::javax::swing::Icon *getIconForType (jint);
  virtual jint getInitialValueIndex ();
  virtual jint getMaxCharactersPerLineCount ();
public:
  virtual ::java::awt::Dimension *getMaximumSize (::javax::swing::JComponent *);
public:  // actually protected
  virtual ::java::lang::Object *getMessage ();
public:
  virtual ::java::awt::Dimension *getMinimumOptionPaneSize () { return minimumSize; }
  virtual ::java::awt::Dimension *getMinimumSize (::javax::swing::JComponent *);
  virtual ::java::awt::Dimension *getPreferredSize (::javax::swing::JComponent *);
public:  // actually protected
  virtual jboolean getSizeButtonsToSameWidth ();
  virtual void installComponents ();
  virtual void installDefaults ();
  virtual void installKeyboardActions ();
private:
  ::javax::swing::ActionMap *getActionMap ();
  ::javax::swing::ActionMap *createDefaultActions ();
public:  // actually protected
  virtual void installListeners ();
public:
  virtual void installUI (::javax::swing::JComponent *);
public:  // actually protected
  virtual void resetInputValue ();
public:
  virtual void selectInitialValue (::javax::swing::JOptionPane *);
public: // actually package-private
  virtual void resetSelectedValue ();
public:  // actually protected
  virtual void uninstallComponents ();
  virtual void uninstallDefaults ();
  virtual void uninstallKeyboardActions ();
  virtual void uninstallListeners ();
public:
  virtual void uninstallUI (::javax::swing::JComponent *);
private:
  void configureLabel (::javax::swing::JLabel *);
public:
  static const jint MinimumWidth = 262L;
  static const jint MinimumHeight = 90L;
public:  // actually protected
  jboolean __attribute__((aligned(__alignof__( ::javax::swing::plaf::OptionPaneUI ))))  hasCustomComponents;
  ::java::awt::Component *initialFocusComponent;
  ::javax::swing::JComponent *inputComponent;
  ::java::awt::Dimension *minimumSize;
  ::java::beans::PropertyChangeListener *propertyChangeListener;
  ::javax::swing::JOptionPane *optionPane;
private:
  static const jint ICON_SIZE = 36L;
  static ::java::lang::String *OK_STRING;
  static ::java::lang::String *YES_STRING;
  static ::java::lang::String *NO_STRING;
  static ::java::lang::String *CANCEL_STRING;
public: // actually package-private
  ::java::awt::Container *messageAreaContainer;
  ::java::awt::Container *buttonContainer;
private:
  static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon *errorIcon;
  static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon *infoIcon;
  static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon *warningIcon;
  static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon *questionIcon;

  friend class javax_swing_plaf_basic_BasicOptionPaneUI$4;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$3;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$2;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$1;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$MessageIcon;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$PropertyChangeHandler;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$ButtonAreaLayout;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$ButtonActionListener;
  friend class javax_swing_plaf_basic_BasicOptionPaneUI$OptionPaneCloseAction;
public:

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

#endif /* __javax_swing_plaf_basic_BasicOptionPaneUI__ */
