< prev index next >

src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java

Print this page




 126     private boolean showDirectoryIcons;
 127     private boolean showFileIcons;
 128     private GTKFileView fileView = new GTKFileView();
 129     private PropertyChangeListener gtkFCPropertyChangeListener;
 130     private Action approveSelectionAction = new GTKApproveSelectionAction();
 131     private GTKDirectoryListModel directoryListModel;
 132 
 133     public GTKFileChooserUI(JFileChooser filechooser) {
 134         super(filechooser);
 135     }
 136 
 137     protected ActionMap createActionMap() {
 138         ActionMap map = new ActionMapUIResource();
 139         map.put("approveSelection", getApproveSelectionAction());
 140         map.put("cancelSelection", getCancelSelectionAction());
 141         map.put("Go Up", getChangeToParentDirectoryAction());
 142         map.put("fileNameCompletion", getFileNameCompletionAction());
 143         return map;
 144     }
 145 

 146     public String getFileName() {
 147         JFileChooser fc = getFileChooser();
 148         String typedInName = fileNameTextField != null ?
 149             fileNameTextField.getText() : null;
 150 
 151         if (!fc.isMultiSelectionEnabled()) {
 152             return typedInName;
 153         }
 154 
 155         int mode = fc.getFileSelectionMode();
 156         JList<File> list = mode == JFileChooser.DIRECTORIES_ONLY ?
 157             directoryList : fileList;
 158         Object[] files = list.getSelectedValues();
 159         int len = files.length;
 160         Vector<String> result = new Vector<String>(len + 1);
 161 
 162         // we return all selected file names
 163         for (int i = 0; i < len; i++) {
 164             File file = (File)files[i];
 165             result.add(file.getName());


 402         public void mouseEntered(MouseEvent evt) {
 403             if (list != null) {
 404                 TransferHandler th1 = getFileChooser().getTransferHandler();
 405                 TransferHandler th2 = list.getTransferHandler();
 406                 if (th1 != th2) {
 407                     list.setTransferHandler(th1);
 408                 }
 409                 if (getFileChooser().getDragEnabled() != list.getDragEnabled()) {
 410                     list.setDragEnabled(getFileChooser().getDragEnabled());
 411                 }
 412             }
 413         }
 414     }
 415 
 416     protected MouseListener createDoubleClickListener(JFileChooser fc, JList<?> list) {
 417         return new DoubleClickListener(list);
 418     }
 419 
 420 
 421 

 422     protected class SelectionListener implements ListSelectionListener {
 423         public void valueChanged(ListSelectionEvent e) {
 424             if (!e.getValueIsAdjusting()) {
 425                 JFileChooser chooser = getFileChooser();
 426                 JList<?> list = (JList) e.getSource();
 427 
 428                 if (chooser.isMultiSelectionEnabled()) {
 429                     File[] files = null;
 430                     Object[] objects = list.getSelectedValues();
 431                     if (objects != null) {
 432                         if (objects.length == 1
 433                             && ((File)objects[0]).isDirectory()
 434                             && chooser.isTraversable(((File)objects[0]))
 435                             && (chooser.getFileSelectionMode() != JFileChooser.DIRECTORIES_ONLY
 436                                 || !chooser.getFileSystemView().isFileSystem(((File)objects[0])))) {
 437                             setDirectorySelected(true);
 438                             setDirectory(((File)objects[0]));
 439                         } else {
 440                             ArrayList<File> fList = new ArrayList<File>(objects.length);
 441                             for (Object object : objects) {




 126     private boolean showDirectoryIcons;
 127     private boolean showFileIcons;
 128     private GTKFileView fileView = new GTKFileView();
 129     private PropertyChangeListener gtkFCPropertyChangeListener;
 130     private Action approveSelectionAction = new GTKApproveSelectionAction();
 131     private GTKDirectoryListModel directoryListModel;
 132 
 133     public GTKFileChooserUI(JFileChooser filechooser) {
 134         super(filechooser);
 135     }
 136 
 137     protected ActionMap createActionMap() {
 138         ActionMap map = new ActionMapUIResource();
 139         map.put("approveSelection", getApproveSelectionAction());
 140         map.put("cancelSelection", getCancelSelectionAction());
 141         map.put("Go Up", getChangeToParentDirectoryAction());
 142         map.put("fileNameCompletion", getFileNameCompletionAction());
 143         return map;
 144     }
 145 
 146     @SuppressWarnings("deprecation")
 147     public String getFileName() {
 148         JFileChooser fc = getFileChooser();
 149         String typedInName = fileNameTextField != null ?
 150             fileNameTextField.getText() : null;
 151 
 152         if (!fc.isMultiSelectionEnabled()) {
 153             return typedInName;
 154         }
 155 
 156         int mode = fc.getFileSelectionMode();
 157         JList<File> list = mode == JFileChooser.DIRECTORIES_ONLY ?
 158             directoryList : fileList;
 159         Object[] files = list.getSelectedValues();
 160         int len = files.length;
 161         Vector<String> result = new Vector<String>(len + 1);
 162 
 163         // we return all selected file names
 164         for (int i = 0; i < len; i++) {
 165             File file = (File)files[i];
 166             result.add(file.getName());


 403         public void mouseEntered(MouseEvent evt) {
 404             if (list != null) {
 405                 TransferHandler th1 = getFileChooser().getTransferHandler();
 406                 TransferHandler th2 = list.getTransferHandler();
 407                 if (th1 != th2) {
 408                     list.setTransferHandler(th1);
 409                 }
 410                 if (getFileChooser().getDragEnabled() != list.getDragEnabled()) {
 411                     list.setDragEnabled(getFileChooser().getDragEnabled());
 412                 }
 413             }
 414         }
 415     }
 416 
 417     protected MouseListener createDoubleClickListener(JFileChooser fc, JList<?> list) {
 418         return new DoubleClickListener(list);
 419     }
 420 
 421 
 422 
 423     @SuppressWarnings("deprecation")
 424     protected class SelectionListener implements ListSelectionListener {
 425         public void valueChanged(ListSelectionEvent e) {
 426             if (!e.getValueIsAdjusting()) {
 427                 JFileChooser chooser = getFileChooser();
 428                 JList<?> list = (JList) e.getSource();
 429 
 430                 if (chooser.isMultiSelectionEnabled()) {
 431                     File[] files = null;
 432                     Object[] objects = list.getSelectedValues();
 433                     if (objects != null) {
 434                         if (objects.length == 1
 435                             && ((File)objects[0]).isDirectory()
 436                             && chooser.isTraversable(((File)objects[0]))
 437                             && (chooser.getFileSelectionMode() != JFileChooser.DIRECTORIES_ONLY
 438                                 || !chooser.getFileSystemView().isFileSystem(((File)objects[0])))) {
 439                             setDirectorySelected(true);
 440                             setDirectory(((File)objects[0]));
 441                         } else {
 442                             ArrayList<File> fList = new ArrayList<File>(objects.length);
 443                             for (Object object : objects) {


< prev index next >