KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > pde > internal > ui > samples > ReviewPage


1 /*******************************************************************************
2  * Copyright (c) 2000, 2006 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

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     /**
31      * @param pageName
32      */

33     public ReviewPage(SampleWizard wizard) {
34         super("last"); //$NON-NLS-1$
35
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 JavaDoc buf = new StringBuffer JavaDoc();
48         buf.append("<form>"); //$NON-NLS-1$
49
IConfigurationElement selection = wizard.getSelection();
50         if (selection!=null) {
51             setMessage(null);
52             IConfigurationElement [] desc = selection.getChildren("description"); //$NON-NLS-1$
53
if (desc.length==1)
54                 buf.append(NLS.bind(PDEUIMessages.ReviewPage_descContent, (new String JavaDoc[]{selection.getAttribute("name"), desc[0].getValue()}))); //$NON-NLS-1$
55
else
56                 buf.append(NLS.bind(PDEUIMessages.ReviewPage_content, selection.getAttribute("name"))); //$NON-NLS-1$
57
}
58         else {
59             setMessage(PDEUIMessages.ReviewPage_noSampleFound, IMessageProvider.WARNING);
60         }
61         buf.append("</form>"); //$NON-NLS-1$
62
formText.setText(buf.toString());
63     }
64     /* (non-Javadoc)
65      * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
66      */

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