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