// 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 LayoutManager;
      class Component;
      class Graphics;
      class Image;
      namespace event
      {
        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:
  AbstractButton ();
  virtual ::javax::swing::ButtonModel *getModel () { return model; }
  virtual void setModel (::javax::swing::ButtonModel *);
public:  // actually protected
  virtual void init (::java::lang::String *, ::javax::swing::Icon *);
public:
  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 JArray< ::java::awt::event::ActionListener *> *getActionListeners ();
  virtual void addItemListener (::java::awt::event::ItemListener *);
  virtual void removeItemListener (::java::awt::event::ItemListener *);
  virtual JArray< ::java::awt::event::ItemListener *> *getItemListeners ();
  virtual void addChangeListener (::javax::swing::event::ChangeListener *);
  virtual void removeChangeListener (::javax::swing::event::ChangeListener *);
  virtual JArray< ::javax::swing::event::ChangeListener *> *getChangeListeners ();
public:  // actually protected
  virtual void fireItemStateChanged (::java::awt::event::ItemEvent *);
  virtual void fireActionPerformed (::java::awt::event::ActionEvent *);
  virtual void fireStateChanged ();
public:
  virtual jint getMnemonic ();
  virtual void setMnemonic (jchar);
  virtual void setMnemonic (jint);
  virtual void setDisplayedMnemonicIndex (jint);
  virtual jint getDisplayedMnemonicIndex () { return mnemonicIndex; }
  virtual void setRolloverEnabled (jboolean);
  virtual jboolean isRolloverEnabled () { return rollOverEnabled; }
  virtual void setSelected (jboolean);
  virtual jboolean isSelected ();
  virtual void setEnabled (jboolean);
  virtual jint getHorizontalAlignment () { return horizontalAlignment; }
  virtual void setHorizontalAlignment (jint);
  virtual jint getHorizontalTextPosition () { return horizontalTextPosition; }
  virtual void setHorizontalTextPosition (jint);
  virtual jint getVerticalAlignment () { return verticalAlignment; }
  virtual void setVerticalAlignment (jint);
  virtual jint getVerticalTextPosition () { return verticalTextPosition; }
  virtual void setVerticalTextPosition (jint);
  virtual jboolean isBorderPainted () { return borderPainted; }
  virtual void setBorderPainted (jboolean);
  virtual ::javax::swing::Action *getAction () { return action; }
  virtual void setAction (::javax::swing::Action *);
  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 void setIconTextGap (jint);
  virtual jint getIconTextGap () { return iconTextGap; }
  virtual ::java::awt::Insets *getMargin () { return margin; }
  virtual void setMargin (::java::awt::Insets *);
  virtual ::javax::swing::Icon *getPressedIcon () { return pressed_icon; }
  virtual void setPressedIcon (::javax::swing::Icon *);
  virtual ::javax::swing::Icon *getDisabledIcon ();
  virtual void setDisabledIcon (::javax::swing::Icon *);
  virtual jboolean isFocusPainted () { return focusPainted; }
  virtual void setFocusPainted (jboolean);
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 *);
  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 disabledSelectedIcon; }
  virtual void setDisabledSelectedIcon (::javax::swing::Icon *);
  virtual ::javax::swing::Icon *getRolloverIcon () { return rolloverIcon; }
  virtual void setRolloverIcon (::javax::swing::Icon *);
  virtual ::javax::swing::Icon *getRolloverSelectedIcon () { return rolloverSelectedIcon; }
  virtual void setRolloverSelectedIcon (::javax::swing::Icon *);
  virtual ::javax::swing::Icon *getSelectedIcon () { return selectedIcon; }
  virtual void setSelectedIcon (::javax::swing::Icon *);
  virtual JArray< ::java::lang::Object *> *getSelectedObjects ();
  virtual jboolean imageUpdate (::java::awt::Image *, jint, jint, jint, jint, jint);
  virtual jboolean isContentAreaFilled () { return contentAreaFilled; }
  virtual void setContentAreaFilled (jboolean);
public:  // actually protected
  virtual void paintBorder (::java::awt::Graphics *);
  virtual ::java::lang::String *paramString ();
public:
  virtual void setUI (::javax::swing::plaf::ButtonUI *);
  virtual ::javax::swing::plaf::ButtonUI *getUI ();
  virtual void updateUI () { }
  virtual jlong getMultiClickThreshhold () { return multiClickThreshhold; }
  virtual void setMultiClickThreshhold (jlong);
public:  // actually protected
  virtual void addImpl (::java::awt::Component *, ::java::lang::Object *, jint);
public:
  virtual void setLayout (::java::awt::LayoutManager *);
public: // actually package-private
  virtual void setUIProperty (::java::lang::String *, ::java::lang::Object *);
private:
  static const jlong serialVersionUID = -937921345538462020LL;
public: // actually package-private
  ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::JComponent )))) default_icon;
  ::javax::swing::Icon *pressed_icon;
  ::javax::swing::Icon *disabledIcon;
  ::javax::swing::Icon *selectedIcon;
  ::javax::swing::Icon *disabledSelectedIcon;
  ::javax::swing::Icon *rolloverIcon;
  ::javax::swing::Icon *rolloverSelectedIcon;
  ::javax::swing::Icon *current_icon;
  ::java::lang::String *text;
  jint iconTextGap;
  jint verticalAlignment;
  jint horizontalAlignment;
  jint horizontalTextPosition;
  jint verticalTextPosition;
  jboolean borderPainted;
  jboolean focusPainted;
  jboolean contentAreaFilled;
  jboolean rollOverEnabled;
  ::javax::swing::Action *action;
public:  // actually protected
  ::javax::swing::ButtonModel *model;
public: // actually package-private
  ::java::awt::Insets *margin;
  jint mnemonicIndex;
public:  // actually protected
  ::java::awt::event::ActionListener *actionListener;
  ::java::awt::event::ItemListener *itemListener;
  ::javax::swing::event::ChangeListener *changeListener;
public: // actually package-private
  jlong multiClickThreshhold;
  ::java::beans::PropertyChangeListener *actionPropertyChangeListener;
public:  // actually protected
  ::javax::swing::event::ChangeEvent *changeEvent;
private:
  jboolean clientBorderPaintedSet;
  jboolean clientRolloverEnabledSet;
  jboolean clientIconTextGapSet;
  jboolean clientContentAreaFilledSet;
public:
  static ::java::lang::String *BORDER_PAINTED_CHANGED_PROPERTY;
  static ::java::lang::String *CONTENT_AREA_FILLED_CHANGED_PROPERTY;
  static ::java::lang::String *DISABLED_ICON_CHANGED_PROPERTY;
  static ::java::lang::String *DISABLED_SELECTED_ICON_CHANGED_PROPERTY;
  static ::java::lang::String *FOCUS_PAINTED_CHANGED_PROPERTY;
  static ::java::lang::String *HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY;
  static ::java::lang::String *HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY;
  static ::java::lang::String *ICON_CHANGED_PROPERTY;
  static ::java::lang::String *MARGIN_CHANGED_PROPERTY;
  static ::java::lang::String *MNEMONIC_CHANGED_PROPERTY;
  static ::java::lang::String *MODEL_CHANGED_PROPERTY;
  static ::java::lang::String *PRESSED_ICON_CHANGED_PROPERTY;
  static ::java::lang::String *ROLLOVER_ENABLED_CHANGED_PROPERTY;
  static ::java::lang::String *ROLLOVER_ICON_CHANGED_PROPERTY;
  static ::java::lang::String *ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY;
  static ::java::lang::String *SELECTED_ICON_CHANGED_PROPERTY;
  static ::java::lang::String *TEXT_CHANGED_PROPERTY;
  static ::java::lang::String *VERTICAL_ALIGNMENT_CHANGED_PROPERTY;
  static ::java::lang::String *VERTICAL_TEXT_POSITION_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$AccessibleAbstractButton;
  friend class javax_swing_AbstractButton$ButtonChangeListener;

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

#endif /* __javax_swing_AbstractButton__ */
