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

#ifndef __javax_swing_JList__
#define __javax_swing_JList__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Color;
        class Dimension;
        class Point;
        class Rectangle;
    }
  }
  namespace javax
  {
    namespace accessibility
    {
        class AccessibleContext;
    }
    namespace swing
    {
        class JList;
        class JList$ListListener;
        class ListCellRenderer;
        class ListModel;
        class ListSelectionModel;
      namespace event
      {
          class ListSelectionListener;
      }
      namespace plaf
      {
          class ListUI;
      }
      namespace text
      {
          class Position$Bias;
      }
    }
  }
}

class javax::swing::JList : public ::javax::swing::JComponent
{

public: // actually protected
  virtual void fireSelectionValueChanged(jint, jint, jboolean);
public:
  JList();
  JList(JArray< ::java::lang::Object * > *);
  JList(::java::util::Vector *);
  JList(::javax::swing::ListModel *);
private:
  void init(::javax::swing::ListModel *);
public: // actually protected
  virtual ::javax::swing::ListSelectionModel * createSelectionModel();
public:
  virtual jint getFixedCellHeight();
  virtual void setFixedCellHeight(jint);
  virtual jint getFixedCellWidth();
  virtual void setFixedCellWidth(jint);
  virtual jint getVisibleRowCount();
  virtual void setVisibleRowCount(jint);
  virtual void addListSelectionListener(::javax::swing::event::ListSelectionListener *);
  virtual void removeListSelectionListener(::javax::swing::event::ListSelectionListener *);
  virtual JArray< ::javax::swing::event::ListSelectionListener * > * getListSelectionListeners();
  virtual jint getSelectionMode();
  virtual void setSelectionMode(jint);
  virtual void setSelectedIndex(jint);
  virtual void setSelectedIndices(JArray< jint > *);
  virtual jint getSelectedIndex();
  virtual jboolean isSelectionEmpty();
  virtual jint getFirstVisibleIndex();
  virtual jint locationToIndex(::java::awt::Point *);
  virtual ::java::awt::Point * indexToLocation(jint);
  virtual jint getLastVisibleIndex();
  virtual JArray< jint > * getSelectedIndices();
  virtual jboolean isSelectedIndex(jint);
  virtual ::java::lang::Object * getSelectedValue();
  virtual JArray< ::java::lang::Object * > * getSelectedValues();
  virtual ::java::awt::Color * getSelectionBackground();
  virtual void setSelectionBackground(::java::awt::Color *);
  virtual ::java::awt::Color * getSelectionForeground();
  virtual void setSelectionForeground(::java::awt::Color *);
  virtual void setSelectedValue(::java::lang::Object *, jboolean);
  virtual void ensureIndexIsVisible(jint);
  virtual void setListData(JArray< ::java::lang::Object * > *);
private:
  ::javax::swing::ListModel * createListModel(JArray< ::java::lang::Object * > *);
  ::javax::swing::ListModel * createListModel(::java::util::Vector *);
public:
  virtual void setListData(::java::util::Vector *);
  virtual ::javax::swing::ListCellRenderer * getCellRenderer();
  virtual void setCellRenderer(::javax::swing::ListCellRenderer *);
  virtual ::javax::swing::ListModel * getModel();
  virtual void setModel(::javax::swing::ListModel *);
  virtual ::javax::swing::ListSelectionModel * getSelectionModel();
  virtual void setSelectionModel(::javax::swing::ListSelectionModel *);
  virtual ::javax::swing::plaf::ListUI * getUI();
  virtual void setUI(::javax::swing::plaf::ListUI *);
  virtual void updateUI();
  virtual ::java::lang::String * getUIClassID();
  virtual ::java::lang::Object * getPrototypeCellValue();
  virtual void setPrototypeCellValue(::java::lang::Object *);
  virtual ::javax::accessibility::AccessibleContext * getAccessibleContext();
  virtual ::java::awt::Dimension * getPreferredScrollableViewportSize();
  virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint);
  virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint);
  virtual jboolean getScrollableTracksViewportWidth();
  virtual jboolean getScrollableTracksViewportHeight();
  virtual jint getAnchorSelectionIndex();
  virtual jint getLeadSelectionIndex();
  virtual jint getMinSelectionIndex();
  virtual jint getMaxSelectionIndex();
  virtual void clearSelection();
  virtual void setSelectionInterval(jint, jint);
  virtual void addSelectionInterval(jint, jint);
  virtual void removeSelectionInterval(jint, jint);
  virtual jboolean getValueIsAdjusting();
  virtual void setValueIsAdjusting(jboolean);
  virtual jboolean getDragEnabled();
  virtual void setDragEnabled(jboolean);
  virtual jint getLayoutOrientation();
  virtual void setLayoutOrientation(jint);
  virtual ::java::awt::Rectangle * getCellBounds(jint, jint);
  virtual jint getNextMatch(::java::lang::String *, jint, ::javax::swing::text::Position$Bias *);
public: // actually protected
  virtual ::java::lang::String * paramString();
private:
  static const jlong serialVersionUID = 4406629526391098046LL;
public:
  static const jint VERTICAL = 0;
  static const jint VERTICAL_WRAP = 1;
  static const jint HORIZONTAL_WRAP = 2;
public: // actually package-private
  jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) dragEnabled;
  ::javax::swing::ListCellRenderer * cellRenderer;
  jint fixedCellWidth;
  jint fixedCellHeight;
  jint layoutOrientation;
  ::javax::swing::ListModel * model;
  ::java::lang::Object * prototypeCellValue;
  ::java::awt::Color * selectionBackground;
  ::java::awt::Color * selectionForeground;
  ::javax::swing::ListSelectionModel * selectionModel;
  jint visibleRowCount;
  ::javax::swing::JList$ListListener * listListener;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JList__
