| /** |
| * |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| */ |
| package org.eclipse.osbp.wizard.ui.allinonedsl; |
| |
| import org.eclipse.osbp.wizard.ui.AllInOneDSLsNewProjectWizard; |
| import org.eclipse.osbp.wizard.ui.basic.BasicNewProjectWizardPage; |
| import org.eclipse.osbp.wizard.ui.basic.CommonProjectWizardTranslator; |
| import org.eclipse.osbp.wizard.ui.basic.MockDataGenerateType; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.widgets.Combo; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Event; |
| import org.eclipse.swt.widgets.Label; |
| import org.eclipse.swt.widgets.Listener; |
| |
| /** |
| * The Class AllInOneDSLsNewProjectMockDataPage. |
| * <br> |
| * Enables selecting mock generator types, depending on the data sources selected before. |
| */ |
| public class AllInOneDSLsNewProjectMockDataPage extends BasicNewProjectWizardPage { |
| |
| /** The general setting. */ |
| private final boolean generalSetting; |
| |
| /** |
| * Instantiates a new all in one DS ls new project mock data page. |
| * |
| * @param wizard the wizard |
| * @param pageName the page name |
| * @param generalSetting the general setting |
| */ |
| public AllInOneDSLsNewProjectMockDataPage(final AllInOneDSLsNewProjectWizard wizard, String pageName, boolean generalSetting) { |
| super(wizard, pageName); |
| this.generalSetting = generalSetting; |
| wizard.projectNameChanges.add(new Listener() { |
| public void handleEvent(Event e) { |
| wizard.projectInfo.setTopLevelDomain(wizard.topLevelDomain.getItem(wizard.topLevelDomain.getSelectionIndex()).split(" ")[0]); |
| wizard.projectInfo.setCompanyDomain(wizard.companyDomain.getText()); |
| wizard.projectInfo.setBusinessBundle(wizard.businessBundle.getText()); |
| wizard.projectNameField.setText(wizard.projectInfo.getBasicProjectName()); |
| wizard.bundleName.setText(wizard.projectInfo.getBasicSymbolicName()); |
| wizard.productDesktopUrlPath.setText(wizard.projectInfo.getProductDesktopUrlPath()); |
| wizard.productMobileUrlPath.setText(wizard.projectInfo.getProductMobileUrlPath()); |
| wizard.nameModifyListener.handleEvent(e); |
| } |
| }); |
| } |
| |
| @Override |
| protected final void createProjectNameGroup(Composite parent) { |
| final AllInOneDSLsNewProjectWizard wizard = (AllInOneDSLsNewProjectWizard) super.wizard; |
| int selected = 0; |
| int generalSelected = 0; |
| |
| // new project label |
| Label mockGeneralGenerateTypeLabel = new Label(projectGroup, SWT.NONE); |
| mockGeneralGenerateTypeLabel.setText(wizard.translator.getDocumentation(this,"labelMockGeneralGenerateType")); |
| // IDEWorkbenchMessages.WizardNewProjectCreationPage_nameLabel); |
| mockGeneralGenerateTypeLabel.setFont(parent.getFont()); |
| |
| // new project name entry field |
| wizard.mockGeneralGenerateType = new Combo (projectGroup, SWT.READ_ONLY); |
| generalSelected = 0; |
| for (MockDataGenerateType type : MockDataGenerateType.values()) { |
| wizard.mockGeneralGenerateType.add(type.getDescription()); |
| if (type.equals(wizard.projectInfo.getMockProductDataGenerateType())) { |
| generalSelected = wizard.mockGeneralGenerateType.indexOf(type.getDescription()); |
| } |
| } |
| wizard.mockGeneralGenerateType.setLayoutData(data); |
| mockGeneralGenerateTypeLabel.setVisible(generalSetting); |
| wizard.mockGeneralGenerateType.setVisible(generalSetting); |
| |
| // new project label |
| Label mockAuthenticationDataGenerateTypeLabel = new Label(projectGroup, SWT.NONE); |
| mockAuthenticationDataGenerateTypeLabel.setText(wizard.translator.getDocumentation(this,"labelMockAuthenticationDataGenerateType")); |
| // IDEWorkbenchMessages.WizardNewProjectCreationPage_nameLabel); |
| mockAuthenticationDataGenerateTypeLabel.setFont(parent.getFont()); |
| |
| // new project name entry field |
| wizard.mockAuthenticationDataGenerateType = new Combo (projectGroup, SWT.READ_ONLY); |
| selected = 0; |
| for (MockDataGenerateType type : MockDataGenerateType.values()) { |
| wizard.mockAuthenticationDataGenerateType.add(type.getDescription()); |
| if (type.equals(wizard.projectInfo.getMockAuthenticationDataGenerateType())) { |
| selected = wizard.mockAuthenticationDataGenerateType.indexOf(type.getDescription()); |
| } |
| } |
| wizard.mockAuthenticationDataGenerateType.setLayoutData(data); |
| wizard.mockAuthenticationDataGenerateType.select(selected); |
| mockAuthenticationDataGenerateTypeLabel.setVisible(!generalSetting); |
| wizard.mockAuthenticationDataGenerateType.setVisible(!generalSetting); |
| |
| // new project label |
| Label mockBlobDataGenerateTypeLabel = new Label(projectGroup, SWT.NONE); |
| mockBlobDataGenerateTypeLabel.setText(wizard.translator.getDocumentation(this,"labelMockBlobDataGenerateType")); |
| // IDEWorkbenchMessages.WizardNewProjectCreationPage_nameLabel); |
| mockBlobDataGenerateTypeLabel.setFont(parent.getFont()); |
| |
| // new project name entry field |
| wizard.mockBlobDataGenerateType = new Combo (projectGroup, SWT.READ_ONLY); |
| selected = 0; |
| for (MockDataGenerateType type : MockDataGenerateType.values()) { |
| wizard.mockBlobDataGenerateType.add(type.getDescription()); |
| if (type.equals(wizard.projectInfo.getMockBlobDataGenerateType())) { |
| selected = wizard.mockBlobDataGenerateType.indexOf(type.getDescription()); |
| } |
| } |
| wizard.mockBlobDataGenerateType.setLayoutData(data); |
| wizard.mockBlobDataGenerateType.select(selected); |
| mockBlobDataGenerateTypeLabel.setVisible(!generalSetting); |
| wizard.mockBlobDataGenerateType.setVisible(!generalSetting); |
| |
| // new project label |
| Label mockProductDataGenerateTypeLabel = new Label(projectGroup, SWT.NONE); |
| mockProductDataGenerateTypeLabel.setText(wizard.translator.getDocumentation(this,"labelMockProductDataGenerateType")); |
| // IDEWorkbenchMessages.WizardNewProjectCreationPage_nameLabel); |
| mockProductDataGenerateTypeLabel.setFont(parent.getFont()); |
| |
| // new project name entry field |
| wizard.mockProductDataGenerateType = new Combo (projectGroup, SWT.READ_ONLY); |
| selected = 0; |
| for (MockDataGenerateType type : MockDataGenerateType.values()) { |
| wizard.mockProductDataGenerateType.add(type.getDescription()); |
| if (type.equals(wizard.projectInfo.getMockProductDataGenerateType())) { |
| selected = wizard.mockProductDataGenerateType.indexOf(type.getDescription()); |
| } |
| } |
| wizard.mockProductDataGenerateType.setLayoutData(data); |
| wizard.mockProductDataGenerateType.select(selected); |
| mockProductDataGenerateTypeLabel.setVisible(!generalSetting); |
| wizard.mockProductDataGenerateType.setVisible(!generalSetting); |
| |
| if (generalSetting) { |
| wizard.mockGeneralGenerateType.addListener(SWT.Modify, new Listener() { |
| @Override |
| public void handleEvent(Event event) { |
| int selected = wizard.mockGeneralGenerateType.getSelectionIndex(); |
| wizard.mockAuthenticationDataGenerateType.select(selected); |
| wizard.mockBlobDataGenerateType.select(selected); |
| wizard.mockProductDataGenerateType.select(selected); |
| } |
| }); |
| wizard.mockGeneralGenerateType.select(generalSelected); |
| } |
| } |
| } |