|
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-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.form; import org.openide.*; import org.openide.loaders.*; import org.openide.filesystems.*; import org.openide.nodes.Node; import org.openide.cookies.*; import org.netbeans.modules.java.JavaDataObject; import org.netbeans.modules.java.JavaEditor; import org.netbeans.modules.form.*; /** The DataObject for forms. * * @author Ian Formanek, Petr Hamernik */ public class FormDataObject extends JavaDataObject { /** generated Serialized Version UID */ // static final long serialVersionUID = 7952143476761137063L; //-------------------------------------------------------------------- // Private variables // /** If true, a postInit method is called after reparsing - used after createFromTemplate */ // transient private boolean templateInit; // /** If true, the form is marked as modified after regeneration - used if created from template */ // transient private boolean modifiedInit; // /** A flag to prevent multiple registration of ComponentRefListener */ // transient private boolean componentRefRegistered; transient private FormEditorSupport formEditor; transient private OpenEdit openEdit; /** The entry for the .form file */ FileEntry formEntry; //-------------------------------------------------------------------- // Constructors static final long serialVersionUID =-975322003627854168L; public FormDataObject(FileObject ffo, FileObject jfo, FormDataLoader loader) throws DataObjectExistsException { super(jfo, loader); formEntry = (FileEntry)registerEntry(ffo); init(); } /** Initalizes the FormDataObject after deserialization */ private void init() { getCookieSet().add(new Class[] { OpenCookie.class, EditCookie.class}, this); } //-------------------------------------------------------------------- // Other methods // CookieSet.Factory implementation public Node.Cookie createCookie(Class klass) { if (OpenCookie.class.equals(klass) || EditCookie.class.equals(klass)) { if (openEdit == null) openEdit = new OpenEdit(); return openEdit; } return super.createCookie(klass); } private class OpenEdit implements OpenCookie, EditCookie { public void open() { // open form editor with form designer selected getFormEditor().openFormEditor(); } public void edit() { // open form editor with java editor selected (form not loaded) getFormEditor().open(); } } public FileObject getFormFile() { return formEntry.getFile(); } public boolean isReadOnly() { FileObject javaFO = getPrimaryFile(); FileObject formFO = formEntry.getFile(); return !javaFO.canWrite() || !formFO.canWrite(); } public boolean formFileReadOnly() { return !formEntry.getFile().canWrite(); } // from JavaDataObject protected JavaEditor createJavaEditor() { if (formEditor == null) formEditor = new FormEditorSupport(getPrimaryEntry(), this); return formEditor; } public FormEditorSupport getFormEditor() { return (FormEditorSupport) createJavaEditor(); } FileEntry getFormEntry() { return formEntry; } /** Provides node that should represent this data object. When a node for * representation in a parent is requested by a call to getNode(parent) it * is the exact copy of this node with only parent changed. This * implementation creates instance |
... 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.