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

#ifndef __javax_swing_plaf_basic_BasicFileChooserUI__
#define __javax_swing_plaf_basic_BasicFileChooserUI__

#pragma interface

#include <javax/swing/plaf/FileChooserUI.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace event
      {
        class MouseListener;
        class ItemListener;
      }
    }
    namespace beans
    {
      class PropertyChangeListener;
    }
  }
  namespace javax
  {
    namespace swing
    {
      class Action;
      namespace event
      {
        class ListSelectionListener;
      }
      class JComponent;
      class JTextField;
      class JPanel;
      class JButton;
      namespace filechooser
      {
        class FileView;
        class FileFilter;
      }
      namespace plaf
      {
        class ComponentUI;
        namespace basic
        {
          class BasicFileChooserUI;
          class BasicDirectoryModel;
        }
      }
      class JComboBox;
      class JList;
      class JFileChooser;
      class Icon;
    }
  }
}

class javax::swing::plaf::basic::BasicFileChooserUI : public ::javax::swing::plaf::FileChooserUI
{
public: // actually package-private
  virtual void closeDialog ();
public:
  BasicFileChooserUI (::javax::swing::JFileChooser *);
  static ::javax::swing::plaf::ComponentUI *createUI (::javax::swing::JComponent *);
  virtual void installUI (::javax::swing::JComponent *);
  virtual void uninstallUI (::javax::swing::JComponent *);
public: // actually package-private
  virtual void boxEntries ();
private:
  ::java::awt::event::ItemListener *createBoxListener ();
  ::java::awt::event::ItemListener *createFilterListener ();
public: // actually package-private
  virtual void filterEntries ();
public:
  virtual void installComponents (::javax::swing::JFileChooser *);
  virtual void uninstallComponents (::javax::swing::JFileChooser *);
public:  // actually protected
  virtual void installListeners (::javax::swing::JFileChooser *);
  virtual void uninstallListeners (::javax::swing::JFileChooser *);
  virtual void installDefaults (::javax::swing::JFileChooser *);
  virtual void uninstallDefaults (::javax::swing::JFileChooser *);
  virtual void installIcons (::javax::swing::JFileChooser *) { }
  virtual void uninstallIcons (::javax::swing::JFileChooser *) { }
  virtual void installStrings (::javax::swing::JFileChooser *);
  virtual void uninstallStrings (::javax::swing::JFileChooser *);
  virtual void createModel ();
public:
  virtual ::javax::swing::plaf::basic::BasicDirectoryModel *getModel () { return model; }
  virtual ::java::beans::PropertyChangeListener *createPropertyChangeListener (::javax::swing::JFileChooser *);
  virtual ::java::lang::String *getFileName () { return filename; }
  virtual ::java::lang::String *getDirectoryName () { return 0; }
  virtual void setFileName (::java::lang::String *);
  virtual void setDirectoryName (::java::lang::String *) { }
  virtual void rescanCurrentDirectory (::javax::swing::JFileChooser *);
  virtual void ensureFileIsVisible (::javax::swing::JFileChooser *, ::java::io::File *) { }
  virtual ::javax::swing::JFileChooser *getFileChooser () { return filechooser; }
  virtual ::javax::swing::JPanel *getAccessoryPanel () { return accessoryPanel; }
  virtual ::javax::swing::JButton *getApproveButton (::javax::swing::JFileChooser *);
  virtual ::java::lang::String *getApproveButtonToolTipText (::javax::swing::JFileChooser *);
  virtual void clearIconCache ();
  virtual ::javax::swing::event::ListSelectionListener *createListSelectionListener (::javax::swing::JFileChooser *);
public:  // actually protected
  virtual ::java::awt::event::MouseListener *createDoubleClickListener (::javax::swing::JFileChooser *, ::javax::swing::JList *);
  virtual jboolean isDirectorySelected () { return dirSelected; }
  virtual void setDirectorySelected (jboolean);
  virtual ::java::io::File *getDirectory () { return currDir; }
  virtual void setDirectory (::java::io::File *);
public:
  virtual ::javax::swing::filechooser::FileFilter *getAcceptAllFileFilter (::javax::swing::JFileChooser *) { return acceptAll; }
  virtual ::javax::swing::filechooser::FileView *getFileView (::javax::swing::JFileChooser *) { return fv; }
  virtual ::java::lang::String *getDialogTitle (::javax::swing::JFileChooser *);
  virtual jint getApproveButtonMnemonic (::javax::swing::JFileChooser *);
  virtual ::java::lang::String *getApproveButtonText (::javax::swing::JFileChooser *);
  virtual ::javax::swing::Action *getNewFolderAction ();
  virtual ::javax::swing::Action *getGoHomeAction ();
  virtual ::javax::swing::Action *getChangeToParentDirectoryAction ();
  virtual ::javax::swing::Action *getApproveSelectionAction ();
  virtual ::javax::swing::Action *getCancelSelectionAction ();
  virtual ::javax::swing::Action *getUpdateAction ();
public:  // actually protected
  jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::FileChooserUI ))))  cancelButtonMnemonic;
  ::java::lang::String *cancelButtonText;
  ::java::lang::String *cancelButtonToolTipText;
  ::javax::swing::Icon *computerIcon;
  ::javax::swing::Icon *detailsViewIcon;
  ::javax::swing::Icon *directoryIcon;
  jint directoryOpenButtonMnemonic;
  ::java::lang::String *directoryOpenButtonText;
  ::java::lang::String *directoryOpenButtonToolTipText;
  ::javax::swing::Icon *fileIcon;
  ::javax::swing::Icon *floppyDriveIcon;
  ::javax::swing::Icon *hardDriveIcon;
  jint helpButtonMnemonic;
  ::java::lang::String *helpButtonText;
  ::java::lang::String *helpButtonToolTipText;
  ::javax::swing::Icon *homeFolderIcon;
  ::javax::swing::Icon *listViewIcon;
  ::javax::swing::Icon *newFolderIcon;
  jint openButtonMnemonic;
  ::java::lang::String *openButtonText;
  ::java::lang::String *openButtonToolTipText;
  jint saveButtonMnemonic;
  ::java::lang::String *saveButtonText;
  ::java::lang::String *saveButtonToolTipText;
  jint updateButtonMnemonic;
  ::java::lang::String *updateButtonText;
  ::java::lang::String *updateButtonToolTipText;
  ::javax::swing::Icon *upFolderIcon;
public: // actually package-private
  ::javax::swing::JFileChooser *filechooser;
  ::javax::swing::JList *filelist;
  ::javax::swing::JComboBox *filters;
  ::javax::swing::plaf::basic::BasicDirectoryModel *model;
  ::javax::swing::filechooser::FileFilter *acceptAll;
  ::javax::swing::filechooser::FileView *fv;
  static const jint ICON_SIZE = 24L;
  ::javax::swing::JComboBox *parents;
  ::java::lang::String *filename;
  ::javax::swing::JButton *accept;
  ::javax::swing::JButton *cancel;
  ::javax::swing::JButton *upFolderButton;
  ::javax::swing::JButton *newFolderButton;
  ::javax::swing::JButton *homeFolderButton;
  ::javax::swing::JPanel *accessoryPanel;
  ::java::beans::PropertyChangeListener *propertyChangeListener;
  ::java::lang::String *acceptAllFileFilterText;
  ::java::lang::String *dirDescText;
  ::java::lang::String *fileDescText;
  jboolean dirSelected;
  ::java::io::File *currDir;
  ::javax::swing::JPanel *bottomPanel;
  ::javax::swing::JPanel *closePanel;
  ::javax::swing::JTextField *entry;
  ::java::lang::String *parentPath;

  friend class javax_swing_plaf_basic_BasicFileChooserUI$12;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$11;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$10;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$ListLabelRenderer;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$9;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$8;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$7;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$6;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$5;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$4;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$3;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$2;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$1;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$UpdateAction;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$SelectionListener;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$NewFolderAction;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$GoHomeAction;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$DoubleClickListener;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$ChangeToParentDirectoryAction;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$CancelSelectionAction;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$BasicFileView;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$ApproveSelectionAction;
  friend class javax_swing_plaf_basic_BasicFileChooserUI$AcceptAllFileFilter;
public:

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

#endif /* __javax_swing_plaf_basic_BasicFileChooserUI__ */
