package org.fandev.module.wizard.ui;
import com.intellij.ide.util.newProjectWizard.SourcePathsStep;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.project.Project;
import org.fandev.module.wizard.FanModuleBuilder;
import org.fandev.module.FanModuleSettings;
import org.fandev.utils.FanUtil;
import org.fandev.utils.VirtualFileUtil;
import javax.swing.*;
import java.util.LinkedList;
import java.util.List;
/**
* @author Dror Bereznitsky
* @date Jan 27, 2009 12:23:16 AM
*/
public class FanSourcePathsStep extends SourcePathsStep {
private FanModuleBuilder mySettingsHolder;
private String suggestedSource;
public FanSourcePathsStep(final FanModuleBuilder sourcePathsBuilder, final Icon icon, @org.jetbrains.annotations.NonNls final String s) {
super(sourcePathsBuilder, icon, s);
mySettingsHolder = sourcePathsBuilder;
suggestedSource = s;
mySettingsHolder.setSourcePaths(mySettingsHolder.getModulePod().getSrcDirs());
}
@Override
protected String suggestSourceDirectoryName() {
return suggestedSource;
}
@Override
public void updateDataModel() {
super.updateDataModel();
final List<Pair<String,String>> spList = mySettingsHolder.getSourcePaths();
final List<Pair<String,String>> srcList = new LinkedList<Pair<String,String>>();
for (final Pair<String,String> p : spList) {
final VirtualFile v = VirtualFileUtil.refreshAndFindFileByLocalPath(p.getFirst());
final String s = v.getName();
srcList.add(new Pair<String,String>(s, s));
}
mySettingsHolder.getModulePod().setSrcDirs(srcList);
}
/*@Override
protected void onFinished(List<Pair<String, String>> pairs, boolean b) {
super.onFinished(pairs, b);
// TODO [Bryan] Moved over to FanModuleBuilder.commitModule()
//TODO [Dror] find a better place to perform the build script generation
//mySettingsHolder.getModulePod().setBuildScriptFile(FanUtil.generateBuildScript(mySettingsHolder, project, this));
}*/
}