Revision 2773

View differences:

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