List of usage examples for org.eclipse.swt.widgets Composite pack
public void pack()
From source file:org.locationtech.udig.processingtoolbox.tools.MoranScatterPlotDialog.java
private void createInputTab(final CTabFolder parentTabFolder) { inputTab = new CTabItem(parentTabFolder, SWT.NONE); inputTab.setText(Messages.ProcessExecutionDialog_tabparameters); ScrolledComposite scroller = new ScrolledComposite(parentTabFolder, SWT.NONE | SWT.V_SCROLL | SWT.H_SCROLL); scroller.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Composite container = new Composite(scroller, SWT.NONE); container.setLayout(new GridLayout(1, false)); container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // local moran's i Image image = ToolboxPlugin.getImageDescriptor("icons/public_co.gif").createImage(); //$NON-NLS-1$ uiBuilder.createLabel(container, Messages.MoranScatterPlotDialog_InputLayer, EMPTY, image, 1); cboLayer = uiBuilder.createCombo(container, 1, true); fillLayers(map, cboLayer, VectorLayerType.ALL); uiBuilder.createLabel(container, Messages.MoranScatterPlotDialog_InputField, EMPTY, image, 1); cboField = uiBuilder.createCombo(container, 1, true); uiBuilder.createLabel(container, Messages.MoranScatterPlotDialog_Conceptualization, EMPTY, 1); cboConcept = uiBuilder.createCombo(container, 1, true); cboConcept.addModifyListener(new ModifyListener() { @Override/*from w w w . j ava2s .c om*/ public void modifyText(ModifyEvent e) { for (Object enumVal : SpatialConcept.class.getEnumConstants()) { if (enumVal.toString().equalsIgnoreCase(cboConcept.getText())) { params.put(GlobalMoransIProcessFactory.spatialConcept.key, enumVal); break; } } } }); fillEnum(cboConcept, SpatialConcept.class); uiBuilder.createLabel(container, Messages.MoranScatterPlotDialog_DistanceMethod, EMPTY, 1); cboDistance = uiBuilder.createCombo(container, 1, true); cboDistance.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { for (Object enumVal : DistanceMethod.class.getEnumConstants()) { if (enumVal.toString().equalsIgnoreCase(cboDistance.getText())) { params.put(GlobalMoransIProcessFactory.distanceMethod.key, enumVal); break; } } } }); fillEnum(cboDistance, DistanceMethod.class); uiBuilder.createLabel(container, Messages.MoranScatterPlotDialog_Standardization, EMPTY, 1); cboStandard = uiBuilder.createCombo(container, 1, true); cboStandard.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { for (Object enumVal : StandardizationMethod.class.getEnumConstants()) { if (enumVal.toString().equalsIgnoreCase(cboStandard.getText())) { params.put(GlobalMoransIProcessFactory.standardization.key, enumVal); break; } } } }); fillEnum(cboStandard, StandardizationMethod.class); uiBuilder.createLabel(container, Messages.MoranScatterPlotDialog_DistanceBand, EMPTY, 1); final Text txtDistance = uiBuilder.createText(container, EMPTY, 1, true); txtDistance.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { Object obj = Converters.convert(txtDistance.getText(), Double.class); if (obj == null) { params.put(GlobalMoransIProcessFactory.searchDistance.key, Double.valueOf(0d)); } else { params.put(GlobalMoransIProcessFactory.searchDistance.key, obj); } } }); // register events cboLayer.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { inputLayer = MapUtils.getLayer(map, cboLayer.getText()); if (inputLayer == null) { return; } SimpleFeatureCollection features = MapUtils.getFeatures(inputLayer); params.put(GlobalMoransIProcessFactory.inputFeatures.key, features); fillFields(cboField, inputLayer.getSchema(), FieldType.Number); } }); cboField.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { params.put(GlobalMoransIProcessFactory.inputField.key, cboField.getText()); } }); // finally scroller.setContent(container); inputTab.setControl(scroller); scroller.setMinSize(450, container.getSize().y - 2); scroller.setExpandVertical(true); scroller.setExpandHorizontal(true); scroller.pack(); container.pack(); }