Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.swing / org.gvsig.expressionevaluator.swing.impl / src / main / java / org / gvsig / expressionevaluator / swing / impl / DefaultHistoryPanel.java @ 44263

History | View | Annotate | Download (2.01 KB)

1
package org.gvsig.expressionevaluator.swing.impl;
2

    
3
import java.awt.Dimension;
4
import javax.swing.DefaultListModel;
5
import javax.swing.event.ListSelectionEvent;
6
import javax.swing.event.ListSelectionListener;
7
import org.apache.commons.lang3.StringUtils;
8
import org.gvsig.expressionevaluator.Expression;
9
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
10
import org.gvsig.expressionevaluator.History;
11
import org.gvsig.tools.util.LabeledValue;
12
import org.gvsig.tools.util.LabeledValueImpl;
13

    
14
/**
15
 *
16
 * @author jjdelcerro
17
 */
18
public class DefaultHistoryPanel 
19
        extends DefaultHistoryPanelView 
20
    {
21

    
22
    private Expression currentExpression;
23
    
24
    public DefaultHistoryPanel() {
25
        this.initComponents();
26
    }
27

    
28
    private void initComponents() {
29
        History history = ExpressionEvaluatorLocator.getManager().getHistory();
30
        DefaultListModel<LabeledValue<Expression>> model = new DefaultListModel<>();
31
        for (Expression expression : history) {
32
            model.addElement(new LabeledValueImpl<>(
33
                    StringUtils.abbreviate(expression.getPhrase(), 45),
34
                    expression
35
                )
36
            );
37
        }
38
        this.currentExpression = null;
39
        this.lstHistory.setModel(model);
40
        this.lstHistory.addListSelectionListener(new ListSelectionListener() {
41
            @Override
42
            public void valueChanged(ListSelectionEvent e) {
43
                if( e.getValueIsAdjusting()) {
44
                    return;
45
                }
46
                LabeledValue<Expression> value = (LabeledValue<Expression>) lstHistory.getSelectedValue();
47
                if( value == null ) {
48
                    return;
49
                }
50
                currentExpression = value.getValue();
51
                txtFormula.setText(currentExpression.getPhrase());
52
                txtFormula.setCaretPosition(0);
53
            }
54
        });
55
        this.setPreferredSize(new Dimension(400, 300));
56
    }
57
    
58
    public Expression getExpression() {
59
        return this.currentExpression;
60
    }
61
}