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

#ifndef __javax_swing_text_DefaultEditorKit$SelectionEndLineAction__
#define __javax_swing_text_DefaultEditorKit$SelectionEndLineAction__

#pragma interface

#include <javax/swing/text/TextAction.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace event
      {
          class ActionEvent;
      }
    }
  }
  namespace javax
  {
    namespace swing
    {
      namespace text
      {
          class DefaultEditorKit$SelectionEndLineAction;
      }
    }
  }
}

class javax::swing::text::DefaultEditorKit$SelectionEndLineAction : public ::javax::swing::text::TextAction
{

public: // actually package-private
  DefaultEditorKit$SelectionEndLineAction();
public:
  virtual void actionPerformed(::java::awt::event::ActionEvent *);
  static ::java::lang::Class class$;
};

#endif // __javax_swing_text_DefaultEditorKit$SelectionEndLineAction__
