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

#ifndef __javax_swing_AbstractButton__
#define __javax_swing_AbstractButton__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace beans
    {
      class PropertyChangeListener;
    }
    namespace awt
    {
      class Graphics;
      class Image;
      namespace event
      {
        class MouseEvent;
        class ActionEvent;
        class ItemEvent;
        class ItemListener;
        class ActionListener;
      }
      class Insets;
    }
  }
  namespace javax
  {
    namespace swing
    {
      class AbstractButton;
      namespace plaf
      {
        class ButtonUI;
      }
      namespace event
      {
        class ChangeEvent;
        class ChangeListener;
      }
      class ButtonModel;
      class Action;
      class Icon;
    }
  }
}

class javax::swing::AbstractButton : public ::javax::swing::JComponent
{
public: // actually package-private
  AbstractButton ();
  AbstractButton (::java::lang::String *, ::javax::swing::Icon *);
public:
  virtual ::javax::swing::ButtonModel *getModel () { return model; }
  virtual void setModel (::javax::swing::ButtonModel *);
  virtual ::java::lang::String *getActionCommand ();
  virtual void setActionCommand (::java::lang::String *);
  virtual void addActionListener (::java::awt::event::ActionListener *);
  virtual void removeActionListener (::java::awt::event::ActionListener *);
  virtual void addChangeListener (::javax::swing::event::ChangeListener *);
  virtual void removeChangeListener (::javax::swing::event::ChangeListener *);
  virtual void addItemListener (::java::awt::event::ItemListener *);
  virtual void removeItemListener (::java::awt::event::ItemListener *);
  virtual jint getHorizontalAlignment () { return hori_align; }
  virtual jint getHorizontalTextPosition () { return hori_text_pos; }
  virtual jint getVerticalAlignment () { return vert_align; }
  virtual jint getVerticalTextPosition () { return vert_text_pos; }
public:  // actually protected
  virtual void fireItemStateChanged (::java::awt::event::ItemEvent *) { }
  virtual void fireStateChanged (::javax::swing::event::ChangeEvent *) { }
  virtual void fireActionPerformed (::java::awt::event::ActionEvent *) { }
public:
  virtual void setVerticalAlignment (jint);
  virtual void setHorizontalAlignment (jint);
  virtual void setVerticalTextPosition (jint);
  virtual void setHorizontalTextPosition (jint);
  virtual jint getMnemonic ();
  virtual void setMnemonic (jchar);
  virtual void setMnemonic (jint);
  virtual void setRolloverEnabled (jboolean);
  virtual jboolean isRolloverEnabled ();
  virtual jboolean isBorderPainted () { return paint_border; }
  virtual void setBorderPainted (jboolean);
  virtual ::javax::swing::Action *getAction () { return action_taken; }
  virtual void setAction (::javax::swing::Action *);
  virtual void setSelected (jboolean);
  virtual jboolean isSelected ();
  virtual ::javax::swing::Icon *getIcon () { return default_icon; }
  virtual void setIcon (::javax::swing::Icon *);
  virtual ::java::lang::String *getText () { return text; }
  virtual void setLabel (::java::lang::String *);
  virtual ::java::lang::String *getLabel ();
  virtual void setText (::java::lang::String *);
  virtual ::java::awt::Insets *getMargin () { return margin; }
  virtual void setMargin (::java::awt::Insets *);
  virtual void setEnabled (jboolean);
  virtual ::javax::swing::Icon *getPressedIcon () { return pressed_button; }
  virtual void setPressedIcon (::javax::swing::Icon *);
  virtual ::javax::swing::Icon *getDisabledIcon () { return disabled_button; }
  virtual void setDisabledIcon (::javax::swing::Icon *);
  virtual jboolean isFocusPainted () { return paint_focus; }
  virtual void setFocusPainted (jboolean);
  virtual jboolean isFocusTraversable ();
public:  // actually protected
  virtual jint checkHorizontalKey (jint, ::java::lang::String *);
  virtual jint checkVerticalKey (jint, ::java::lang::String *);
  virtual void configurePropertiesFromAction (::javax::swing::Action *) { }
  virtual ::java::awt::event::ActionListener *createActionListener ();
  virtual ::java::beans::PropertyChangeListener *createActionPropertyChangeListener (::javax::swing::Action *) { return 0; }
  virtual ::javax::swing::event::ChangeListener *createChangeListener ();
  virtual ::java::awt::event::ItemListener *createItemListener ();
public:
  virtual void doClick ();
  virtual void doClick (jint) { }
  virtual ::javax::swing::Icon *getDisabledSelectedIcon () { return disabled_selected_button; }
  virtual ::javax::swing::Icon *getRolloverIcon () { return 0; }
public: // actually package-private
  virtual ::javax::swing::Icon *getRolloverSelectedIcon () { return 0; }
  virtual ::javax::swing::Icon *getSelectedIcon () { return selected_button; }
public:
  virtual JArray< ::java::lang::Object *> *getSelectedObjects () { return 0; }
  virtual jboolean imageUpdate (::java::awt::Image *, jint, jint, jint, jint, jint);
  virtual jboolean isContentAreaFilled ();
public:  // actually protected
  virtual void paintBorder (::java::awt::Graphics *);
  virtual ::java::lang::String *paramString ();
public:
  virtual void setContentAreaFilled (jboolean) { }
  virtual void setDisabledSelectedIcon (::javax::swing::Icon *) { }
  virtual void setRolloverIcon (::javax::swing::Icon *) { }
  virtual void setRolloverSelectedIcon (::javax::swing::Icon *) { }
  virtual void setSelectedIcon (::javax::swing::Icon *) { }
  virtual void setUI (::javax::swing::plaf::ButtonUI *);
  virtual ::javax::swing::plaf::ButtonUI *getUI ();
  virtual void updateUI () { }
public:  // actually protected
  virtual void processActionEvent (::java::awt::event::ActionEvent *);
  virtual void processMouseEvent (::java::awt::event::MouseEvent *);
public: // actually package-private
  ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::JComponent )))) default_icon;
  ::javax::swing::Icon *pressed_button;
  ::javax::swing::Icon *disabled_button;
  ::javax::swing::Icon *selected_button;
  ::javax::swing::Icon *disabled_selected_button;
  ::javax::swing::Icon *current_icon;
  ::java::lang::String *text;
  jint vert_align;
  jint hori_align;
  jint hori_text_pos;
  jint vert_text_pos;
  jboolean paint_border;
  jboolean paint_focus;
  ::javax::swing::Action *action_taken;
  ::javax::swing::ButtonModel *model;
  ::java::awt::Insets *margin;
public:
  static ::java::lang::String *FOCUS_PAINTED_CHANGED_PROPERTY;

  friend class javax_swing_AbstractButton$3;
  friend class javax_swing_AbstractButton$2;
  friend class javax_swing_AbstractButton$1;
  friend class javax_swing_AbstractButton$JFocusListener;
  friend class javax_swing_AbstractButton$AccessibleAbstractButton;

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

#endif /* __javax_swing_AbstractButton__ */
