package org.easyb.launch.launcher;
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.ui.JavaElementLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.TwoPaneElementSelector;
/**
* Displays story files in top pane with associated package/folders
* in bottom pane.
* @author whiteda
*
*/
public class BehaviourElementSelectorDialog extends TwoPaneElementSelector {
//TODO implement a easyb label provider which will display a
//easyb story icon
private static class StoryContainerRenderer extends LabelProvider {
private JavaElementLabelProvider fBaseLabelProvider;
public StoryContainerRenderer() {
fBaseLabelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_PARAMETERS | JavaElementLabelProvider.SHOW_POST_QUALIFIED | JavaElementLabelProvider.SHOW_ROOT);
}
public Image getImage(Object element) {
return fBaseLabelProvider.getImage(((IFile)element).getParent());
}
public String getText(Object element) {
return fBaseLabelProvider.getText(((IFile)element).getParent());
}
public void dispose() {
fBaseLabelProvider.dispose();
}
}
public BehaviourElementSelectorDialog(Shell parent,IFile[] files) {
super(parent,new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT),
new StoryContainerRenderer());
setElements(files);
}
}