1 19 20 package org.netbeans.modules.xml.wsdl.ui.netbeans.module; 21 22 import java.awt.Image ; 23 24 import javax.swing.Icon ; 25 import javax.swing.ImageIcon ; 26 27 import org.netbeans.modules.xml.schema.model.SchemaComponent; 28 import org.netbeans.modules.xml.wsdl.model.WSDLComponent; 29 import org.netbeans.modules.xml.wsdl.model.WSDLModel; 30 import org.netbeans.modules.xml.wsdl.ui.netbeans.module.WSDLSettings.ViewMode; 31 import org.netbeans.modules.xml.wsdl.ui.search.AttributeNameSearchProvider; 32 import org.netbeans.modules.xml.wsdl.ui.search.AttributeValueSearchProvider; 33 import org.netbeans.modules.xml.wsdl.ui.search.ComponentNameSearchProvider; 34 import org.netbeans.modules.xml.wsdl.ui.search.ComponentTypeSearchProvider; 35 import org.netbeans.modules.xml.wsdl.ui.view.treeeditor.TreeEditorView; 36 import org.netbeans.modules.xml.xam.Component; 37 import org.netbeans.modules.xml.xam.ui.category.AbstractCategory; 38 import org.openide.util.Lookup; 39 import org.openide.util.NbBundle; 40 import org.openide.util.Utilities; 41 import org.openide.util.lookup.Lookups; 42 import org.openide.util.lookup.ProxyLookup; 43 44 49 public class WSDLTreeCategory extends AbstractCategory { 50 51 private WSDLModel wsdlModel; 52 53 private TreeEditorView component; 54 55 private Lookup lookup; 56 57 63 public WSDLTreeCategory(WSDLModel model, Lookup lookup) { 64 wsdlModel = model; 65 Object [] searchers = new Object [] { 66 new ComponentNameSearchProvider(model, this), 67 new ComponentTypeSearchProvider(model, this), 68 new AttributeNameSearchProvider(model, this), 69 new AttributeValueSearchProvider(model, this), 70 }; 71 this.lookup = new ProxyLookup(new Lookup[] { 72 lookup, 73 Lookups.fixed(searchers) 74 }); 75 } 76 77 public void componentHidden() { 78 } 79 80 public void componentShown() { 81 initComponents(); 82 WSDLSettings.getDefault().setViewMode(ViewMode.TREE); 83 } 84 85 public java.awt.Component getComponent() { 86 initComponents(); 87 return component; 88 } 89 90 public String getDescription() { 91 return NbBundle.getMessage(WSDLTreeCategory.class, 92 "HINT_WsdlCategory_Tree"); 93 } 94 95 public Icon getIcon() { 96 String url = NbBundle.getMessage(WSDLTreeCategory.class, 97 "IMG_WsdlCategory_Tree"); 98 Image img = Utilities.loadImage(url); 99 return new ImageIcon (img); 100 } 101 102 public Lookup getLookup() { 103 return lookup; 104 } 105 106 public String getTitle() { 107 return NbBundle.getMessage(WSDLTreeCategory.class, 108 "LBL_WsdlCategory_Tree"); 109 } 110 111 114 private void initComponents() { 115 if (component == null) { 116 component = new TreeEditorView(wsdlModel); 117 } 118 } 119 120 public void showComponent(Component comp) { 121 if (comp instanceof WSDLComponent) { 122 component.showComponent((WSDLComponent) comp); 123 } else if (comp instanceof SchemaComponent) { 124 component.showComponent((SchemaComponent) comp); 125 } 126 } 127 } 128 | Popular Tags |