1 /*2 * The contents of this file are subject to the terms of the Common Development3 * and Distribution License (the License). You may not use this file except in4 * compliance with the License.5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html7 * or http://www.netbeans.org/cddl.txt.8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file10 * and include the License file at http://www.netbeans.org/cddl.txt.11 * If applicable, add the following below the CDDL Header, with the fields12 * enclosed by brackets [] replaced by your own identifying information:13 * "Portions Copyrighted [year] [name of copyright owner]"14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun17 * Microsystems, Inc. All Rights Reserved.18 */19 20 package org.netbeans.modules.xml.schema.ui.nodes.categorized;21 22 import org.netbeans.modules.xml.schema.model.Redefine;23 import org.netbeans.modules.xml.schema.model.SchemaComponentReference;24 import org.netbeans.modules.xml.schema.ui.nodes.NewTypesFactory;25 import org.netbeans.modules.xml.schema.ui.nodes.RefreshableChildren;26 import org.netbeans.modules.xml.schema.ui.nodes.SchemaUIContext;27 import org.netbeans.modules.xml.schema.ui.nodes.categorized.customizer.RedefineCustomizer;28 import org.netbeans.modules.xml.schema.ui.nodes.schema.RedefineNode;29 import org.netbeans.modules.xml.xam.ComponentEvent;30 import org.netbeans.modules.xml.xam.ui.customizer.Customizer;31 import org.netbeans.modules.xml.xam.ui.customizer.CustomizerProvider;32 import org.openide.nodes.Children;33 34 /**35 *36 * @author Todd Fast, todd.fast@sun.com37 */38 public class AdvancedRedefineNode extends RedefineNode {39 40 /**41 *42 *43 */44 public AdvancedRedefineNode(SchemaUIContext context,45 SchemaComponentReference<Redefine> reference,46 Children children) {47 super(context,reference,children);48 }49 50 @Override 51 protected NewTypesFactory getNewTypesFactory() {52 return new AdvancedNewTypesFactory();53 }54 55 @Override 56 public boolean hasCustomizer() {57 return isEditable();58 }59 60 @Override 61 public CustomizerProvider getCustomizerProvider() {62 return new CustomizerProvider() {63 public Customizer getCustomizer() {64 return new RedefineCustomizer(getReference().get());65 }66 };67 }68 69 @Override 70 public void valueChanged(ComponentEvent evt) {71 super.valueChanged(evt);72 if (isValid() && evt.getSource() == getReference().get()) {73 ((RefreshableChildren) getChildren()).refreshChildren();74 }75 }76 }77