--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/NewFlickrApplicationWizardPage.java Mon Aug 23 15:08:34 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/NewFlickrApplicationWizardPage.java Mon Aug 23 17:20:11 2010 -0700
@@ -18,58 +18,11 @@
*/
package org.symbian.tools.wrttools.wizards;
-import java.text.MessageFormat;
-import java.util.Collection;
-import java.util.LinkedList;
+import org.eclipse.swt.widgets.Composite;
-import org.eclipse.core.databinding.Binding;
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.wizard.WizardPageSupport;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.symbian.tools.tmw.ui.project.INewApplicationWizardPage;
-import org.symbian.tools.tmw.ui.project.IProjectTemplate;
-import org.symbian.tools.tmw.ui.project.IProjectTemplateContext;
-import org.symbian.tools.wrttools.Activator;
-import org.symbian.tools.wrttools.util.CompoundValidator;
-
-public class NewFlickrApplicationWizardPage extends WizardPage implements INewApplicationWizardPage {
- private static class NonEmptyStringValidator implements IValidator {
- private final String propertyName;
-
- public NonEmptyStringValidator(String propertyName) {
- this.propertyName = propertyName;
- }
-
- public IStatus validate(Object value) {
- if (value == null || value.toString().trim().length() == 0) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, MessageFormat.format("Field {0} is empty",
- propertyName));
- }
- return Status.OK_STATUS;
- }
- }
- private DataBindingContext bindingContext;
- private final Collection<Binding> bindings = new LinkedList<Binding>();
- private IProjectTemplateContext context;
-
+public class NewFlickrApplicationWizardPage extends NewWrtAppTemplatePage {
public NewFlickrApplicationWizardPage() {
- super("FlickrFiles");
- setTitle("Application Files");
- setDescription("Specify application file names");
+ super("FlickrFiles", "Application Files", "Specify application file names");
}
protected void addTemplateControls(Composite root) {
@@ -79,64 +32,4 @@
createLabel(root, "");
}
- public void createControl(Composite parent) {
- Composite root = new Composite(parent, SWT.NONE);
- WizardPageSupport.create(this, bindingContext);
- root.setLayout(new GridLayout(2, false));
-
- createLabel(root, "Name of main HTML:");
- createText(root, IProjectTemplate.CommonKeys.main_html, "HTML file name", bindingContext);
- createLabel(root, "");
- createLabel(root, "");
- createLabel(root, "Name of CSS file:");
- createText(root, IProjectTemplate.CommonKeys.main_css, "CSS file name", bindingContext);
- createLabel(root, "");
- createLabel(root, "");
- createLabel(root, "Name of JavaScript file:");
- createText(root, IProjectTemplate.CommonKeys.main_js, "JavaScript file name", bindingContext);
-
- createLabel(root, "");
- Button homeScreen = new Button(root, SWT.CHECK);
- homeScreen.setText("Enable HomeScreen");
-
- createLabel(root, "");
- createLabel(root, "");
-
- IObservableValue view = SWTObservables.observeSelection(homeScreen);
- IObservableValue model = context.getParameterObservable(WizardContext.HOME_SCREEN);
- bindingContext.bindValue(view, model);
-
- addTemplateControls(root);
-
- setControl(root);
- }
-
- protected void createLabel(Composite root, String text) {
- Label label = new Label(root, SWT.NONE);
- label.setText(text);
- }
-
- protected Text createText(Composite root, String property, String propertyName, DataBindingContext bindingContext,
- IValidator... validators) {
- Text text = new Text(root, SWT.BORDER);
- text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- ISWTObservableValue view = SWTObservables.observeText(text, SWT.Modify);
- UpdateValueStrategy strategy = new UpdateValueStrategy(UpdateValueStrategy.POLICY_UPDATE);
- NonEmptyStringValidator validator = new NonEmptyStringValidator(propertyName);
- strategy.setBeforeSetValidator(validators.length == 0 ? validator
- : new CompoundValidator(validator, validators));
- bindings.add(bindingContext.bindValue(view, context.getParameterObservable(property), strategy, null));
- return text;
- }
-
- public void init(IProjectTemplateContext context, DataBindingContext bindingContext) {
- this.context = context;
- this.bindingContext = bindingContext;
- }
-
- public void remove() {
- for (Binding binding : bindings) {
- bindingContext.removeBinding(binding);
- }
- }
}