diff --git a/apisupport.feedreader/feedreader-suite/FeedReader/nbproject/project.xml b/apisupport.feedreader/feedreader-suite/FeedReader/nbproject/project.xml --- a/apisupport.feedreader/feedreader-suite/FeedReader/nbproject/project.xml +++ b/apisupport.feedreader/feedreader-suite/FeedReader/nbproject/project.xml @@ -23,6 +23,15 @@ + org.netbeans.modules.settings + + + + 1 + 1.29 + + + org.openide.actions diff --git a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponent.java b/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponent.java --- a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponent.java +++ b/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponent.java @@ -30,8 +30,10 @@ package org.netbeans.feedreader; import java.awt.BorderLayout; -import java.io.Serializable; import javax.swing.ActionMap; +import org.netbeans.api.settings.ConvertAsProperties; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; import org.openide.explorer.ExplorerManager; import org.openide.explorer.ExplorerUtils; import org.openide.explorer.view.BeanTreeView; @@ -41,13 +43,19 @@ import org.openide.util.NbBundle; import org.openide.windows.TopComponent; -final class FeedTopComponent extends TopComponent implements ExplorerManager.Provider { +@ConvertAsProperties(dtd = "-//org.netbeans.feedreader//FeedTopComponent//EN", autostore = false) +@TopComponent.Description(preferredID = "FeedTopComponent", iconBase="org/netbeans/feedreader/rss16.gif", +persistenceType = TopComponent.PERSISTENCE_ALWAYS) +@TopComponent.Registration(mode = "explorer", openAtStartup = true) +@ActionID(category = "Window", id = "org.netbeans.feedreader.FeedTopComponent") +@ActionReference(path = "Menu/Window", position=10) +@TopComponent.OpenActionRegistration(displayName = "#CTL_FeedAction", preferredID = "FeedTopComponent") +public final class FeedTopComponent extends TopComponent implements ExplorerManager.Provider { private static FeedTopComponent instance; - private final ExplorerManager manager = new ExplorerManager(); private final BeanTreeView view = new BeanTreeView(); - + private FeedTopComponent() { setName(NbBundle.getMessage(FeedTopComponent.class, "CTL_FeedTopComponent")); setToolTipText(NbBundle.getMessage(FeedTopComponent.class, "HINT_FeedTopComponent")); @@ -64,41 +72,21 @@ map.put("delete", ExplorerUtils.actionDelete(manager, true)); associateLookup(ExplorerUtils.createLookup(manager, map)); } - - public static synchronized FeedTopComponent getDefault() { - if (instance == null) { - instance = new FeedTopComponent(); - } - return instance; + + void writeProperties(java.util.Properties p) { + // better to version settings since initial version as advocated at + // http://wiki.apidesign.org/wiki/PropertyFiles + p.setProperty("version", "1.0"); + // TODO store your settings } - - @Override - public int getPersistenceType() { - return TopComponent.PERSISTENCE_ALWAYS; + + void readProperties(java.util.Properties p) { + String version = p.getProperty("version"); + // TODO read your settings according to their version } - - @Override - protected String preferredID() { - return "FeedTopComponent"; - } - - @Override - protected Object writeReplace() { - return new ResolvableHelper(); - } - - private static final class ResolvableHelper implements Serializable { - - private static final long serialVersionUID = 1L; - - public Object readResolve() { - return FeedTopComponent.getDefault(); - } - - } - + public ExplorerManager getExplorerManager() { return manager; } - + } diff --git a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponentSettings.xml b/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponentSettings.xml deleted file mode 100644 --- a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponentSettings.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - diff --git a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponentWstcref.xml b/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponentWstcref.xml deleted file mode 100644 --- a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/FeedTopComponentWstcref.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - diff --git a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/layer.xml b/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/layer.xml --- a/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/layer.xml +++ b/apisupport.feedreader/feedreader-suite/FeedReader/src/org/netbeans/feedreader/layer.xml @@ -30,16 +30,6 @@ THE POSSIBILITY OF SUCH DAMAGE. --> - - - - - - - - - - @@ -50,13 +40,6 @@ - - - - - - - @@ -67,14 +50,4 @@ - - - - - - - - - - diff --git a/apisupport.feedreader/feedreader-suite/nbproject/build-impl.xml b/apisupport.feedreader/feedreader-suite/nbproject/build-impl.xml --- a/apisupport.feedreader/feedreader-suite/nbproject/build-impl.xml +++ b/apisupport.feedreader/feedreader-suite/nbproject/build-impl.xml @@ -38,5 +38,12 @@ + + + + + + + diff --git a/apisupport.feedreader/feedreader-suite/nbproject/genfiles.properties b/apisupport.feedreader/feedreader-suite/nbproject/genfiles.properties --- a/apisupport.feedreader/feedreader-suite/nbproject/genfiles.properties +++ b/apisupport.feedreader/feedreader-suite/nbproject/genfiles.properties @@ -1,8 +1,8 @@ build.xml.data.CRC32=a89c5057 build.xml.script.CRC32=9a0e0f71 -build.xml.stylesheet.CRC32=531c622b@1.30.0.7 +build.xml.stylesheet.CRC32=eaf9f76a@1.44 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=a89c5057 -nbproject/build-impl.xml.script.CRC32=7f46473b -nbproject/build-impl.xml.stylesheet.CRC32=2f5f2db8@1.30.0.7 +nbproject/build-impl.xml.script.CRC32=6245c318 +nbproject/build-impl.xml.stylesheet.CRC32=183e6ef3@1.44