package org.incha.ui.buildpath;
import java.io.File;
import java.util.List;
import javax.swing.JFileChooser;
import javax.swing.table.TableCellRenderer;
import org.incha.core.BuildPath;
import org.incha.core.JavaProject;
public class ClassPathEditor extends AbstractBuildPathEditor {
private static final long serialVersionUID = 1L;
/**
* @param project the java project.
*/
public ClassPathEditor(final JavaProject project) {
super(project);
}
/* (non-Javadoc)
* @see org.incha.ui.AbstractBuildPathEditor#fireFilesChanged(java.lang.String, java.util.List, java.util.List)
*/
@Override
protected void fireFilesChanged(final String propertyName,
final List<File> originOldFiles, final List<File> originNewFiles) {
if (!BuildPath.CLASSPATH.equals(propertyName)) {
return;
}
super.fireFilesChanged(propertyName, originOldFiles, originNewFiles);
}
/**
* @return the cell renderer.
*/
@Override
protected TableCellRenderer createCellRenderer() {
return new ClassPathEntryRenderer();
}
/**
* Synchronizes the view with project.
*/
@Override
protected void synchronizeBuildPath() {
//synchronize source files.
for (final File f : project.getBuildPath().getClassPath()) {
handleFileAdded(f);
}
}
/**
* @param file the file to delete from project.
*/
@Override
protected void deleteFileFromProject(final File file) {
project.getBuildPath().deleteClassPath(file);
}
/**
* @param f the file to add to project.
*/
@Override
protected void addFileToProject(final File f) {
project.getBuildPath().addClassPath(f);
}
/**
* @return the file chooser.
*/
@Override
protected JFileChooser createFileChooser() {
final JFileChooser chooser = super.createFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
return chooser;
}
}