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

#ifndef __javax_swing_text_JTextComponent__
#define __javax_swing_text_JTextComponent__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Color;
        class Dimension;
        class Insets;
        class Point;
        class Rectangle;
      namespace event
      {
          class InputMethodListener;
          class MouseEvent;
      }
    }
  }
  namespace javax
  {
    namespace accessibility
    {
        class AccessibleContext;
    }
    namespace swing
    {
        class Action;
      namespace event
      {
          class CaretEvent;
          class CaretListener;
      }
      namespace plaf
      {
          class TextUI;
      }
      namespace text
      {
          class Caret;
          class Document;
          class Highlighter;
          class JTextComponent;
          class JTextComponent$DefaultTransferHandler;
          class JTextComponent$KeyBinding;
          class Keymap;
          class NavigationFilter;
      }
    }
  }
}

class javax::swing::text::JTextComponent : public ::javax::swing::JComponent
{

public:
  static ::javax::swing::text::Keymap * getKeymap(::java::lang::String *);
  static ::javax::swing::text::Keymap * removeKeymap(::java::lang::String *);
  static ::javax::swing::text::Keymap * addKeymap(::java::lang::String *, ::javax::swing::text::Keymap *);
  virtual ::javax::swing::text::Keymap * getKeymap();
  virtual void setKeymap(::javax::swing::text::Keymap *);
  static void loadKeymap(::javax::swing::text::Keymap *, JArray< ::javax::swing::text::JTextComponent$KeyBinding * > *, JArray< ::javax::swing::Action * > *);
  virtual JArray< ::javax::swing::Action * > * getActions();
  JTextComponent();
  virtual void setDocument(::javax::swing::text::Document *);
  virtual ::javax::swing::text::Document * getDocument();
  virtual ::javax::accessibility::AccessibleContext * getAccessibleContext();
  virtual void setMargin(::java::awt::Insets *);
  virtual ::java::awt::Insets * getMargin();
  virtual void setText(::java::lang::String *);
  virtual ::java::lang::String * getText();
  virtual ::java::lang::String * getText(jint, jint);
  virtual ::java::lang::String * getSelectedText();
  virtual ::java::lang::String * getUIClassID();
public: // actually protected
  virtual ::java::lang::String * paramString();
public:
  virtual ::javax::swing::plaf::TextUI * getUI();
  virtual void setUI(::javax::swing::plaf::TextUI *);
  virtual void updateUI();
  virtual ::java::awt::Dimension * getPreferredScrollableViewportSize();
  virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint);
  virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint);
  virtual jboolean isEditable();
  virtual void setEditable(jboolean);
  virtual ::javax::swing::text::Caret * getCaret();
  virtual void setCaret(::javax::swing::text::Caret *);
  virtual ::java::awt::Color * getCaretColor();
  virtual void setCaretColor(::java::awt::Color *);
  virtual ::java::awt::Color * getDisabledTextColor();
  virtual void setDisabledTextColor(::java::awt::Color *);
  virtual ::java::awt::Color * getSelectedTextColor();
  virtual void setSelectedTextColor(::java::awt::Color *);
  virtual ::java::awt::Color * getSelectionColor();
  virtual void setSelectionColor(::java::awt::Color *);
  virtual jint getCaretPosition();
  virtual void setCaretPosition(jint);
  virtual void moveCaretPosition(jint);
  virtual ::javax::swing::text::Highlighter * getHighlighter();
  virtual void setHighlighter(::javax::swing::text::Highlighter *);
  virtual jint getSelectionStart();
  virtual void setSelectionStart(jint);
  virtual jint getSelectionEnd();
  virtual void setSelectionEnd(jint);
  virtual void select(jint, jint);
  virtual void selectAll();
  virtual void replaceSelection(::java::lang::String *);
  virtual jboolean getScrollableTracksViewportHeight();
  virtual jboolean getScrollableTracksViewportWidth();
  virtual void addCaretListener(::javax::swing::event::CaretListener *);
  virtual void removeCaretListener(::javax::swing::event::CaretListener *);
  virtual JArray< ::javax::swing::event::CaretListener * > * getCaretListeners();
public: // actually protected
  virtual void fireCaretUpdate(::javax::swing::event::CaretEvent *);
public:
  virtual void addInputMethodListener(::java::awt::event::InputMethodListener *);
  virtual void removeInputMethodListener(::java::awt::event::InputMethodListener *);
  virtual JArray< ::java::awt::event::InputMethodListener * > * getInputMethodListeners();
  virtual ::java::awt::Rectangle * modelToView(jint);
  virtual jboolean getDragEnabled();
  virtual void setDragEnabled(jboolean);
  virtual jint viewToModel(::java::awt::Point *);
  virtual void copy();
  virtual void cut();
  virtual void paste();
private:
  void doTransferAction(::java::lang::String *, ::javax::swing::Action *);
public:
  virtual void setFocusAccelerator(jchar);
  virtual jchar getFocusAccelerator();
  virtual ::javax::swing::text::NavigationFilter * getNavigationFilter();
  virtual void setNavigationFilter(::javax::swing::text::NavigationFilter *);
  virtual void read(::java::io::Reader *, ::java::lang::Object *);
  virtual void write(::java::io::Writer *);
  virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *);
private:
  static const jlong serialVersionUID = -8796518220218978795LL;
public:
  static ::java::lang::String * DEFAULT_KEYMAP;
  static ::java::lang::String * FOCUS_ACCELERATOR_KEY;
private:
  static ::javax::swing::text::JTextComponent$DefaultTransferHandler * defaultTransferHandler;
  static ::java::util::Hashtable * keymaps;
  ::javax::swing::text::Keymap * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) keymap;
  jchar focusAccelerator;
  ::javax::swing::text::NavigationFilter * navigationFilter;
public: // actually package-private
  ::javax::swing::text::Document * doc;
  ::javax::swing::text::Caret * caret;
  jboolean editable;
private:
  ::javax::swing::text::Highlighter * highlighter;
  ::java::awt::Color * caretColor;
  ::java::awt::Color * disabledTextColor;
  ::java::awt::Color * selectedTextColor;
  ::java::awt::Color * selectionColor;
  ::java::awt::Insets * margin;
  jboolean dragEnabled;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_text_JTextComponent__
