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

#ifndef __javax_swing_JSlider__
#define __javax_swing_JSlider__

#pragma interface

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

extern "Java"
{
  namespace javax
  {
    namespace accessibility
    {
      class AccessibleContext;
    }
    namespace swing
    {
      class JSlider;
      namespace plaf
      {
        class SliderUI;
      }
      namespace event
      {
        class ChangeEvent;
        class ChangeListener;
      }
      class BoundedRangeModel;
    }
  }
}

class javax::swing::JSlider : public ::javax::swing::JComponent
{
public:
  JSlider ();
  JSlider (jint);
  JSlider (jint, jint);
  JSlider (jint, jint, jint);
  JSlider (jint, jint, jint, jint);
  JSlider (::javax::swing::BoundedRangeModel *);
  virtual jint getValue ();
  virtual void setValue (jint);
  virtual ::javax::swing::plaf::SliderUI *getUI ();
  virtual void setUI (::javax::swing::plaf::SliderUI *);
  virtual void updateUI ();
  virtual ::java::lang::String *getUIClassID ();
public:  // actually protected
  virtual ::javax::swing::event::ChangeListener *createChangeListener ();
public:
  virtual void addChangeListener (::javax::swing::event::ChangeListener *);
  virtual void removeChangeListener (::javax::swing::event::ChangeListener *);
public:  // actually protected
  virtual void fireStateChanged ();
public:
  virtual JArray< ::javax::swing::event::ChangeListener *> *getChangeListeners ();
  virtual ::javax::swing::BoundedRangeModel *getModel () { return sliderModel; }
  virtual void setModel (::javax::swing::BoundedRangeModel *);
  virtual jint getMinimum ();
  virtual void setMinimum (jint);
  virtual jint getMaximum ();
  virtual void setMaximum (jint);
  virtual jboolean getValueIsAdjusting ();
  virtual void setValueIsAdjusting (jboolean);
  virtual jint getExtent ();
  virtual void setExtent (jint);
  virtual jint getOrientation () { return orientation; }
  virtual void setOrientation (jint);
  virtual ::java::util::Dictionary *getLabelTable () { return labelTable; }
  virtual void setLabelTable (::java::util::Dictionary *);
public:  // actually protected
  virtual void updateLabelUIs ();
public:
  virtual ::java::util::Hashtable *createStandardLabels (jint);
  virtual ::java::util::Hashtable *createStandardLabels (jint, jint);
  virtual jboolean getInverted () { return isInverted; }
  virtual void setInverted (jboolean);
  virtual jint getMajorTickSpacing () { return majorTickSpacing; }
  virtual void setMajorTickSpacing (jint);
  virtual jint getMinorTickSpacing () { return minorTickSpacing; }
  virtual void setMinorTickSpacing (jint);
  virtual jboolean getSnapToTicks () { return snapToTicks; }
  virtual void setSnapToTicks (jboolean);
  virtual jboolean getPaintTicks () { return paintTicks; }
  virtual void setPaintTicks (jboolean);
  virtual jboolean getPaintTrack () { return paintTrack; }
  virtual void setPaintTrack (jboolean);
  virtual jboolean getPaintLabels () { return paintLabels; }
  virtual void setPaintLabels (jboolean);
public:  // actually protected
  virtual ::java::lang::String *paramString ();
public:
  virtual ::javax::accessibility::AccessibleContext *getAccessibleContext ();
private:
  static const jlong serialVersionUID = -1441275936141218479LL;
  jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent ))))  paintTicks;
  jboolean paintTrack;
  jboolean paintLabels;
  ::java::util::Dictionary *labelTable;
public:  // actually protected
  ::javax::swing::BoundedRangeModel *sliderModel;
  jint majorTickSpacing;
  jint minorTickSpacing;
  jboolean snapToTicks;
  jint orientation;
private:
  jboolean isInverted;
public:  // actually protected
  ::javax::swing::event::ChangeListener *changeListener;
  ::javax::swing::event::ChangeEvent *changeEvent;

  friend class javax_swing_JSlider$1;
  friend class javax_swing_JSlider$AccessibleJSlider;
public:

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

#endif /* __javax_swing_JSlider__ */
