1 11 package org.eclipse.pde.internal.ui.samples; 12 13 import org.eclipse.core.runtime.IConfigurationElement; 14 import org.eclipse.jface.dialogs.IMessageProvider; 15 import org.eclipse.jface.wizard.WizardPage; 16 import org.eclipse.osgi.util.NLS; 17 import org.eclipse.pde.internal.ui.IHelpContextIds; 18 import org.eclipse.pde.internal.ui.PDEUIMessages; 19 import org.eclipse.swt.SWT; 20 import org.eclipse.swt.layout.GridData; 21 import org.eclipse.swt.layout.GridLayout; 22 import org.eclipse.swt.widgets.Composite; 23 import org.eclipse.ui.PlatformUI; 24 import org.eclipse.ui.forms.HyperlinkSettings; 25 import org.eclipse.ui.forms.widgets.ScrolledFormText; 26 27 public class ReviewPage extends WizardPage { 28 private SampleWizard wizard; 29 private ScrolledFormText formText; 30 33 public ReviewPage(SampleWizard wizard) { 34 super("last"); this.wizard = wizard; 36 setTitle(PDEUIMessages.ReviewPage_title); 37 setDescription(PDEUIMessages.ReviewPage_desc); 38 } 39 public void setVisible(boolean visible) { 40 setPageComplete(wizard.getSelection()!=null); 41 if (formText!=null) 42 updateContent(); 43 super.setVisible(visible); 44 } 45 46 private void updateContent() { 47 StringBuffer buf = new StringBuffer (); 48 buf.append("<form>"); IConfigurationElement selection = wizard.getSelection(); 50 if (selection!=null) { 51 setMessage(null); 52 IConfigurationElement [] desc = selection.getChildren("description"); if (desc.length==1) 54 buf.append(NLS.bind(PDEUIMessages.ReviewPage_descContent, (new String []{selection.getAttribute("name"), desc[0].getValue()}))); else 56 buf.append(NLS.bind(PDEUIMessages.ReviewPage_content, selection.getAttribute("name"))); } 58 else { 59 setMessage(PDEUIMessages.ReviewPage_noSampleFound, IMessageProvider.WARNING); 60 } 61 buf.append("</form>"); formText.setText(buf.toString()); 63 } 64 67 public void createControl(Composite parent) { 68 Composite container = new Composite(parent, SWT.NULL); 69 GridLayout layout = new GridLayout(); 70 container.setLayout(layout); 71 formText = new ScrolledFormText(container, true); 72 formText.setBackground(parent.getBackground()); 73 GridData gd = new GridData(GridData.FILL_BOTH); 74 gd.widthHint = 300; 75 gd.heightHint = 300; 76 formText.setLayoutData(gd); 77 HyperlinkSettings settings = new HyperlinkSettings(parent.getDisplay()); 78 formText.getFormText().setHyperlinkSettings(settings); 79 setControl(container); 80 updateContent(); 81 82 PlatformUI.getWorkbench().getHelpSystem().setHelp(container, IHelpContextIds.REVIEW); 83 } 84 } 85 | Popular Tags |