Lines 30-37
Link Here
|
30 |
package org.netbeans.feedreader; |
30 |
package org.netbeans.feedreader; |
31 |
|
31 |
|
32 |
import java.awt.BorderLayout; |
32 |
import java.awt.BorderLayout; |
33 |
import java.io.Serializable; |
|
|
34 |
import javax.swing.ActionMap; |
33 |
import javax.swing.ActionMap; |
|
|
34 |
import org.netbeans.api.settings.ConvertAsProperties; |
35 |
import org.openide.awt.ActionID; |
36 |
import org.openide.awt.ActionReference; |
35 |
import org.openide.explorer.ExplorerManager; |
37 |
import org.openide.explorer.ExplorerManager; |
36 |
import org.openide.explorer.ExplorerUtils; |
38 |
import org.openide.explorer.ExplorerUtils; |
37 |
import org.openide.explorer.view.BeanTreeView; |
39 |
import org.openide.explorer.view.BeanTreeView; |
Lines 41-53
Link Here
|
41 |
import org.openide.util.NbBundle; |
43 |
import org.openide.util.NbBundle; |
42 |
import org.openide.windows.TopComponent; |
44 |
import org.openide.windows.TopComponent; |
43 |
|
45 |
|
44 |
final class FeedTopComponent extends TopComponent implements ExplorerManager.Provider { |
46 |
@ConvertAsProperties(dtd = "-//org.netbeans.feedreader//FeedTopComponent//EN", autostore = false) |
|
|
47 |
@TopComponent.Description(preferredID = "FeedTopComponent", iconBase="org/netbeans/feedreader/rss16.gif", |
48 |
persistenceType = TopComponent.PERSISTENCE_ALWAYS) |
49 |
@TopComponent.Registration(mode = "explorer", openAtStartup = true) |
50 |
@ActionID(category = "Window", id = "org.netbeans.feedreader.FeedTopComponent") |
51 |
@ActionReference(path = "Menu/Window", position=10) |
52 |
@TopComponent.OpenActionRegistration(displayName = "#CTL_FeedAction", preferredID = "FeedTopComponent") |
53 |
public final class FeedTopComponent extends TopComponent implements ExplorerManager.Provider { |
45 |
|
54 |
|
46 |
private static FeedTopComponent instance; |
55 |
private static FeedTopComponent instance; |
47 |
|
|
|
48 |
private final ExplorerManager manager = new ExplorerManager(); |
56 |
private final ExplorerManager manager = new ExplorerManager(); |
49 |
private final BeanTreeView view = new BeanTreeView(); |
57 |
private final BeanTreeView view = new BeanTreeView(); |
50 |
|
58 |
|
51 |
private FeedTopComponent() { |
59 |
private FeedTopComponent() { |
52 |
setName(NbBundle.getMessage(FeedTopComponent.class, "CTL_FeedTopComponent")); |
60 |
setName(NbBundle.getMessage(FeedTopComponent.class, "CTL_FeedTopComponent")); |
53 |
setToolTipText(NbBundle.getMessage(FeedTopComponent.class, "HINT_FeedTopComponent")); |
61 |
setToolTipText(NbBundle.getMessage(FeedTopComponent.class, "HINT_FeedTopComponent")); |
Lines 64-104
Link Here
|
64 |
map.put("delete", ExplorerUtils.actionDelete(manager, true)); |
72 |
map.put("delete", ExplorerUtils.actionDelete(manager, true)); |
65 |
associateLookup(ExplorerUtils.createLookup(manager, map)); |
73 |
associateLookup(ExplorerUtils.createLookup(manager, map)); |
66 |
} |
74 |
} |
67 |
|
75 |
|
68 |
public static synchronized FeedTopComponent getDefault() { |
76 |
void writeProperties(java.util.Properties p) { |
69 |
if (instance == null) { |
77 |
// better to version settings since initial version as advocated at |
70 |
instance = new FeedTopComponent(); |
78 |
// http://wiki.apidesign.org/wiki/PropertyFiles |
71 |
} |
79 |
p.setProperty("version", "1.0"); |
72 |
return instance; |
80 |
// TODO store your settings |
73 |
} |
81 |
} |
74 |
|
82 |
|
75 |
@Override |
83 |
void readProperties(java.util.Properties p) { |
76 |
public int getPersistenceType() { |
84 |
String version = p.getProperty("version"); |
77 |
return TopComponent.PERSISTENCE_ALWAYS; |
85 |
// TODO read your settings according to their version |
78 |
} |
86 |
} |
79 |
|
87 |
|
80 |
@Override |
|
|
81 |
protected String preferredID() { |
82 |
return "FeedTopComponent"; |
83 |
} |
84 |
|
85 |
@Override |
86 |
protected Object writeReplace() { |
87 |
return new ResolvableHelper(); |
88 |
} |
89 |
|
90 |
private static final class ResolvableHelper implements Serializable { |
91 |
|
92 |
private static final long serialVersionUID = 1L; |
93 |
|
94 |
public Object readResolve() { |
95 |
return FeedTopComponent.getDefault(); |
96 |
} |
97 |
|
98 |
} |
99 |
|
100 |
public ExplorerManager getExplorerManager() { |
88 |
public ExplorerManager getExplorerManager() { |
101 |
return manager; |
89 |
return manager; |
102 |
} |
90 |
} |
103 |
|
91 |
|
104 |
} |
92 |
} |