Revision 44390 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/DefaultExpressionPickerController.java

View differences:

DefaultExpressionPickerController.java
31 31
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
32 32
import org.gvsig.tools.i18n.I18nManager;
33 33
import org.gvsig.tools.swing.api.ToolsSwingManager;
34
import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
35
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
36
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
37
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
38
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController.BookmarkEvent;
39
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
40
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController.HistoryEvent;
34 41
import org.gvsig.tools.swing.api.windowmanager.Dialog;
35 42
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
36 43
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
......
63 70
    private final JMenuItem menuItem;
64 71
    private final AbstractAutomaticExpressionChecker automaticExpressionChecker;
65 72
    private boolean returnNullWhenEmptyExpression;
66
    private final HistoryController historyController;
67
    private final BookmarksController bookmarksController;
73
    private final HistoryController<Expression> historyController;
74
    private final BookmarksController<Expression> bookmarksController;
68 75
    
69 76
    public DefaultExpressionPickerController(ExpressionEvaluatorSwingManager manager, 
70 77
            JTextComponent text, 
......
97 104
        this.menuItem.addActionListener(buttonAction);
98 105
        popupMenu.add(this.menuItem);
99 106
        
100
        this.historyController = new HistoryController(btnHistory) {
107
        ActionListener historyAndBookmarkListener = new ActionListener() {
101 108
            @Override
102
            public void updateExpression(Expression expression) {
103
                set(expression);
109
            public void actionPerformed(ActionEvent e) {
110
                ActionEventWithCurrentValue<Expression> ee = (ActionEventWithCurrentValue<Expression>)e;
111
                switch(ee.getID()) {
112
                    case ID_SETVALUE:
113
                        set(ee.getCurrentValue());
114
                        break;
115
                    case ID_GETVALUE:
116
                        ee.setCurrentValue(get());
117
                        break;
118
                }
104 119
            }
105 120
        };
121
        this.historyController = swingManager.createHistoryController(
122
                ExpressionEvaluatorLocator.getManager().getHistory(), 
123
                btnHistory
124
        );
125
        this.historyController.addActionListener(historyAndBookmarkListener);
106 126
        popupMenu.add(this.historyController.createMenu());
107

  
108
        this.bookmarksController = new BookmarksController(btnBookmarks) {
109
            @Override
110
            public void updateExpression(Expression expression) {
111
                set(expression);
112
            }
113

  
114
            @Override
115
            public Expression getExpressionWithOutHistory() {
116
                return get();
117
            }
118
        };
127
        
128
        this.bookmarksController = swingManager.createBookmarksController(
129
                ExpressionEvaluatorLocator.getManager().getBookmarks(), 
130
                btnBookmarks
131
        );
132
        this.bookmarksController.addActionListener(historyAndBookmarkListener);        
119 133
        popupMenu.add(this.bookmarksController.createMenu());
120 134

  
121 135
        this.automaticExpressionChecker = new AbstractAutomaticExpressionChecker(config, text) {

Also available in: Unified diff