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

View differences:

DefaultBookmarksController.java
16 16
import org.gvsig.tools.bookmarksandhistory.Bookmarks;
17 17
import org.gvsig.tools.i18n.I18nManager;
18 18
import org.gvsig.tools.swing.api.ToolsSwingLocator;
19
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
20
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
19 21
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
20 22
import org.gvsig.tools.swing.api.windowmanager.Dialog;
21 23
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
......
23 25
import org.gvsig.tools.swing.icontheme.IconTheme;
24 26
import org.gvsig.tools.swing.icontheme.IconThemeManager;
25 27
import org.gvsig.tools.swing.impl.DefaultActionListenerSupport;
26
import org.gvsig.tools.swing.impl.bookmarkshistory.DefaultBookmarksPanel;
27 28
import org.gvsig.tools.swing.impl.pickercontroller.DatePickerControllerImpl;
28 29

  
29 30
/**
......
94 95
    }
95 96

  
96 97
    public JMenu createMenu() {
97
        boolean separator = true;
98
        boolean needSeparator = false;
98 99
        I18nManager i18n = ToolsLocator.getI18nManager();
99 100
        JMenu menu = new JMenu(i18n.getTranslation("_Bookmarks"));
100 101
        if (this.allowAddBookmarks == true) {
......
102 103
            addToBookmarks.addActionListener(new ActionListener() {
103 104
                @Override
104 105
                public void actionPerformed(ActionEvent e) {
105
                    BookmarkEventImpl event = new BookmarkEventImpl(DefaultBookmarksController.this, ID_GETVALUE, "update-current-value");
106
                    BookmarkEventImpl<T> event = new BookmarkEventImpl<>(DefaultBookmarksController.this, ID_GETVALUE, "update-current-value");
106 107
                    DefaultBookmarksController.this.fireActionEvent(event);
107

  
108 108
                    doShowBookmarksDialog(event.getCurrentValue());
109 109
                }
110 110
            });
111 111
            menu.add(addToBookmarks);
112
            separator = false;
112
            needSeparator = true;
113 113
        }
114
//        List<Bookmark<T>> filteredBookmarks = bookmarks.filter(this.filter);
115

  
116 114
        if (!bookmarks.isEmpty()) {
117
            if (!separator) {
115
            if (needSeparator) {
118 116
                menu.addSeparator();
119
                separator = true;
117
                needSeparator = false;
120 118
            }
121 119
            for (Bookmark<T> bookmark : bookmarks) {
122
                boolean validService;
123
                if (this.filter == null) {
124
                    validService = true;
125
                } else {
126
                    validService = this.filter.test(bookmark);
120
                JMenuItem item = createBookmarkMenuItem(bookmark);
121
                if (this.filter != null && !filter.test(bookmark)) {
122
                    item.setEnabled(false);
127 123
                }
128
                JMenuItem disabledBookmark = createBookmarkMenuItem(bookmark);
129
                disabledBookmark.setEnabled(validService);
130
                menu.add(disabledBookmark);
131
                separator = false;
132

  
124
                menu.add(item);
125
                needSeparator = true;
133 126
            }
134 127
        }
135
        if (!separator) {
128
        if (needSeparator) {
136 129
            menu.addSeparator();
137
            separator = true;
130
            needSeparator = true;
138 131
        }
139 132

  
140 133
        JMenuItem showAllBookmarks = new JMenuItem(i18n.getTranslation("_Show_all_bookmarks"));
......
145 138
            }
146 139
        });
147 140
        menu.add(showAllBookmarks);
148

  
141
        needSeparator = true;
149 142
        return menu;
150 143
    }
151 144

  
......
162 155
        return item;
163 156
    }
164 157

  
165
    private void doShowBookmarksDialog(Object value) {
158
    private void doShowBookmarksDialog(T value) {
166 159
        WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
167 160
        final DefaultBookmarksPanel panel = new DefaultBookmarksPanel(bookmarks, value);
168 161
        final Dialog dialog = winManager.createDialog(
......
180 173
                Bookmark<T> bookmark = panel.getSelectedValue();
181 174
                if (bookmark != null) {
182 175
                    BookmarkEventImpl<T> event;
183
                    event = new BookmarkEventImpl<T>(DefaultBookmarksController.this, ID_SETVALUE, "set-value");
176
                    event = new BookmarkEventImpl<>(DefaultBookmarksController.this, ID_SETVALUE, "set-value");
184 177
                    event.setCurrentValue(bookmark.getValue());
185 178
                    fireActionEvent(event);
186
//                    updateValue((T) bookmark.getValue());
187 179
                }
188 180
            }
189 181
        });

Also available in: Unified diff