|
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.xml.tree.nodes;
import java.beans.*;
import java.util.ArrayList;
import java.util.List;
import org.openide.nodes.*;
import org.netbeans.tax.*;
import org.netbeans.modules.xml.tree.children.ObjectListChildren;
import org.netbeans.modules.xml.tree.lib.GuiUtil;
/**
*
* @author Libor Kramolis
* @version 0.1
*/
public class DocumentNode extends AbstractRootNode {
/** */
private static final String NODE_TYPE = "#document"; // NOI18N
//
// init
//
/** */
public DocumentNode (TreeDocument treeDocument) throws IntrospectionException {
super (treeDocument, (Class[])null, "xmlObject"); // NOI18N
setShortDescription (Util.THIS.getString ("PROP_DocumentNode_description"));
}
//
// itself
//
/**
*/
protected final TreeDocument getDocument () {
return (TreeDocument) getTreeObject();
}
/**
*/
protected final boolean addTreeObject (TreeObject newObject) {
if ( newObject instanceof TreeDocumentType ) {
return setDocumentType ((TreeDocumentType)newObject);
} else if ( newObject instanceof TreeElement ) {
return setDocumentElement ((TreeElement)newObject);
} else {
return super.addTreeObject (newObject);
}
}
protected Object[] getNewTypesTypes() {
List list = new ArrayList(4);
TreeElement root = getDocument().getDocumentElement();
if (root == null) { //??? such tree probably does not exist at all
list.add(TreeElement.class);
}
TreeDocumentType type = getDocument().getDocumentType();
if (type == null) {
list.add(TreeDocumentType.class);
}
list.add(TreeProcessingInstruction.class);
list.add(TreeComment.class);
return list.toArray();
}
/**
*/
public final boolean setDocumentType (TreeDocumentType documentType) {
try {
TreeDocument doc = getDocument();
boolean toSet = true;
TreeDocumentType oldDoctype = doc.getDocumentType();
if ( oldDoctype != null ) {
toSet = GuiUtil.confirmAction (Util.THIS.getString ("MSG_replace_document_type"));
}
if ( toSet ) {
doc.setDocumentType ((TreeDocumentType)documentType);
return true;
}
} catch (TreeException exc) {
GuiUtil.notifyTreeException (exc);
}
return false;
}
/**
*/
public final boolean setDocumentElement (TreeElement element) {
try {
TreeDocument doc = getDocument();
boolean toSet = true;
TreeElement oldElement = doc.getDocumentElement();
if ( oldElement != null ) {
toSet = GuiUtil.confirmAction (Util.THIS.getString ("MSG_replace_root_element"));
}
if ( toSet ) {
doc.setDocumentElement ((TreeElement)element);
return true;
}
} catch (TreeException exc) {
GuiUtil.notifyTreeException (exc);
}
return false;
}
//
// name support
//
/**
*/
protected final String getNodeTypePrefix () {
return NODE_TYPE;
}
}
|
| ... 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.