1 11 package org.eclipse.pde.internal.ui.launcher; 12 13 14 import org.eclipse.jdt.core.IType; 15 import org.eclipse.jdt.ui.JavaElementLabelProvider; 16 import org.eclipse.jface.util.Assert; 17 import org.eclipse.pde.internal.ui.PDEUIMessages; 18 import org.eclipse.swt.graphics.Image; 19 import org.eclipse.swt.widgets.Composite; 20 import org.eclipse.swt.widgets.Control; 21 import org.eclipse.swt.widgets.Shell; 22 import org.eclipse.ui.dialogs.TwoPaneElementSelector; 23 24 public class MainTypeSelectionDialog extends TwoPaneElementSelector { 25 26 27 private final IType[] fTypes; 28 29 private static class PackageRenderer extends JavaElementLabelProvider { 30 public PackageRenderer() { 31 super(JavaElementLabelProvider.SHOW_PARAMETERS | JavaElementLabelProvider.SHOW_POST_QUALIFIED | JavaElementLabelProvider.SHOW_ROOT); 32 } 33 34 public Image getImage(Object element) { 35 return super.getImage(((IType)element).getPackageFragment()); 36 } 37 38 public String getText(Object element) { 39 return super.getText(((IType)element).getPackageFragment()); 40 } 41 } 42 43 public MainTypeSelectionDialog(Shell shell, IType[] types) { 44 45 super(shell, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS), 46 new PackageRenderer()); 47 48 Assert.isNotNull(types); 49 fTypes= types; 50 setMessage(PDEUIMessages.MainTypeSelectionDialog_chooseType); 51 setUpperListLabel(PDEUIMessages.MainTypeSelectionDialog_matching); 52 setLowerListLabel(PDEUIMessages.MainTypeSelectionDialog_qualifier); 53 } 54 55 58 public IType[] getTypes() { 59 return fTypes; 60 } 61 62 65 public int open() { 66 67 if (fTypes == null) 68 return CANCEL; 69 70 setElements(fTypes); 71 return super.open(); 72 } 73 74 77 public Control createDialogArea(Composite parent) { 78 Control control= super.createDialogArea(parent); 79 applyDialogFont(control); 80 return control; 81 } 82 } 83 | Popular Tags |