Revision 2773
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/bookmarkshistory/DefaultBookmarksPanel.java | ||
---|---|---|
1 | 1 |
package org.gvsig.tools.swing.impl.bookmarkshistory; |
2 | 2 |
|
3 |
import java.awt.Dimension; |
|
4 | 3 |
import java.awt.event.ActionEvent; |
5 | 4 |
import java.awt.event.ActionListener; |
6 |
import java.util.ArrayList; |
|
7 |
import java.util.Collections; |
|
8 |
import java.util.List; |
|
9 | 5 |
import javax.swing.DefaultListModel; |
10 | 6 |
import javax.swing.JOptionPane; |
11 | 7 |
import javax.swing.event.ListSelectionEvent; |
... | ... | |
13 | 9 |
import org.apache.commons.lang3.StringUtils; |
14 | 10 |
import org.gvsig.tools.bookmarksandhistory.Bookmark; |
15 | 11 |
import org.gvsig.tools.bookmarksandhistory.Bookmarks; |
12 |
import org.gvsig.tools.swing.api.ActionListenerSupport; |
|
16 | 13 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
17 | 14 |
import org.gvsig.tools.swing.api.ToolsSwingManager; |
18 | 15 |
import org.gvsig.tools.swing.api.ToolsSwingUtils; |
19 |
import org.gvsig.tools.util.CompareUtils; |
|
16 |
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETNAME; |
|
17 |
import org.slf4j.Logger; |
|
18 |
import org.slf4j.LoggerFactory; |
|
20 | 19 |
|
21 | 20 |
public class DefaultBookmarksPanel<T> extends DefaultBookmarksPanelView { |
22 | 21 |
|
22 |
public static final Logger LOGGER = LoggerFactory.getLogger(DefaultBookmarksPanel.class); |
|
23 |
|
|
23 | 24 |
public static final int STATE_VIEWING = 0; |
24 | 25 |
public static final int STATE_MODIFYING = 1; |
25 | 26 |
private Bookmarks<T> bookmarks; |
27 |
private final ActionListenerSupport listenerHelper; |
|
26 | 28 |
|
27 | 29 |
private static class BookmarkListModel extends DefaultListModel<Bookmark> { |
28 | 30 |
|
... | ... | |
47 | 49 |
private BookmarkListModel bookmarkListModel; |
48 | 50 |
|
49 | 51 |
public DefaultBookmarksPanel(Bookmarks<T> bookmarks) { |
50 |
this(bookmarks, null); |
|
52 |
this(bookmarks, null, null);
|
|
51 | 53 |
} |
52 | 54 |
|
53 | 55 |
public DefaultBookmarksPanel(Bookmarks<T> bookmarks, T value) { |
56 |
this(bookmarks, value, null); |
|
57 |
} |
|
58 |
|
|
59 |
public DefaultBookmarksPanel(Bookmarks<T> bookmarks, T value, ActionListenerSupport listenerHelper) { |
|
54 | 60 |
this.bookmarks = bookmarks; |
61 |
this.listenerHelper = listenerHelper; |
|
55 | 62 |
this.state = STATE_VIEWING; |
56 | 63 |
if (value != null) { |
57 | 64 |
Bookmark<T> bookmark = bookmarks.add(value); |
... | ... | |
189 | 196 |
} |
190 | 197 |
|
191 | 198 |
private void fetch(Bookmark<T> bookmark) { |
192 |
bookmark.setName(this.txtName.getText()); |
|
199 |
String name = StringUtils.strip(this.txtName.getText()); |
|
200 |
bookmark.setName(name); |
|
201 |
if (this.listenerHelper != null) { |
|
202 |
try { |
|
203 |
DefaultBookmarksController.BookmarkEventImpl<T> event; |
|
204 |
event = new DefaultBookmarksController.BookmarkEventImpl<>(this.listenerHelper, ID_SETNAME, "set-name"); |
|
205 |
event.setCurrentBookmark(bookmark); |
|
206 |
event.setCurrentValue(bookmark.getValue()); |
|
207 |
this.listenerHelper.fireActionEvent(event); |
|
208 |
this.txtLabel.setText(bookmark.getValue().toString()); |
|
209 |
this.txtLabel.setCaretPosition(0); |
|
210 |
} catch (Exception ex) { |
|
211 |
LOGGER.warn("Can't fetch bookmark "+name, ex); |
|
212 |
} |
|
213 |
} |
|
193 | 214 |
} |
194 | 215 |
|
195 | 216 |
private void doDelete() { |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/bookmarkshistory/DefaultBookmarksController.java | ||
---|---|---|
6 | 6 |
import java.awt.event.ActionListener; |
7 | 7 |
import java.net.URL; |
8 | 8 |
import java.util.function.Predicate; |
9 |
import static javax.management.Query.value; |
|
10 | 9 |
import javax.swing.ImageIcon; |
11 | 10 |
import javax.swing.JButton; |
12 | 11 |
import javax.swing.JMenu; |
... | ... | |
38 | 37 |
extends DefaultActionListenerSupport |
39 | 38 |
implements BookmarksController<T> { |
40 | 39 |
|
41 |
public class BookmarkEventImpl<T> extends ActionEvent implements BookmarkEvent<T> { |
|
40 |
public static class BookmarkEventImpl<T> extends ActionEvent implements BookmarkEvent<T> {
|
|
42 | 41 |
|
43 | 42 |
private T currentValue; |
44 | 43 |
private Bookmark<T> currentBookmark; |
... | ... | |
62 | 61 |
return this.currentBookmark; |
63 | 62 |
} |
64 | 63 |
|
65 |
private void setCurrentBookmark(Bookmark<T> bookmark) {
|
|
64 |
public void setCurrentBookmark(Bookmark<T> bookmark) {
|
|
66 | 65 |
this.currentBookmark = bookmark; |
67 | 66 |
} |
68 | 67 |
|
... | ... | |
184 | 183 |
|
185 | 184 |
private void doShowBookmarksDialog(T value) { |
186 | 185 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
187 |
final DefaultBookmarksPanel panel = new DefaultBookmarksPanel(bookmarks, value); |
|
186 |
final DefaultBookmarksPanel panel = new DefaultBookmarksPanel(bookmarks, value, this);
|
|
188 | 187 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
189 | 188 |
final Dialog dialog = winManager.createDialog( |
190 | 189 |
panel, |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.api/src/main/java/org/gvsig/tools/swing/api/bookmarkshistory/ActionEventWithCurrentValue.java | ||
---|---|---|
10 | 10 |
|
11 | 11 |
public static final int ID_SETVALUE = ActionEvent.ACTION_FIRST; |
12 | 12 |
public static final int ID_GETVALUE = ActionEvent.ACTION_FIRST + 1; |
13 |
public static final int ID_SETNAME = ActionEvent.ACTION_FIRST + 2; |
|
13 | 14 |
|
14 | 15 |
public int getID(); |
15 | 16 |
|
Also available in: Unified diff