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 |
} |