/** * @param composite * @return the 3rd column composite */ private void createTypeCombo(Composite composite) { Label datatypeLabel = new Label(composite, SWT.NONE); datatypeLabel.setText(Messages.datatypeLabel); datatypeCombo = new ComboViewer(new Combo(composite, SWT.READ_ONLY | SWT.BORDER)); datatypeCombo.setContentProvider(ArrayContentProvider.getInstance()); datatypeCombo.setLabelProvider( new LabelProvider() { @Override public String getText(Object element) { if (element.equals(SimulationPackage.eINSTANCE.getSimulationBoolean())) { return Messages.SimulationBoolean; } if (element.equals(SimulationPackage.eINSTANCE.getSimulationLiteralData())) { return Messages.SimulationLiteralData; } if (element.equals(SimulationPackage.eINSTANCE.getSimulationNumberData())) { return Messages.SimulationNumberData; } return ((EClass) element).getName(); } }); datatypeCombo.setInput(getAvailableDataTypes()); if (dataClass == null) { dataClass = SimulationPackage.eINSTANCE.getSimulationBoolean(); } gd = new GridData(); gd.horizontalAlignment = GridData.FILL; gd.verticalAlignment = GridData.CENTER; gd.widthHint = 150; datatypeCombo.getControl().setLayoutData(gd); if (data != null) { datatypeCombo.setSelection(new StructuredSelection(data.eClass())); datatypeCombo.getControl().setEnabled(false); } else { datatypeCombo.setSelection(new StructuredSelection(datatypeCombo.getElementAt(0))); } datatypeCombo.addSelectionChangedListener( new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { dataClass = (EClass) ((IStructuredSelection) datatypeCombo.getSelection()).getFirstElement(); changeDataConfigurationComposite(dataClass); setPageComplete(isPageComplete()); } }); // context.bindValue(SWTObservables.observeText(isOtherBased),SWTObservables.observeText(datatypeCombo.getControl())); }
/** * @param element * @param container * @param simulationData */ public AddSimulationDataWizardPage( SimulationDataContainer element, SimulationData simulationData) { super("add simulation data"); this.element = element; data = simulationData; setTitle(Messages.AddSimulationDataWizardPage_title); this.setMessage(Messages.AddSimulationDataWizardPage_msg); setImageDescriptor(Pics.getWizban()); if (data != null) { dataClass = data.eClass(); dataDescription = data.getDescription(); dataName = data.getName(); if (data.getExpression() == null) { dataExpression = ExpressionFactory.eINSTANCE.createExpression(); } else { dataExpression = EcoreUtil.copy(data.getExpression()); } setExpressionBased(data.isExpressionBased()); if (data instanceof SimulationBoolean) { probabilityOfTrue = ((SimulationBoolean) data).getProbabilityOfTrue(); } if (data instanceof SimulationNumberData) { for (SimulationNumberRange range : ((SimulationNumberData) data).getRanges()) { ranges.add(EcoreUtil.copy(range)); } } if (data instanceof SimulationLiteralData) { for (SimulationLiteral literal : ((SimulationLiteralData) data).getLiterals()) { literals.add(EcoreUtil.copy(literal)); } } } else { dataExpression = ExpressionFactory.eINSTANCE.createExpression(); dataName = generateDataName(); } }