|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.javadoc.comments; import java.io.*; import java.awt.BorderLayout; import java.lang.ref.Reference; import java.lang.ref.SoftReference; import org.openide.windows.TopComponent; import org.openide.util.HelpCtx; import org.openide.nodes.Node; /** Just a top component which contains AutoCommentPanel * @author phrebejk * @version */ public final class AutoCommentTopComponent extends TopComponent implements Externalizable { static final String AUTO_COMMENT_HELP_CTX_KEY = "javadoc.auto.comment"; //NOI18N /** The only AutoCommentTopComponent allowed in the system */ private static Reference acTopComponent; /** The panel contained by acTopComponent */ private transient AutoCommentPanel acPanel; static final long serialVersionUID =3696398508351593122L; /** Creates new AutoCommentTopComponent */ private AutoCommentTopComponent() { // Force winsys to not show tab when this comp is alone putClientProperty("TabPolicy", "HideWhenAlone"); // NOI18N setLayout( new BorderLayout() ); add( acPanel = new AutoCommentPanel(), BorderLayout.CENTER ); } void setAutoCommenter( AutoCommenter aCommenter ) { acPanel.setAutoCommenter( aCommenter ); // Nodes[] nodes = aCommenter.getNodes(); Node[] nodes = aCommenter.nodes; String className = null; if (nodes.length > 1 ) { className = ResourceUtils.getBundledString ("CTL_AUTOCOMMENT_MultipleSources"); //NOI18N } else if (nodes.length == 1) { className = nodes[0].getDisplayName(); } else { className = ""; //NOI18N } setName( ResourceUtils.getBundledString ("CTL_AUTOCOMMENT_WindowTitle") + " - " + className); //NOI18N } protected void componentActivated() { super.componentActivated(); acPanel.activate(); } protected void componentDeactivated() { super.componentDeactivated(); acPanel.deactivate(); } protected void componentClosed() { acPanel.setAutoCommenter(null); super.componentClosed(); } public int getPersistenceType() { return TopComponent.PERSISTENCE_NEVER; } protected String preferredID() { return "AutoCommentTopComponent"; // NOI18N } public static AutoCommentTopComponent getDefault() { AutoCommentTopComponent actp; if (acTopComponent == null || (actp = (AutoCommentTopComponent) acTopComponent.get()) == null) { actp = new AutoCommentTopComponent(); actp.getAccessibleContext().setAccessibleName(ResourceUtils.getBundledString("ACS_AutoCommentPanelA11yName")); // NOI18N actp.getAccessibleContext().setAccessibleDescription(ResourceUtils.getBundledString("ACS_AutoCommentPanelA11yDesc")); // NOI18N actp.setName(ResourceUtils.getBundledString ("CTL_AUTOCOMMENT_WindowTitle") ); //NOI18N acTopComponent = new SoftReference(actp); } else { actp = (AutoCommentTopComponent) acTopComponent.get(); } return actp; } public HelpCtx getHelpCtx () { return new HelpCtx (AUTO_COMMENT_HELP_CTX_KEY); } // Implementation of Externalizable ----------------------------------------- /** Writes a resolvable */ protected Object writeReplace() { return new Resolvable(); } static class Resolvable implements java.io.Serializable { static final long serialVersionUID =8143238035030034549L; private Object readResolve() { AutoCommentTopComponent actp = getDefault(); actp.setAutoCommenter( new AutoCommenter()); return actp; } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.