1 19 20 25 26 package org.netbeans.modules.xml.wsdl.ui.view; 27 28 import java.awt.event.ActionListener ; 29 import java.util.ArrayList ; 30 import java.util.Enumeration ; 31 import java.util.Iterator ; 32 import java.util.List ; 33 34 import javax.swing.AbstractButton ; 35 import javax.swing.ButtonGroup ; 36 import javax.swing.ButtonModel ; 37 import org.netbeans.modules.xml.wsdl.ui.view.wizard.ExtensibilityElementTemplateFactory; 38 39 import org.netbeans.modules.xml.wsdl.ui.view.wizard.TemplateGroup; 40 import org.netbeans.modules.xml.wsdl.ui.view.wizard.TemplateType; 41 import org.netbeans.modules.xml.wsdl.ui.view.wizard.localized.LocalizedTemplate; 42 import org.netbeans.modules.xml.wsdl.ui.view.wizard.localized.LocalizedTemplateGroup; 43 44 48 public class BindingSubTypePanel extends javax.swing.JPanel { 49 50 private String namespace; 51 private TemplateGroup group; 52 53 private LocalizedTemplateGroup mLtg; 54 55 private List <TemplatePanel> mPanels = new ArrayList (); 56 57 private ActionListener mButtonActionListener; 58 59 60 public BindingSubTypePanel(LocalizedTemplateGroup ltg, ActionListener buttonActionListener) { 61 this.mLtg = ltg; 62 this.mButtonActionListener = buttonActionListener; 63 initComponents(); 64 initGUI(); 65 } 66 67 72 private void initComponents() { 74 buttonGroup1 = new javax.swing.ButtonGroup (); 75 76 setLayout(new javax.swing.BoxLayout (this, javax.swing.BoxLayout.Y_AXIS)); 77 78 } 80 private void initGUI() { 81 boolean isDefaultAvailable = false; 82 83 LocalizedTemplate[] templates = this.mLtg.getTemplate(); 84 for (int i = 0; i < templates.length; i++) { 85 LocalizedTemplate template = templates[i]; 86 TemplatePanel panel = new TemplatePanel(template, buttonGroup1); 87 panel.getRadioButton().addActionListener(this.mButtonActionListener); 88 mPanels.add(panel); 89 this.add(panel); 90 if(template.getDelegate().isDefault()) { 91 setSelectedTemplateName(templates[i].getName()); 92 isDefaultAvailable = true; 93 } 94 } 95 if (!isDefaultAvailable && templates.length > 0) { 96 setSelectedTemplateName(templates[0].getName()); 97 } 98 } 99 100 public LocalizedTemplate getBindingSubType() { 101 Iterator <TemplatePanel> it = this.mPanels.iterator(); 102 while(it.hasNext()) { 103 TemplatePanel p = it.next(); 104 if(p.isSelected()) { 105 return p.getTemplate(); 106 } 107 } 108 return null; 109 } 110 111 public void reset(LocalizedTemplateGroup ltg) { 112 this.removeAll(); 113 Iterator <TemplatePanel> it = mPanels.iterator(); 114 while(it.hasNext()) { 115 TemplatePanel panel = it.next(); 116 panel.getRadioButton().removeActionListener(this.mButtonActionListener); 117 118 } 119 mPanels.clear(); 120 121 this.mLtg = ltg; 122 initGUI(); 123 revalidate(); 124 } 125 126 public void setSelectedTemplateName(String templateName) { 127 Enumeration <AbstractButton > buttons = buttonGroup1.getElements(); 128 if (buttons != null) { 129 while (buttons.hasMoreElements()) { 130 AbstractButton button = buttons.nextElement(); 131 if (button.getActionCommand().equals(templateName)) { 132 button.setSelected(true); 133 } 134 } 135 } 136 } 137 138 public ButtonGroup getButtonGroup() { 139 return this.buttonGroup1; 140 } 141 142 143 private javax.swing.ButtonGroup buttonGroup1; 145 147 } 148 | Popular Tags |