Search in sources :

Example 26 with UndoEvent

use of com.sldeditor.common.undo.UndoEvent in project sldeditor by robward-scisys.

the class FieldConfigGeometry method createUI.

/**
 * Creates the ui.
 */
/*
     * (non-Javadoc)
     * 
     * @see com.sldeditor.ui.detail.config.FieldConfigBase#createUI()
     */
@Override
public void createUI() {
    if (textField == null) {
        final UndoActionInterface parentObj = this;
        int xPos = getXPos();
        FieldPanel fieldPanel = createFieldPanel(xPos, getLabel());
        textField = new JTextField();
        textField.setBounds(xPos + BasePanel.WIDGET_X_START, 0, this.isValueOnly() ? BasePanel.WIDGET_EXTENDED_WIDTH : BasePanel.WIDGET_STANDARD_WIDTH, BasePanel.WIDGET_HEIGHT);
        fieldPanel.add(textField);
        textField.addFocusListener(new FocusListener() {

            private String originalValue = "";

            @Override
            public void focusGained(FocusEvent e) {
                originalValue = textField.getText();
            }

            @Override
            public void focusLost(FocusEvent e) {
                String newValueObj = textField.getText();
                if (originalValue.compareTo(newValueObj) != 0) {
                    UndoManager.getInstance().addUndoEvent(new UndoEvent(parentObj, getFieldId(), oldValueObj, newValueObj));
                    oldValueObj = originalValue;
                    valueUpdated();
                }
            }
        });
        if (buttonText != null) {
            final JButton buttonExternal = new JButton(buttonText);
            buttonExternal.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    if (buttonPressedListenerList != null) {
                        // CHECKSTYLE:OFF
                        for (FieldConfigStringButtonInterface listener : buttonPressedListenerList) {
                            listener.buttonPressed(buttonExternal);
                        }
                    // CHECKSTYLE:ON
                    }
                }
            });
            int buttonWidth = 26;
            int padding = 3;
            buttonExternal.setBounds(xPos + textField.getX() - buttonWidth - padding, 0, buttonWidth, BasePanel.WIDGET_HEIGHT);
            fieldPanel.add(buttonExternal);
        }
        if (!isValueOnly()) {
            setAttributeSelectionPanel(fieldPanel.internalCreateAttrButton(Geometry.class, this, isRasterSymbol()));
        }
    }
}
Also used : UndoEvent(com.sldeditor.common.undo.UndoEvent) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) JTextField(javax.swing.JTextField) FocusEvent(java.awt.event.FocusEvent) UndoActionInterface(com.sldeditor.common.undo.UndoActionInterface) Geometry(com.vividsolutions.jts.geom.Geometry) ActionListener(java.awt.event.ActionListener) FieldPanel(com.sldeditor.ui.widgets.FieldPanel) FocusListener(java.awt.event.FocusListener)

Example 27 with UndoEvent

use of com.sldeditor.common.undo.UndoEvent in project sldeditor by robward-scisys.

the class FieldConfigInteger method createUI.

/**
 * Creates the ui.
 */
/*
     * (non-Javadoc)
     * 
     * @see com.sldeditor.ui.detail.config.FieldConfigBase#createUI()
     */
@Override
public void createUI() {
    if (spinner == null) {
        final UndoActionInterface parentObj = this;
        int xPos = getXPos();
        FieldPanel fieldPanel = createFieldPanel(xPos, getLabel());
        spinner = new IntegerSpinner(minValue, maxValue, stepSize);
        spinner.setBounds(xPos + BasePanel.WIDGET_X_START, 0, BasePanel.WIDGET_STANDARD_WIDTH, BasePanel.WIDGET_HEIGHT);
        fieldPanel.add(spinner);
        if (!isValueOnly()) {
            setAttributeSelectionPanel(fieldPanel.internalCreateAttrButton(Double.class, this, isRasterSymbol()));
        }
        spinner.registerObserver(new SpinnerNotifyInterface() {

            @Override
            public void notify(double oldValue, double newValue) {
                Integer oldValueObj = Double.valueOf(oldValue).intValue();
                Integer newValueObj = Double.valueOf(newValue).intValue();
                UndoManager.getInstance().addUndoEvent(new UndoEvent(parentObj, getFieldId(), oldValueObj, newValueObj));
                valueUpdated();
            }
        });
    }
}
Also used : UndoEvent(com.sldeditor.common.undo.UndoEvent) SpinnerNotifyInterface(com.sldeditor.ui.iface.SpinnerNotifyInterface) FieldPanel(com.sldeditor.ui.widgets.FieldPanel) IntegerSpinner(com.sldeditor.ui.widgets.IntegerSpinner) UndoActionInterface(com.sldeditor.common.undo.UndoActionInterface)

Example 28 with UndoEvent

use of com.sldeditor.common.undo.UndoEvent in project sldeditor by robward-scisys.

the class FieldConfigRange method uiInteraction.

/**
 * Ui interaction.
 *
 * @param parentObj the parent obj
 */
@SuppressWarnings("rawtypes")
protected void uiInteraction(final UndoActionInterface parentObj) {
    Range oldValueObj = previousValue;
    Range newValueObj = getRangeValues();
    if (oldValueObj != previousValue) {
        UndoManager.getInstance().addUndoEvent(new UndoEvent(parentObj, getFieldId(), oldValueObj, newValueObj));
    }
    valueUpdated();
}
Also used : UndoEvent(com.sldeditor.common.undo.UndoEvent) Range(org.jaitools.numeric.Range)

Example 29 with UndoEvent

use of com.sldeditor.common.undo.UndoEvent in project sldeditor by robward-scisys.

the class FieldConfigString method createUI.

/**
 * Creates the ui.
 */
/*
     * (non-Javadoc)
     * 
     * @see com.sldeditor.ui.detail.config.FieldConfigBase#createUI()
     */
@Override
public void createUI() {
    if (textField == null) {
        final UndoActionInterface parentObj = this;
        int xPos = getXPos();
        FieldPanel fieldPanel = createFieldPanel(xPos, getLabel());
        textField = new TextFieldPropertyChange();
        textField.setBounds(xPos + BasePanel.WIDGET_X_START, 0, this.isValueOnly() ? BasePanel.WIDGET_EXTENDED_WIDTH : BasePanel.WIDGET_STANDARD_WIDTH, BasePanel.WIDGET_HEIGHT);
        fieldPanel.add(textField);
        textField.addPropertyChangeListener(TextFieldPropertyChange.TEXT_PROPERTY, new PropertyChangeListener() {

            /*
                         * (non-Javadoc)
                         * 
                         * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
                         */
            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                String originalValue = (String) evt.getOldValue();
                String newValueObj = (String) evt.getNewValue();
                if ((originalValue.compareTo(newValueObj) != 0)) {
                    if (!suppressUpdateOnSet) {
                        UndoManager.getInstance().addUndoEvent(new UndoEvent(parentObj, getFieldId(), oldValueObj, newValueObj));
                        oldValueObj = originalValue;
                    }
                    valueUpdated();
                }
            }
        });
        if (buttonText != null) {
            final JButton buttonExternal = new JButton(buttonText);
            buttonExternal.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    if (buttonPressedListenerList != null) {
                        // CHECKSTYLE:OFF
                        for (FieldConfigStringButtonInterface listener : buttonPressedListenerList) {
                            listener.buttonPressed(buttonExternal);
                        }
                    // CHECKSTYLE:ON
                    }
                }
            });
            int buttonWidth = 26;
            int padding = 3;
            buttonExternal.setBounds(xPos + textField.getX() - buttonWidth - padding, 0, buttonWidth, BasePanel.WIDGET_HEIGHT);
            fieldPanel.add(buttonExternal);
        }
        if (!isValueOnly()) {
            setAttributeSelectionPanel(fieldPanel.internalCreateAttrButton(String.class, this, isRasterSymbol()));
        }
    }
}
Also used : UndoEvent(com.sldeditor.common.undo.UndoEvent) PropertyChangeEvent(java.beans.PropertyChangeEvent) PropertyChangeListener(java.beans.PropertyChangeListener) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) UndoActionInterface(com.sldeditor.common.undo.UndoActionInterface) ActionListener(java.awt.event.ActionListener) FieldPanel(com.sldeditor.ui.widgets.FieldPanel)

Example 30 with UndoEvent

use of com.sldeditor.common.undo.UndoEvent in project sldeditor by robward-scisys.

the class FieldConfigString method populateField.

/**
 * Populate field.
 *
 * @param value the value
 */
@Override
public void populateField(String value) {
    if (textField != null) {
        textField.setText(value);
        if (!suppressUpdateOnSet) {
            UndoManager.getInstance().addUndoEvent(new UndoEvent(this, getFieldId(), oldValueObj, value));
            oldValueObj = value;
            valueUpdated();
        }
    }
}
Also used : UndoEvent(com.sldeditor.common.undo.UndoEvent)

Aggregations

UndoEvent (com.sldeditor.common.undo.UndoEvent)84 Test (org.junit.Test)27 FieldConfigCommonData (com.sldeditor.ui.detail.config.FieldConfigCommonData)20 UndoActionInterface (com.sldeditor.common.undo.UndoActionInterface)16 FieldPanel (com.sldeditor.ui.widgets.FieldPanel)12 ActionEvent (java.awt.event.ActionEvent)11 ActionListener (java.awt.event.ActionListener)11 DefaultMutableTreeNode (javax.swing.tree.DefaultMutableTreeNode)11 TreePath (javax.swing.tree.TreePath)10 Geometry (com.vividsolutions.jts.geom.Geometry)9 ValueComboBoxData (com.sldeditor.ui.widgets.ValueComboBoxData)5 ArrayList (java.util.ArrayList)4 JPanel (javax.swing.JPanel)4 PolygonSymbolizer (org.geotools.styling.PolygonSymbolizer)4 RenderSymbolInterface (com.sldeditor.datasource.RenderSymbolInterface)3 ValueComboBox (com.sldeditor.ui.widgets.ValueComboBox)3 Color (java.awt.Color)3 JButton (javax.swing.JButton)3 JCheckBox (javax.swing.JCheckBox)3 LineSymbolizer (org.geotools.styling.LineSymbolizer)3