01: package com.xoetrope.carousel.technote;
02:
03: import java.awt.BorderLayout;
04: import java.awt.Component;
05:
06: import org.openide.text.CloneableEditorSupport;
07: import org.openide.util.NbBundle;
08: import org.openide.windows.CloneableTopComponent;
09: import org.openide.windows.Mode;
10: import org.openide.windows.WindowManager;
11: import com.xoetrope.carousel.langed.LangEdDesktop;
12: import net.xoetrope.xui.XProject;
13: import net.xoetrope.xui.XProjectManager;
14: import net.xoetrope.editor.project.XEditorProject;
15:
16: /**
17: * A TopComponent for hosting the TechNote tool
18: * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
19: * the GNU Public License (GPL), please see license.txt for more details. If
20: * you make commercial use of this software you must purchase a commercial
21: * license from Xoetrope.</p>
22: * <p> $Revision: 1.4 $</p>
23: */
24: public class TechNoteTopComponent extends CloneableTopComponent {
25: private XEditorProject currentProject;
26:
27: /** Creates a new instance of TechNoteTopComponent */
28: public TechNoteTopComponent() {
29: currentProject = (XEditorProject) XProjectManager
30: .getCurrentProject();
31: currentProject.setObject("TechNoteTopComponent", this );
32: //initComponents();
33:
34: setName("TechNote (" + currentProject.getProjectTitle() + ")");
35: currentProject.setObject("TechNote", this );
36: }
37:
38: public static TechNoteTopComponent getInstance() {
39: XEditorProject currentProject = (XEditorProject) XProjectManager
40: .getCurrentProject();
41: if (currentProject instanceof XEditorProject) {
42: Object obj = currentProject.getObject("TechNote");
43: if ((obj == null) || !((Component) obj).isValid()) {
44: TechNoteTopComponent tntc = (TechNoteTopComponent) obj;
45: tntc.open();
46: tntc.requestVisible();
47: tntc.requestActive();
48: return tntc;
49: } else
50: return (TechNoteTopComponent) obj;
51: }
52: return null;
53: }
54:
55: public int getPersistenceType() {
56: return PERSISTENCE_NEVER;
57: }
58:
59: public String preferredID() {
60: return "XuiProTechNote";
61: }
62:
63: public void open() {
64: Mode mode = WindowManager.getDefault().findMode(
65: CloneableEditorSupport.EDITOR_MODE);
66: if (mode != null)
67: mode.dockInto(this );
68: super .open();
69: }
70:
71: protected boolean closeLast() {
72: // You might want to prompt the user first and maybe return false:
73: return true;
74: }
75: }
|