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