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

#ifndef __javax_swing_JOptionPane__
#define __javax_swing_JOptionPane__

#pragma interface

#include <javax/swing/JComponent.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      class Component;
      class Frame;
    }
  }
  namespace javax
  {
    namespace accessibility
    {
      class AccessibleContext;
    }
    namespace swing
    {
      class JOptionPane;
      namespace plaf
      {
        class OptionPaneUI;
      }
      class JDesktopPane;
      class JInternalFrame;
      class JDialog;
      class Icon;
    }
  }
}

class javax::swing::JOptionPane : public ::javax::swing::JComponent
{
public:
  JOptionPane ();
  JOptionPane (::java::lang::Object *);
  JOptionPane (::java::lang::Object *, jint);
  JOptionPane (::java::lang::Object *, jint, jint);
  JOptionPane (::java::lang::Object *, jint, jint, ::javax::swing::Icon *);
  JOptionPane (::java::lang::Object *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object *> *);
  JOptionPane (::java::lang::Object *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object *> *, ::java::lang::Object *);
  virtual ::javax::swing::JDialog *createDialog (::java::awt::Component *, ::java::lang::String *);
  virtual ::javax::swing::JInternalFrame *createInternalFrame (::java::awt::Component *, ::java::lang::String *);
  virtual ::javax::accessibility::AccessibleContext *getAccessibleContext ();
  static ::javax::swing::JDesktopPane *getDesktopPaneForComponent (::java::awt::Component *);
  static ::java::awt::Frame *getFrameForComponent (::java::awt::Component *);
  virtual ::javax::swing::Icon *getIcon () { return icon; }
  virtual ::java::lang::Object *getInitialSelectionValue () { return initialSelectionValue; }
  virtual ::java::lang::Object *getInitialValue () { return initialValue; }
  virtual ::java::lang::Object *getInputValue ();
  virtual jint getMaxCharactersPerLineCount ();
  virtual ::java::lang::Object *getMessage () { return message; }
  virtual jint getMessageType () { return messageType; }
  virtual JArray< ::java::lang::Object *> *getOptions () { return options; }
  virtual jint getOptionType () { return optionType; }
  static ::java::awt::Frame *getRootFrame ();
  virtual JArray< ::java::lang::Object *> *getSelectionValues () { return selectionValues; }
  virtual ::javax::swing::plaf::OptionPaneUI *getUI ();
  virtual ::java::lang::String *getUIClassID ();
  virtual ::java::lang::Object *getValue () { return value; }
  virtual jboolean getWantsInput () { return wantsInput; }
public:  // actually protected
  virtual ::java::lang::String *paramString ();
public:
  virtual void selectInitialValue ();
  virtual void setIcon (::javax::swing::Icon *);
  virtual void setInitialSelectionValue (::java::lang::Object *);
  virtual void setInitialValue (::java::lang::Object *);
  virtual void setInputValue (::java::lang::Object *);
  virtual void setMessage (::java::lang::Object *);
  virtual void setMessageType (jint);
  virtual void setOptions (JArray< ::java::lang::Object *> *);
  virtual void setOptionType (jint);
  static void setRootFrame (::java::awt::Frame *);
  virtual void setSelectionValues (JArray< ::java::lang::Object *> *);
  virtual void setUI (::javax::swing::plaf::OptionPaneUI *);
  virtual void setValue (::java::lang::Object *);
  virtual void setWantsInput (jboolean);
  static jint showConfirmDialog (::java::awt::Component *, ::java::lang::Object *);
  static jint showConfirmDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint);
  static jint showConfirmDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint);
  static jint showConfirmDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *);
  static ::java::lang::String *showInputDialog (::java::awt::Component *, ::java::lang::Object *);
  static ::java::lang::String *showInputDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::Object *);
  static ::java::lang::String *showInputDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint);
  static ::java::lang::Object *showInputDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object *> *, ::java::lang::Object *);
  static ::java::lang::String *showInputDialog (::java::lang::Object *);
  static ::java::lang::String *showInputDialog (::java::lang::Object *, ::java::lang::Object *);
  static jint showInternalConfirmDialog (::java::awt::Component *, ::java::lang::Object *);
  static jint showInternalConfirmDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint);
  static jint showInternalConfirmDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint);
  static jint showInternalConfirmDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *);
  static ::java::lang::String *showInternalInputDialog (::java::awt::Component *, ::java::lang::Object *);
  static ::java::lang::String *showInternalInputDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint);
  static ::java::lang::Object *showInternalInputDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object *> *, ::java::lang::Object *);
  static void showInternalMessageDialog (::java::awt::Component *, ::java::lang::Object *);
  static void showInternalMessageDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint);
  static void showInternalMessageDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *);
  static jint showInternalOptionDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object *> *, ::java::lang::Object *);
  static void showMessageDialog (::java::awt::Component *, ::java::lang::Object *);
  static void showMessageDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint);
  static void showMessageDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *);
  static jint showOptionDialog (::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object *> *, ::java::lang::Object *);
  virtual void updateUI ();
private:
  jboolean validMessageType (jint);
  jboolean validOptionType (jint);
  static void startModal (::javax::swing::JInternalFrame *);
  static const jlong serialVersionUID = 5231143276678566796LL;
public:
  static const jint CANCEL_OPTION = 2L;
  static const jint CLOSED_OPTION = -1L;
  static const jint DEFAULT_OPTION = -1L;
  static const jint NO_OPTION = 1L;
  static const jint OK_CANCEL_OPTION = 2L;
  static const jint OK_OPTION = 0L;
  static const jint YES_NO_CANCEL_OPTION = 1L;
  static const jint YES_NO_OPTION = 0L;
  static const jint YES_OPTION = 0L;
  static const jint ERROR_MESSAGE = 0L;
  static const jint INFORMATION_MESSAGE = 1L;
  static const jint PLAIN_MESSAGE = -1L;
  static const jint QUESTION_MESSAGE = 3L;
  static const jint WARNING_MESSAGE = 2L;
  static ::java::lang::String *ICON_PROPERTY;
  static ::java::lang::String *INITIAL_SELECTION_VALUE_PROPERTY;
  static ::java::lang::String *INITIAL_VALUE_PROPERTY;
  static ::java::lang::String *INPUT_VALUE_PROPERTY;
  static ::java::lang::String *MESSAGE_PROPERTY;
  static ::java::lang::String *MESSAGE_TYPE_PROPERTY;
  static ::java::lang::String *OPTION_TYPE_PROPERTY;
  static ::java::lang::String *OPTIONS_PROPERTY;
  static ::java::lang::String *SELECTION_VALUES_PROPERTY;
  static ::java::lang::String *VALUE_PROPERTY;
  static ::java::lang::String *WANTS_INPUT_PROPERTY;
  static ::java::lang::Object *UNINITIALIZED_VALUE;
public:  // actually protected
  ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::JComponent )))) icon;
  ::java::lang::Object *initialSelectionValue;
  ::java::lang::Object *initialValue;
  ::java::lang::Object *inputValue;
  ::java::lang::Object *message;
  jint messageType;
  JArray< ::java::lang::Object *> *options;
  jint optionType;
  JArray< ::java::lang::Object *> *selectionValues;
  ::java::lang::Object *value;
  jboolean wantsInput;
private:
  static ::java::awt::Frame *privFrame;

  friend class javax_swing_JOptionPane$2;
  friend class javax_swing_JOptionPane$1;
  friend class javax_swing_JOptionPane$ValuePropertyHandler;
  friend class javax_swing_JOptionPane$AccessibleJOptionPane;
public:

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

#endif /* __javax_swing_JOptionPane__ */
