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

#ifndef __javax_swing_JFileChooser__
#define __javax_swing_JFileChooser__

#pragma interface

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

extern "Java"
{
  namespace javax
  {
    namespace accessibility
    {
      class AccessibleContext;
    }
    namespace swing
    {
      class JFileChooser;
      namespace plaf
      {
        class FileChooserUI;
      }
      class Icon;
      namespace filechooser
      {
        class FileSystemView;
        class FileFilter;
        class FileView;
      }
      class JComponent;
      class JDialog;
    }
  }
  namespace java
  {
    namespace awt
    {
      class Component;
      namespace event
      {
        class ActionListener;
      }
    }
  }
}

class javax::swing::JFileChooser : public ::javax::swing::JComponent
{
public:
  JFileChooser ();
  JFileChooser (::java::lang::String *);
  JFileChooser (::java::io::File *);
  JFileChooser (::javax::swing::filechooser::FileSystemView *);
  JFileChooser (::java::io::File *, ::javax::swing::filechooser::FileSystemView *);
  JFileChooser (::java::lang::String *, ::javax::swing::filechooser::FileSystemView *);
private:
  void writeObject (::java::io::ObjectOutputStream *) { }
public:
  virtual ::java::lang::String *getName (::java::io::File *) { return 0; }
public:  // actually protected
  virtual void setup (::javax::swing::filechooser::FileSystemView *) { }
public:
  virtual jboolean accept (::java::io::File *);
  virtual ::java::io::File *getSelectedFile () { return 0; }
  virtual void setSelectedFile (::java::io::File *) { }
  virtual JArray< ::java::io::File *> *getSelectedFiles () { return 0; }
  virtual void setSelectedFiles (JArray< ::java::io::File *> *) { }
  virtual ::java::io::File *getCurrentDirectory () { return 0; }
  virtual void setCurrentDirectory (::java::io::File *) { }
  virtual void changeToParentDirectory () { }
  virtual void rescanCurrentDirectory () { }
  virtual void ensureFileIsVisible (::java::io::File *) { }
  virtual jint showOpenDialog (::java::awt::Component *);
  virtual jint showSaveDialog (::java::awt::Component *);
  virtual jint showDialog (::java::awt::Component *, ::java::lang::String *);
  virtual jboolean getControlButtonsAreShown ();
  virtual void setControlButtonsAreShown (jboolean) { }
  virtual jint getDialogType ();
  virtual void setDialogType (jint) { }
  virtual void setDialogTitle (::java::lang::String *) { }
  virtual ::java::lang::String *getDialogTitle () { return 0; }
  virtual void setApproveButtonToolTipText (::java::lang::String *) { }
  virtual ::java::lang::String *getApproveButtonToolTipText () { return 0; }
  virtual jint getApproveButtonMnemonic ();
  virtual void setApproveButtonMnemonic (jint) { }
  virtual void setApproveButtonMnemonic (jchar) { }
  virtual void setApproveButtonText (::java::lang::String *) { }
  virtual ::java::lang::String *getApproveButtonText () { return 0; }
  virtual JArray< ::javax::swing::filechooser::FileFilter *> *getChoosableFileFilters () { return 0; }
  virtual void addChoosableFileFilter (::javax::swing::filechooser::FileFilter *) { }
  virtual jboolean removeChoosableFileFilter (::javax::swing::filechooser::FileFilter *);
  virtual void resetChoosableFileFilters () { }
  virtual ::javax::swing::filechooser::FileFilter *getAcceptAllFileFilter () { return 0; }
  virtual jboolean isAcceptAllFileFilterUsed ();
  virtual void setAcceptAllFileFilterUsed (jboolean) { }
  virtual ::javax::swing::JComponent *getAccessory () { return 0; }
  virtual void setAccessory (::javax::swing::JComponent *) { }
  virtual void setFileSelectionMode (jint) { }
  virtual jint getFileSelectionMode ();
  virtual jboolean isFileSelectionEnabled ();
  virtual jboolean isDirectorySelectionEnabled ();
  virtual jboolean isMultiSelectionEnabled ();
  virtual void setMultiSelectionEnabled (jboolean) { }
  virtual jboolean isFileHidingEnabled ();
  virtual void setFileHidingEnabled (jboolean) { }
  virtual ::javax::swing::filechooser::FileFilter *getFileFilter () { return 0; }
  virtual void setFileFilter (::javax::swing::filechooser::FileFilter *) { }
  virtual ::javax::swing::filechooser::FileView *getFileView () { return 0; }
  virtual void setFileView (::javax::swing::filechooser::FileView *) { }
  virtual ::java::lang::String *getDescription (::java::io::File *) { return 0; }
  virtual ::java::lang::String *getTypeDescription (::java::io::File *) { return 0; }
  virtual ::javax::swing::Icon *getIcon (::java::io::File *) { return 0; }
  virtual jboolean isTraversable (::java::io::File *);
  virtual ::javax::swing::filechooser::FileSystemView *getFileSystemView () { return 0; }
  virtual void setFileSystemView (::javax::swing::filechooser::FileSystemView *) { }
  virtual void approveSelection () { }
  virtual void cancelSelection () { }
  virtual void addActionListener (::java::awt::event::ActionListener *) { }
  virtual void removeActionListener (::java::awt::event::ActionListener *) { }
public:  // actually protected
  virtual void fireActionPerformed (::java::lang::String *) { }
public:
  virtual void updateUI ();
  virtual ::java::lang::String *getUIClassID ();
  virtual ::javax::swing::plaf::FileChooserUI *getUI ();
public:  // actually protected
  virtual ::java::lang::String *paramString () { return 0; }
public:
  virtual ::javax::accessibility::AccessibleContext *getAccessibleContext ();
private:
  static ::java::lang::String *uiClassID;
public:
  static const jint OPEN_DIALOG = 0L;
  static const jint SAVE_DIALOG = 1L;
  static const jint CUSTOM_DIALOG = 2L;
  static const jint CANCEL_OPTION = 1L;
  static const jint APPROVE_OPTION = 0L;
  static const jint ERROR_OPTION = -1L;
  static const jint FILES_ONLY = 0L;
  static const jint DIRECTORIES_ONLY = 1L;
  static const jint FILES_AND_DIRECTORIES = 2L;
  static ::java::lang::String *CANCEL_SELECTION;
  static ::java::lang::String *APPROVE_SELECTION;
  static ::java::lang::String *APPROVE_BUTTON_TEXT_CHANGED_PROPERTY;
  static ::java::lang::String *APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY;
  static ::java::lang::String *APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY;
  static ::java::lang::String *CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY;
  static ::java::lang::String *DIRECTORY_CHANGED_PROPERTY;
  static ::java::lang::String *SELECTED_FILE_CHANGED_PROPERTY;
  static ::java::lang::String *SELECTED_FILES_CHANGED_PROPERTY;
  static ::java::lang::String *MULTI_SELECTION_ENABLED_CHANGED_PROPERTY;
  static ::java::lang::String *FILE_SYSTEM_VIEW_CHANGED_PROPERTY;
  static ::java::lang::String *FILE_VIEW_CHANGED_PROPERTY;
  static ::java::lang::String *FILE_HIDING_CHANGED_PROPERTY;
  static ::java::lang::String *FILE_FILTER_CHANGED_PROPERTY;
  static ::java::lang::String *FILE_SELECTION_MODE_CHANGED_PROPERTY;
  static ::java::lang::String *ACCESSORY_CHANGED_PROPERTY;
  static ::java::lang::String *ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY;
  static ::java::lang::String *DIALOG_TITLE_CHANGED_PROPERTY;
  static ::java::lang::String *DIALOG_TYPE_CHANGED_PROPERTY;
  static ::java::lang::String *CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY;
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::JComponent )))) dialogTitle;
  ::java::lang::String *approveButtonText;
  ::java::lang::String *approveButtonToolTipText;
  jint approveButtonMnemonic;
  ::java::awt::event::ActionListener *actionListener;
  ::java::util::Vector *filters;
  ::javax::swing::JDialog *dialog;
  jint dialogType;
  jint returnValue;
  ::javax::swing::JComponent *accessory;
  ::javax::swing::filechooser::FileView *fileView;
  ::javax::swing::filechooser::FileView *uiFileView;
  jboolean controlsShown;
  jboolean useFileHiding;
  jint fileSelectionMode;
  jboolean multiSelectionEnabled;
  jboolean useAcceptAllFileFilter;
  ::javax::swing::filechooser::FileFilter *fileFilter;
  ::javax::swing::filechooser::FileSystemView *fileSystemView;
  ::java::io::File *currentDirectory;
  ::java::io::File *selectedFile;
  JArray< ::java::io::File *> *selectedFiles;
public:  // actually protected
  ::javax::accessibility::AccessibleContext *accessibleContext;

  friend class javax_swing_JFileChooser$AccessibleJFileChooser;
public:

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

#endif /* __javax_swing_JFileChooser__ */
