public void widgetSelected(SelectionEvent e) { Object source = e.getSource(); if (source.equals(sizeAttributecombo) || source.equals(sizeSpinner)) { boolean comboIsNone = comboIsNone(sizeAttributecombo); if (comboIsNone) { int sizeInt = sizeSpinner.getSelection(); String size = String.valueOf(sizeInt); notifyListeners(size, false, STYLEEVENTTYPE.SIZE); } else { int index = sizeAttributecombo.getSelectionIndex(); String field = sizeAttributecombo.getItem(index); if (field.length() == 0) { return; } notifyListeners(field, true, STYLEEVENTTYPE.SIZE); } } else if (source.equals(rotationSpinner) || source.equals(rotationAttributecombo)) { boolean comboIsNone = comboIsNone(rotationAttributecombo); if (comboIsNone) { int rotationInt = rotationSpinner.getSelection(); String rotation = String.valueOf(rotationInt); notifyListeners(rotation, false, STYLEEVENTTYPE.ROTATION); } else { int index = rotationAttributecombo.getSelectionIndex(); String field = rotationAttributecombo.getItem(index); if (field.length() == 0) { return; } notifyListeners(field, true, STYLEEVENTTYPE.ROTATION); } } else if (source.equals(xOffsetSpinner) || source.equals(yOffsetSpinner)) { double x = Utilities.getDoubleSpinnerSelection(xOffsetSpinner); double y = Utilities.getDoubleSpinnerSelection(yOffsetSpinner); String offsetStr = x + "," + y; // $NON-NLS-1$ notifyListeners(offsetStr, false, STYLEEVENTTYPE.OFFSET); } checkEnablements(); }
public void init(RuleWrapper ruleWrapper) { PointSymbolizerWrapper pointSymbolizerWrapper = ruleWrapper.getGeometrySymbolizersWrapper().adapt(PointSymbolizerWrapper.class); mainComposite = new Composite(parent, SWT.NONE); mainComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); mainComposite.setLayout(new GridLayout(3, true)); // rule name Label nameLabel = new Label(mainComposite, SWT.NONE); nameLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); nameLabel.setText(Messages.PointGeneralParametersComposite_0); nameText = new Text(mainComposite, SWT.SINGLE | SWT.LEAD | SWT.BORDER); GridData nameTextGD = new GridData(SWT.FILL, SWT.CENTER, true, false); nameTextGD.horizontalSpan = 2; nameText.setLayoutData(nameTextGD); nameText.setText(ruleWrapper.getName()); nameText.addFocusListener(this); // header new Label(mainComposite, SWT.NONE); Label valueLabel = new Label(mainComposite, SWT.NONE); valueLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false)); valueLabel.setText(Messages.PointGeneralParametersComposite_1); Label fieldsLabel = new Label(mainComposite, SWT.NONE); fieldsLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false)); fieldsLabel.setText(Messages.PointGeneralParametersComposite_2); // size Label sizeLabel = new Label(mainComposite, SWT.NONE); sizeLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); sizeLabel.setText(Messages.PointGeneralParametersComposite_3); sizeSpinner = new Spinner(mainComposite, SWT.BORDER); sizeSpinner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); sizeSpinner.setMaximum(200); sizeSpinner.setMinimum(0); sizeSpinner.setIncrement(1); String size = pointSymbolizerWrapper.getSize(); Double tmpSize = isDouble(size); int tmp = 3; if (tmpSize != null) { tmp = tmpSize.intValue(); } sizeSpinner.setSelection(tmp); sizeSpinner.addSelectionListener(this); sizeAttributecombo = new Combo(mainComposite, SWT.DROP_DOWN | SWT.READ_ONLY); sizeAttributecombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); sizeAttributecombo.setItems(numericAttributesArrays); sizeAttributecombo.addSelectionListener(this); if (tmpSize == null) { int index = getAttributeIndex(size, numericAttributesArrays); if (index != -1) { sizeAttributecombo.select(index); } } Label rotationLabel = new Label(mainComposite, SWT.NONE); rotationLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); rotationLabel.setText(Messages.PointGeneralParametersComposite_4); rotationSpinner = new Spinner(mainComposite, SWT.BORDER); rotationSpinner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); rotationSpinner.setMaximum(360); rotationSpinner.setMinimum(0); rotationSpinner.setIncrement(5); String rotation = pointSymbolizerWrapper.getRotation(); Double tmpRotation = isDouble(rotation); tmp = 0; if (tmpRotation != null) { tmp = tmpRotation.intValue(); } rotationSpinner.setSelection(tmp); rotationSpinner.addSelectionListener(this); rotationAttributecombo = new Combo(mainComposite, SWT.DROP_DOWN | SWT.READ_ONLY); rotationAttributecombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); rotationAttributecombo.setItems(numericAttributesArrays); rotationAttributecombo.addSelectionListener(this); if (tmpSize == null) { int index = getAttributeIndex(rotation, numericAttributesArrays); if (index != -1) { rotationAttributecombo.select(index); } } // offset Label offsetLabel = new Label(mainComposite, SWT.NONE); GridData offsetLabelGD = new GridData(SWT.FILL, SWT.CENTER, true, false); offsetLabel.setLayoutData(offsetLabelGD); offsetLabel.setText(Messages.PointGeneralParametersComposite_5); String xOffset = pointSymbolizerWrapper.getxOffset(); String yOffset = pointSymbolizerWrapper.getyOffset(); Double tmpXOffset = Utilities.isNumber(xOffset, Double.class); Double tmpYOffset = Utilities.isNumber(yOffset, Double.class); if (tmpXOffset == null || tmpYOffset == null) { tmpXOffset = 0.0; tmpYOffset = 0.0; } xOffsetSpinner = new Spinner(mainComposite, SWT.BORDER); xOffsetSpinner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); xOffsetSpinner.setMaximum(Utilities.OFFSET_MAX); xOffsetSpinner.setMinimum(Utilities.OFFSET_MIN); xOffsetSpinner.setIncrement(Utilities.OFFSET_STEP); xOffsetSpinner.setSelection((int) (10 * tmpXOffset)); xOffsetSpinner.setDigits(1); xOffsetSpinner.addSelectionListener(this); yOffsetSpinner = new Spinner(mainComposite, SWT.BORDER); yOffsetSpinner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); yOffsetSpinner.setMaximum(Utilities.OFFSET_MAX); yOffsetSpinner.setMinimum(Utilities.OFFSET_MIN); yOffsetSpinner.setIncrement(Utilities.OFFSET_STEP); yOffsetSpinner.setSelection((int) (10 * tmpYOffset)); yOffsetSpinner.setDigits(1); yOffsetSpinner.addSelectionListener(this); // scale Label maxScaleLabel = new Label(mainComposite, SWT.NONE); GridData maxScaleLabelGD = new GridData(SWT.FILL, SWT.CENTER, true, false); maxScaleLabel.setLayoutData(maxScaleLabelGD); maxScaleLabel.setText(Messages.PointGeneralParametersComposite_6); maxScaleText = new Text(mainComposite, SWT.SINGLE | SWT.LEAD | SWT.BORDER); GridData maxScaleTextSIMPLEGD = new GridData(SWT.FILL, SWT.CENTER, true, false); maxScaleTextSIMPLEGD.horizontalSpan = 2; maxScaleText.setLayoutData(maxScaleTextSIMPLEGD); maxScaleText.setText(ruleWrapper.getMaxScale()); maxScaleText.addKeyListener(this); Label minScaleLabel = new Label(mainComposite, SWT.NONE); GridData minScaleLabelGD = new GridData(SWT.FILL, SWT.CENTER, true, false); minScaleLabel.setLayoutData(minScaleLabelGD); minScaleLabel.setText(Messages.PointGeneralParametersComposite_7); minScaleText = new Text(mainComposite, SWT.SINGLE | SWT.LEAD | SWT.BORDER); GridData mainScaleTextSIMPLEGD = new GridData(SWT.FILL, SWT.CENTER, true, false); mainScaleTextSIMPLEGD.horizontalSpan = 2; minScaleText.setLayoutData(mainScaleTextSIMPLEGD); minScaleText.setText(ruleWrapper.getMinScale()); minScaleText.addKeyListener(this); checkEnablements(); }
public void update(RuleWrapper ruleWrapper) { PointSymbolizerWrapper pointSymbolizerWrapper = ruleWrapper.getGeometrySymbolizersWrapper().adapt(PointSymbolizerWrapper.class); nameText.setText(ruleWrapper.getName()); // size String size = pointSymbolizerWrapper.getSize(); Double tmpSize = isDouble(size); int tmp = 3; if (tmpSize != null) { tmp = tmpSize.intValue(); } sizeSpinner.setSelection(tmp); if (tmpSize == null) { int index = getAttributeIndex(size, numericAttributesArrays); if (index != -1) { sizeAttributecombo.select(index); } } // rotation String rotation = pointSymbolizerWrapper.getRotation(); Double tmpRotation = isDouble(rotation); tmp = 0; if (tmpRotation != null) { tmp = tmpRotation.intValue(); } rotationSpinner.setSelection(tmp); if (tmpSize == null) { int index = getAttributeIndex(rotation, numericAttributesArrays); if (index != -1) { rotationAttributecombo.select(index); } } // offset String xOffset = pointSymbolizerWrapper.getxOffset(); String yOffset = pointSymbolizerWrapper.getyOffset(); Double tmpXOffset = Utilities.isNumber(xOffset, Double.class); Double tmpYOffset = Utilities.isNumber(yOffset, Double.class); if (tmpXOffset == null || tmpYOffset == null) { tmpXOffset = 0.0; tmpYOffset = 0.0; } xOffsetSpinner.setSelection((int) (10 * tmpXOffset)); yOffsetSpinner.setSelection((int) (10 * tmpYOffset)); // scale Double maxScaleDouble = isDouble(ruleWrapper.getMaxScale()); if (maxScaleDouble == null || Double.isInfinite(maxScaleDouble)) { maxScaleText.setText(""); // $NON-NLS-1$ } else { maxScaleText.setText(String.valueOf(maxScaleDouble)); } Double minScaleDouble = isDouble(ruleWrapper.getMinScale()); if (minScaleDouble == null || minScaleDouble == 0) { minScaleText.setText(""); // $NON-NLS-1$ } else { minScaleText.setText(String.valueOf(minScaleDouble)); } checkEnablements(); }