KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > InstrumentTypePanel


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc;
5
6 import org.dijon.ButtonGroup;
7 import org.dijon.CheckBox;
8 import org.dijon.Component;
9 import org.dijon.Container;
10 import org.dijon.ContainerResource;
11 import org.dijon.Label;
12 import org.dijon.List;
13 import org.dijon.ListModel;
14 import org.dijon.RadioButton;
15
16 import java.awt.Insets JavaDoc;
17 import java.awt.event.ActionEvent JavaDoc;
18 import java.awt.event.ActionListener JavaDoc;
19
20 public class InstrumentTypePanel extends Container {
21   private Label m_messageLabel;
22   private ButtonGroup m_buttonGroup;
23   private RadioButton m_classButton;
24   private RadioButton m_packageButton;
25   private CheckBox m_restartToggle;
26   private String JavaDoc m_className;
27   private String JavaDoc m_packageName;
28   private Container m_superTypesPanel;
29   private List m_superTypesList;
30   private Container m_superTypesStandin;
31   private Container m_bootTypesPanel;
32   private List m_bootTypesList;
33   private Container m_bootTypesStandin;
34   
35   private static final String JavaDoc INCLUDE_ALL_PATTERN = "*..*";
36   
37   public InstrumentTypePanel(ContainerResource res) {
38     super(res);
39   }
40
41   public void load(ContainerResource res) {
42     super.load(res);
43     
44     m_messageLabel = (Label)findComponent("MessageLabel");
45     m_classButton = (RadioButton)findComponent("ClassButton");
46     m_buttonGroup = (ButtonGroup)findComponent("ButtonGroup");
47     m_packageButton = (RadioButton)findComponent("PackageButton");
48     m_superTypesPanel = (Container)findComponent("SuperTypesPanel");
49     m_superTypesStandin = new Container();
50     m_superTypesList = (List)m_superTypesPanel.findComponent("SuperTypesList");
51     m_bootTypesPanel = (Container)findComponent("BootTypesPanel");
52     m_bootTypesStandin = new Container();
53     m_bootTypesList = (List)m_bootTypesPanel.findComponent("BootTypesList");
54     m_restartToggle = (CheckBox)findComponent("RestartToggle");
55     
56     m_buttonGroup.addActionListener(new ActionListener JavaDoc() {
57       public void actionPerformed(ActionEvent JavaDoc ae) {
58         if(m_superTypesPanel.getParent() != null) {
59           m_superTypesPanel.setEnabled(m_buttonGroup.getSelectedIndex() != 2);
60         }
61       }
62     });
63     
64     int buttonCount = m_buttonGroup.getChildCount();
65     for(int i = 0; i < buttonCount; i++) {
66       Component comp = m_buttonGroup.getChildAt(i);
67       Insets JavaDoc margin = new Insets JavaDoc(0,0,0,0);
68       
69       if(comp instanceof RadioButton) {
70         ((RadioButton)comp).setMargin(margin);
71       }
72     }
73   }
74   
75   public void setup(String JavaDoc msg,
76                     String JavaDoc className,
77                     java.util.List JavaDoc bootTypes,
78                     java.util.List JavaDoc superTypes)
79   {
80     m_messageLabel.setText(msg);
81     
82     m_className = className;
83     m_packageName = className.substring(0, className.lastIndexOf('.'));
84     
85     m_classButton.setText("Type '"+className+"'");
86     m_packageButton.setText("All types in package '"+m_packageName+"'");
87     m_buttonGroup.setSelected("ClassButton");
88     
89     if(superTypes.size() > 0) {
90       if(m_superTypesPanel.getParent() == null) {
91         replaceChild(m_superTypesStandin, m_superTypesPanel);
92       }
93       m_superTypesList.setModel(new ListModel(superTypes));
94     }
95     else if(m_superTypesPanel.getParent() != null) {
96       replaceChild(m_superTypesPanel, m_superTypesStandin);
97     }
98
99     if(bootTypes.size() > 0) {
100       if(m_bootTypesPanel.getParent() == null) {
101         replaceChild(m_bootTypesStandin, m_bootTypesPanel);
102       }
103       m_bootTypesList.setModel(new ListModel(bootTypes));
104     }
105     else if(m_bootTypesPanel.getParent() != null) {
106       replaceChild(m_bootTypesPanel, m_bootTypesStandin);
107     }
108     
109     m_restartToggle.setSelected(true);
110   }
111   
112   public boolean instrumentClass() {
113     return m_classButton.isSelected();
114   }
115   
116   public String JavaDoc getPattern() {
117     switch(m_buttonGroup.getSelectedIndex()) {
118       case 0: return m_className;
119       case 1: return m_packageName+".*";
120       default: return INCLUDE_ALL_PATTERN;
121     }
122   }
123   
124   public boolean includeAll() {
125     return getPattern().equals(INCLUDE_ALL_PATTERN);
126   }
127   
128   public boolean restartSystem() {
129     return m_restartToggle.isSelected();
130   }
131 }
132
Popular Tags