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

#ifndef __javax_swing_DefaultCellEditor__
#define __javax_swing_DefaultCellEditor__

#pragma interface

#include <javax/swing/AbstractCellEditor.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      class Component;
    }
  }
  namespace javax
  {
    namespace swing
    {
      class DefaultCellEditor;
      class JTable;
      class JTree;
      class JComboBox;
      class JCheckBox;
      class JTextField;
      class DefaultCellEditor$EditorDelegate;
      class JComponent;
    }
  }
}

class javax::swing::DefaultCellEditor : public ::javax::swing::AbstractCellEditor
{
public:
  DefaultCellEditor (::javax::swing::JTextField *);
  DefaultCellEditor (::javax::swing::JCheckBox *);
  DefaultCellEditor (::javax::swing::JComboBox *);
  virtual ::java::awt::Component *getComponent () { return reinterpret_cast< ::java::awt::Component *> (editorComponent); }
  virtual jint getClickCountToStart () { return clickCountToStart; }
  virtual void setClickCountToStart (jint);
  virtual ::java::lang::Object *getCellEditorValue ();
  virtual jboolean isCellEditable (::java::util::EventObject *);
  virtual jboolean shouldSelectCell (::java::util::EventObject *);
  virtual jboolean stopCellEditing ();
  virtual void cancelCellEditing ();
  virtual ::java::awt::Component *getTreeCellEditorComponent (::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint);
  virtual ::java::awt::Component *getTableCellEditorComponent (::javax::swing::JTable *, ::java::lang::Object *, jboolean, jint, jint);
private:
  static const jlong serialVersionUID = 3564035141373880027LL;
public:  // actually protected
  ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::javax::swing::AbstractCellEditor )))) editorComponent;
  ::javax::swing::DefaultCellEditor$EditorDelegate *delegate;
  jint clickCountToStart;

  friend class javax_swing_DefaultCellEditor$JCheckBoxDelegate;
  friend class javax_swing_DefaultCellEditor$JComboBoxDelegate;
  friend class javax_swing_DefaultCellEditor$JTextFieldDelegate;
  friend class javax_swing_DefaultCellEditor$EditorDelegate;
public:

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

#endif /* __javax_swing_DefaultCellEditor__ */
