Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extRemoteSensing / src / org / gvsig / remotesensing / decisiontrees / gui / listener / ExpressionEditorPanelListener.java @ 20393

History | View | Annotate | Download (2.2 KB)

1
package org.gvsig.remotesensing.decisiontrees.gui.listener;
2

    
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import java.util.ArrayList;
6

    
7
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
8
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent;
9
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener;
10
import org.gvsig.raster.util.RasterToolsUtil;
11
import org.gvsig.remotesensing.decisiontrees.gui.ExpressionEditorPanel;
12

    
13
import com.iver.andami.PluginServices;
14

    
15
/**
16
 * Listener del panel de edici?n de nodos.
17
 * 
18
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es)
19
 *
20
 */
21
public class ExpressionEditorPanelListener implements ButtonsPanelListener, ActionListener{
22

    
23
        private ExpressionEditorPanel expressionEditorPanel = null;
24

    
25
        public ExpressionEditorPanelListener(ExpressionEditorPanel expressionEditorPanel) {
26
                this.expressionEditorPanel  = expressionEditorPanel;
27
        }
28

    
29
        public void actionButtonPressed(ButtonsPanelEvent e) {
30
                
31
                if (e.getButton() == ButtonsPanel.BUTTON_CANCEL) {
32
                        close();
33
                }
34

    
35
                if (e.getButton() == ButtonsPanel.BUTTON_ACCEPT) {
36
                        String oldExpression = expressionEditorPanel.getDecisionTreenode().getExpression();
37
                        expressionEditorPanel.getDecisionTreenode().setExpression(expressionEditorPanel.getCalculatorPanel().getJTextExpression().getText());
38
                        if (!expressionEditorPanel.getDecisionTreenode().getParser().hasError()){
39
                                expressionEditorPanel.getCalculatorPanel().updatePersistentVarTable();
40
                                ArrayList layersList = new ArrayList(expressionEditorPanel.getDecisionTreePanel().getDecisionTree().getVariablesTable().values());
41
                                expressionEditorPanel.getDecisionTreePanel().getOutputOptionsPanel().setLayersList(layersList);
42
                                close();
43
                        }else{
44
                                RasterToolsUtil.messageBoxError(PluginServices.getText(this, "bad_expresion"), this);
45
                                expressionEditorPanel.getDecisionTreenode().setExpression(oldExpression);
46
                        }
47
                }
48
                
49
        }
50

    
51
        private void close() {
52
                try {
53
                        PluginServices.getMDIManager().closeWindow(expressionEditorPanel.getExpressionEditorDialog());
54
                } catch (ArrayIndexOutOfBoundsException e) {
55
                        //Si la ventana no se puede eliminar no hacemos nada
56
                }
57
        }
58
        
59

    
60
        public void actionPerformed(ActionEvent e) {
61
                // TODO Auto-generated method stub
62
                
63
        }
64

    
65
}