Revision 44282 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/DefaultBookmarksPanel.java

View differences:

DefaultBookmarksPanel.java
5 5
import java.awt.event.ActionListener;
6 6
import java.util.Date;
7 7
import javax.swing.DefaultListModel;
8
import javax.swing.ListModel;
9 8
import javax.swing.event.ListSelectionEvent;
10 9
import javax.swing.event.ListSelectionListener;
11 10
import org.apache.commons.lang3.StringUtils;
......
13 12
import org.gvsig.expressionevaluator.Bookmarks;
14 13
import org.gvsig.expressionevaluator.Expression;
15 14
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
16
import org.gvsig.tools.util.LabeledValue;
17 15

  
18 16
/**
19 17
 *
......
24 22
    private static final int STATE_VIEWING = 0;
25 23
    private static final int STATE_MODIFYING = 1;
26 24
    
25
    private static class BookmarkListModel extends DefaultListModel<Bookmark> {
26

  
27
        public void contentsChanged() {
28
            super.fireContentsChanged(this, 0, this.getSize());
29
        }
30
        
31
        
32
    }
33
    
27 34
    private int state;
28 35
    private Bookmark currentBookmark;
29 36
    private int currentIndex;
37
    private BookmarkListModel bookmarkListModel;
30 38
    
31 39
    public DefaultBookmarksPanel() {
32 40
        this(null);
......
52 60
    private void initComponents() {
53 61
        this.currentIndex = -1;
54 62
        this.currentBookmark = null;
55
        this.lstBookmarks.setModel(this.createBookmarksModel());
63
        this.bookmarkListModel = this.createBookmarksModel();
64
        this.lstBookmarks.setModel(this.bookmarkListModel);
56 65
        this.lstBookmarks.addListSelectionListener(new ListSelectionListener() {
57 66
            @Override
58 67
            public void valueChanged(ListSelectionEvent e) {
......
62 71
                if( state != STATE_VIEWING ) {
63 72
                    return;
64 73
                }
65
                LabeledValue<Bookmark> value = (LabeledValue<Bookmark>) lstBookmarks.getSelectedValue();
74
                Bookmark value = (Bookmark) lstBookmarks.getSelectedValue();
66 75
                if( value == null ) {
67 76
                    return;
68 77
                }
69
                put(value.getValue());
78
                put(value);
79
                changeStateTo(state);
70 80
            }
71 81
        });
72 82
        this.btnDelete.addActionListener(new ActionListener() {
......
95 105
        });
96 106
        this.txtLastUse.setEditable(false);
97 107
        this.txtExpression.setEditable(false);
108
        this.changeStateTo(STATE_VIEWING);
98 109
        this.setPreferredSize(new Dimension(450, 350));
99 110
    }
100 111

  
101
    private ListModel<Bookmark> createBookmarksModel() {
112
    private BookmarkListModel createBookmarksModel() {
102 113
        Bookmarks bookmarks = ExpressionEvaluatorLocator.getManager().getBookmarks();
103
        DefaultListModel<Bookmark> model = new DefaultListModel<>();
114
        BookmarkListModel model = new BookmarkListModel();
104 115
        for (Bookmark bookmark : bookmarks) {
105 116
            model.addElement(bookmark);
106 117
        }
......
131 142
        }
132 143
        Bookmarks bookmarks = ExpressionEvaluatorLocator.getManager().getBookmarks();
133 144
        bookmarks.remove(bookmark.getName());
134
        this.lstBookmarks.setModel(this.createBookmarksModel());
145
        this.bookmarkListModel = this.createBookmarksModel();
146
        this.lstBookmarks.setModel(this.bookmarkListModel);
135 147
        this.changeStateTo(STATE_VIEWING);
136 148
    }
137 149
    
......
150 162
            return;
151 163
        }
152 164
        this.fetch(bookmark);
165
        this.bookmarkListModel.contentsChanged();
153 166
        this.changeStateTo(STATE_VIEWING);
154 167
    }
155 168
    
......
173 186
                this.txtLastUse.setEnabled(false);
174 187
                this.txtExpression.setEnabled(false);
175 188
                break;
176
            case STATE_MODIFYING:
189
             case STATE_MODIFYING:
177 190
                this.btnAccept.setEnabled(true);
178 191
                this.btnDelete.setEnabled(true);
179 192
                this.btnDiscard.setEnabled(true);

Also available in: Unified diff