src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -855,10 +855,11 @@
return (s != null && !s.equals(""));
}
// Action to attach to the file list so we can override the default action
// of the table for the return key, which is to select the next line.
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class DefaultButtonAction extends AbstractAction {
public void actionPerformed(final ActionEvent e) {
final JRootPane root = AquaFileChooserUI.this.getFileChooser().getRootPane();
final JFileChooser fc = AquaFileChooserUI.this.getFileChooser();
final JButton owner = root.getDefaultButton();
@@ -881,10 +882,11 @@
}
/**
* Creates a new folder.
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class NewFolderAction extends AbstractAction {
protected NewFolderAction() {
super(newFolderAccessibleName);
}
@@ -942,19 +944,21 @@
}
/**
* Responds to an Open, Save, or Choose request
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class ApproveSelectionAction extends AbstractAction {
public void actionPerformed(final ActionEvent e) {
fSubPanel.approveSelection(getFileChooser());
}
}
/**
* Responds to an OpenDirectory request
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class OpenSelectionAction extends AbstractAction {
public void actionPerformed(final ActionEvent e) {
final int index = fFileList.getSelectedRow();
if (index >= 0) {
final File selectedFile = (File)((AquaFileSystemModel)fFileList.getModel()).getElementAt(index);
@@ -964,10 +968,11 @@
}
/**
* Responds to a cancel request.
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class CancelSelectionAction extends AbstractAction {
public void actionPerformed(final ActionEvent e) {
getFileChooser().cancelSelection();
}
@@ -977,10 +982,11 @@
}
/**
* Rescans the files in the current directory
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class UpdateAction extends AbstractAction {
public void actionPerformed(final ActionEvent e) {
final JFileChooser fc = getFileChooser();
fc.setCurrentDirectory(fc.getFileSystemView().createFileObject(getDirectoryName()));
fc.rescanCurrentDirectory();
@@ -1002,10 +1008,11 @@
return UIManager.getString("FileChooser.acceptAllFileFilterText");
}
}
// Penultimate superclass is JLabel
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class MacFCTableCellRenderer extends DefaultTableCellRenderer {
boolean fIsSelected = false;
public MacFCTableCellRenderer(final Font f) {
super();
@@ -1082,10 +1089,11 @@
}
}
}
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class FileRenderer extends MacFCTableCellRenderer {
public FileRenderer(final Font f) {
super(f);
}
@@ -1098,10 +1106,11 @@
setEnabled(isSelectableInList(file));
return this;
}
}
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class DateRenderer extends MacFCTableCellRenderer {
public DateRenderer(final Font f) {
super(f);
}
@@ -1132,10 +1141,11 @@
public Dimension getMaximumSize(final JComponent c) {
return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
}
+ @SuppressWarnings("serial") // anonymous class
protected ListCellRenderer createDirectoryComboBoxRenderer(final JFileChooser fc) {
return new AquaComboBoxRendererInternal(directoryComboBox) {
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
final File directory = (File)value;
@@ -1160,10 +1170,11 @@
}
/**
* Data model for a type-face selection combo-box.
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel {
Vector<File> fDirectories = new Vector<File>();
int topIndex = -1;
int fPathCount = 0;
@@ -1243,10 +1254,11 @@
}
//
// Renderer for Types ComboBox
//
+ @SuppressWarnings("serial") // anonymous class
protected ListCellRenderer createFilterComboBoxRenderer() {
return new AquaComboBoxRendererInternal(filterComboBox) {
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
final FileFilter filter = (FileFilter)value;
@@ -1264,10 +1276,11 @@
}
/**
* Data model for a type-face selection combo-box.
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>,
PropertyChangeListener {
protected FileFilter[] filters;
protected FilterComboBoxModel() {
super();
@@ -1334,10 +1347,11 @@
}
/**
* Acts when FilterComboBox has changed the selected item.
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class FilterComboBoxAction extends AbstractAction {
protected FilterComboBoxAction() {
super("FilterComboBoxAction");
}
@@ -1347,10 +1361,11 @@
}
/**
* Acts when DirectoryComboBox has changed the selected item.
*/
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class DirectoryComboBoxAction extends AbstractAction {
protected DirectoryComboBoxAction() {
super("DirectoryComboBoxAction");
}
@@ -1358,10 +1373,11 @@
getFileChooser().setCurrentDirectory((File)directoryComboBox.getSelectedItem());
}
}
// Sorting Table operations
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
class JSortingTableHeader extends JTableHeader {
public JSortingTableHeader(final TableColumnModel cm) {
super(cm);
setReorderingAllowed(true); // This causes mousePress to call setDraggedColumn
}
@@ -1394,10 +1410,11 @@
final DefaultTableCellRenderer label = new AquaTableCellRenderer();
label.setHorizontalAlignment(SwingConstants.LEFT);
return label;
}
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
class AquaTableCellRenderer extends DefaultTableCellRenderer implements UIResource {
public Component getTableCellRendererComponent(final JTable localTable, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
if (localTable != null) {
final JTableHeader header = localTable.getTableHeader();
if (header != null) {
@@ -1472,10 +1489,11 @@
setFileName(newFileDefaultName);
}
tPanel.add(labelArea);
// separator line
+ @SuppressWarnings("serial") // anonymous class
final JSeparator sep = new JSeparator(){
public Dimension getPreferredSize() {
return new Dimension(((JComponent)getParent()).getWidth(), 3);
}
};
@@ -1759,10 +1777,11 @@
scrollpane.setCorner(ScrollPaneConstants.UPPER_TRAILING_CORNER, new ScrollPaneCornerPanel());
p.add(scrollpane, BorderLayout.CENTER);
return p;
}
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
protected class ScrollPaneCornerPanel extends JPanel {
final Border border = UIManager.getBorder("TableHeader.cellBorder");
protected void paintComponent(final Graphics g) {
border.paintBorder(this, g, 0, 0, getWidth() + 1, getHeight());
@@ -2223,10 +2242,11 @@
super.updateButtonState(fc, f);
}
}
// See FileRenderer - documents in Save dialogs draw disabled, so they shouldn't be selected
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
class MacListSelectionModel extends DefaultListSelectionModel {
AquaFileSystemModel fModel;
MacListSelectionModel(final AquaFileSystemModel model) {
fModel = model;
@@ -2313,10 +2333,11 @@
}
}
// Convenience, to translate from the JList directory view to the Mac-style JTable
// & minimize diffs between this and BasicFileChooserUI
+ @SuppressWarnings("serial") // Superclass is not serializable across versions
class JTableExtension extends JTable {
public void setSelectedIndex(final int index) {
getSelectionModel().setSelectionInterval(index, index);
}