|
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-2002 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.xml.tree.nodes; import java.beans.*; import java.awt.Component; import java.util.Iterator; import org.openide.nodes.*; import org.netbeans.tax.*; import org.netbeans.modules.xml.tree.children.ObjectListChildren; import org.netbeans.modules.xml.tree.lib.BeanUtil; import org.netbeans.modules.xml.tree.lib.GuiUtil; /** * * @author Libor Kramolis * @version 0.1 */ public class ElementAttributesNode extends AbstractParentNode { /** */ private static final String NODE_TYPE = "#attributes"; // NOI18N // // init // /** */ public ElementAttributesNode (TreeNamedObjectMap attributesMap) throws IntrospectionException { super (attributesMap, new ObjectListChildren (attributesMap, (Class[])null), "elementAttributesNode"); // NOI18N setSheet (new Sheet()); } // // itself // /** */ protected final TreeNamedObjectMap getElementAttributes () { return (TreeNamedObjectMap) getTreeObject(); } /** */ protected boolean canAddTreeObject (TreeObject newObject) { if ( newObject instanceof TreeAttribute ) { return true; } else if ( newObject instanceof TreeNamedObjectMap ) { return true; } else { return false; } } /** */ protected boolean addTreeObject (TreeObject newObject) { if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug ("\n%- ElementAttributesNode::addTreeObject: newObject = " + newObject); // NOI18N if ( newObject instanceof TreeAttribute ) { return addAttribute ((TreeAttribute)newObject); } else if ( newObject instanceof TreeNamedObjectMap ) { return addAttributeList ((TreeNamedObjectMap)newObject); } else { return false; } } /** */ protected boolean addAttributeList (TreeNamedObjectMap attributeList) { if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug ("\n%+ ElementAttributesNode::addAttributeList: attributeList = " + attributeList); // NOI18N boolean allAdded = true; Iterator it = attributeList.iterator(); while (it.hasNext()) { Object next = it.next(); if ( next instanceof TreeAttribute ) { allAdded &= addAttribute ((TreeAttribute)next); } else { allAdded = false; } } return allAdded; } /** */ protected boolean addAttribute (TreeAttribute attribute) { if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug ("\n%# ElementAttributesNode::addAttribute: attribute = " + attribute); // NOI18N try { boolean toSet = true; TreeAttribute oldAttribute = (TreeAttribute)getElementAttributes().get (attribute.getTreeName()); if ( oldAttribute != null ) { toSet = GuiUtil.confirmAction (Util.THIS.getString ("MSG_replace_attribute", attribute.getQName())); } if ( toSet ) { getElementAttributes().add (attribute); return true; } } catch (TreeUnsupportedOperationException exc) { GuiUtil.notifyTreeException (exc.getException()); } return false; } // // Order // /** */ protected boolean canChangeOrder () { return true; } // // name support // /** */ protected final String createName () { return Util.THIS.getString ("PROP_ElementAttributesNode_name"); } /** Name of property used as node name. Used to listen on it. */ protected final String getPresentableNamePropertyName () { return null; } /** */ protected final void setPresentableNameProperty (String name) { // MISSION IMPOSSIBLE [ getPresentableNamePropertyName() return null ] !!! -> do nothing } // // node operation // /** */ public final boolean canRename () { return false; } // // Customizer // /** */ public boolean hasCustomizer () { return BeanUtil.hasCustomizer (TreeElement.class, "attributes"); // "attributes" -- name of TreeElement property // NOI18N } /** */ public Component getCustomizer () { return BeanUtil.getCustomizer (TreeElement.class, getElementAttributes(), "attributes"); // "attributes" -- name of TreeElement property // NOI18N } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 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.