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

#ifndef __javax_swing_tree_TreeSelectionModel__
#define __javax_swing_tree_TreeSelectionModel__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace beans
    {
      class PropertyChangeListener;
    }
  }
  namespace javax
  {
    namespace swing
    {
      namespace event
      {
        class TreeSelectionListener;
      }
      namespace tree
      {
        class TreeSelectionModel;
        class RowMapper;
        class TreePath;
      }
    }
  }
};

class ::javax::swing::tree::TreeSelectionModel : public ::java::lang::Object
{
public:
  virtual void setSelectionMode (jint) = 0;
  virtual jint getSelectionMode () = 0;
  virtual void setSelectionPath (::javax::swing::tree::TreePath *) = 0;
  virtual void setSelectionPaths (JArray< ::javax::swing::tree::TreePath *> *) = 0;
  virtual void addSelectionPath (::javax::swing::tree::TreePath *) = 0;
  virtual void addSelectionPaths (JArray< ::javax::swing::tree::TreePath *> *) = 0;
  virtual void removeSelectionPath (::javax::swing::tree::TreePath *) = 0;
  virtual void removeSelectionPaths (JArray< ::javax::swing::tree::TreePath *> *) = 0;
  virtual ::javax::swing::tree::TreePath *getSelectionPath () = 0;
  virtual JArray< ::javax::swing::tree::TreePath *> *getSelectionPaths () = 0;
  virtual jint getSelectionCount () = 0;
  virtual jboolean isPathSelected (::javax::swing::tree::TreePath *) = 0;
  virtual jboolean isSelectionEmpty () = 0;
  virtual void clearSelection () = 0;
  virtual void setRowMapper (::javax::swing::tree::RowMapper *) = 0;
  virtual ::javax::swing::tree::RowMapper *getRowMapper () = 0;
  virtual jintArray getSelectionRows () = 0;
  virtual jint getMinSelectionRow () = 0;
  virtual jint getMaxSelectionRow () = 0;
  virtual jboolean isRowSelected (jint) = 0;
  virtual void resetRowSelection () = 0;
  virtual jint getLeadSelectionRow () = 0;
  virtual ::javax::swing::tree::TreePath *getLeadSelectionPath () = 0;
  virtual void addPropertyChangeListener (::java::beans::PropertyChangeListener *) = 0;
  virtual void removePropertyChangeListener (::java::beans::PropertyChangeListener *) = 0;
  virtual void addTreeSelectionListener (::javax::swing::event::TreeSelectionListener *) = 0;
  virtual void removeTreeSelectionListener (::javax::swing::event::TreeSelectionListener *) = 0;
  static const jint SINGLE_TREE_SELECTION = 1L;
  static const jint CONTIGUOUS_TREE_SELECTION = 2L;
  static const jint DISCONTIGUOUS_TREE_SELECTION = 4L;

  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif /* __javax_swing_tree_TreeSelectionModel__ */
