KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > calipso > reportgenerator > userinterface > RankMetricEditor


1 package com.calipso.reportgenerator.userinterface;
2
3
4 import com.calipso.reportgenerator.common.ReportGeneratorConfiguration;
5 import javax.swing.*;
6 import java.util.*;
7 import java.util.List JavaDoc;
8 import java.awt.event.*;
9 import java.awt.*;
10
11 public class RankMetricEditor extends javax.swing.JDialog JavaDoc {
12   private Map dimensionRankMetrics;
13   private Map fieldCaptions;
14   private List JavaDoc metricNames;
15   private boolean accepted;
16   private Map comboMetricItems;
17   private ComboMetricItem noneComboMetricItem;
18
19   /** Creates new form RankMetricEditor */
20
21   public static boolean editRankMetrics(Frame owner, Map dimensionRankMetrics, List JavaDoc metricNames, Map fieldCaptions, ReportGeneratorConfiguration conf) {
22     RankMetricEditor editor = new RankMetricEditor(owner, true, conf);
23     editor.InitContents(dimensionRankMetrics, metricNames, fieldCaptions);
24     editor.setVisible(true);
25     return editor.accepted();
26   }
27
28   public RankMetricEditor(java.awt.Frame JavaDoc parent, boolean modal, ReportGeneratorConfiguration conf) {
29     super(parent, modal);
30     Image icon = conf.getImage("ICON");
31     if(icon != null) {
32       parent.setIconImage(icon);
33     }
34     initComponents();
35   }
36
37   private void initComponents() {
38     dimensionLabel = new javax.swing.JLabel JavaDoc();
39     metricaComboBox = new javax.swing.JComboBox JavaDoc();
40     metricaLabel = new javax.swing.JLabel JavaDoc();
41     dimensionComboBox = new javax.swing.JComboBox JavaDoc();
42     aceptarBtn = new javax.swing.JButton JavaDoc();
43     cancelBtn = new javax.swing.JButton JavaDoc();
44
45     getContentPane().setLayout(null);
46
47     dimensionLabel.setText(com.calipso.reportgenerator.common.LanguageTraslator.traslate("188"));
48     getContentPane().add(dimensionLabel);
49     dimensionLabel.setBounds(21, 15, 76, 16);
50
51     getContentPane().add(dimensionComboBox);
52     dimensionComboBox.setBounds(106, 10, 192, 25);
53
54     getContentPane().add(metricaComboBox);
55     metricaComboBox.setBounds(106, 54, 192, 25);
56
57     metricaLabel.setText(com.calipso.reportgenerator.common.LanguageTraslator.traslate("133"));
58     getContentPane().add(metricaLabel);
59     metricaLabel.setBounds(21, 54, 76, 16);
60
61
62     dimensionComboBox.addItemListener(new ItemListener() {
63       public void itemStateChanged(ItemEvent e) {
64         updateFromCurrentDimension((ComboDimensionRankMetricItem) e.getItem());
65       }
66     });
67
68     metricaComboBox.addItemListener(new ItemListener() {
69       public void itemStateChanged(ItemEvent e) {
70         updateDimensionRankMetric((ComboMetricItem) e.getItem());
71       }
72     });
73
74     aceptarBtn.setText(com.calipso.reportgenerator.common.LanguageTraslator.traslate("112"));
75     getContentPane().add(aceptarBtn);
76     aceptarBtn.setBounds(110, 110, 88, 26);
77     aceptarBtn.addActionListener(new ActionListener() {
78       public void actionPerformed(ActionEvent e) {
79         Accept();
80       }
81     });
82     cancelBtn.setText(com.calipso.reportgenerator.common.LanguageTraslator.traslate("113"));
83     getContentPane().add(cancelBtn);
84     cancelBtn.setBounds(210, 110, 88, 26);
85     cancelBtn.addActionListener(new ActionListener() {
86       public void actionPerformed(ActionEvent e) {
87         Cancel();
88       }
89     });
90     pack();
91     java.awt.Dimension JavaDoc screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
92     setSize(new java.awt.Dimension JavaDoc(312, 168));
93     setLocation((screenSize.width - 312) / 2, (screenSize.height - 168) / 2);
94   }
95
96   private void updateDimensionRankMetric(ComboMetricItem comboMetricItem) {
97     ((ComboDimensionRankMetricItem) dimensionComboBox.getSelectedItem()).setRankMetricName(comboMetricItem.getName());
98   }
99
100   private void updateFromCurrentDimension(ComboDimensionRankMetricItem comboDimensionRankMetricItem) {
101     metricaComboBox.setSelectedItem(getComboMetricItem(comboDimensionRankMetricItem.getRankMetricName()));
102   }
103
104   private ComboMetricItem getComboMetricItem(String JavaDoc name) {
105     if (getComboMetricItems().containsKey(name)) {
106       return (ComboMetricItem) getComboMetricItems().get(name);
107     }
108     return getNoneComboMetricItem();
109   }
110
111   private ComboMetricItem getNoneComboMetricItem() {
112     if (noneComboMetricItem == null) {
113       noneComboMetricItem = new ComboMetricItem("", com.calipso.reportgenerator.common.LanguageTraslator.traslate("187"));
114     }
115     return noneComboMetricItem;
116   }
117
118   private void Cancel() {
119     accepted = false;
120     setVisible(false);
121   }
122
123   private void Accept() {
124     accepted = true;
125     updateDimensionRankMetricNames();
126     setVisible(false);
127   }
128
129   private void updateDimensionRankMetricNames() {
130     for (int i = 0; i < dimensionComboBox.getItemCount(); i++) {
131       ComboDimensionRankMetricItem item = (ComboDimensionRankMetricItem) dimensionComboBox.getItemAt(i);
132       getDimensionRankMetrics().put(item.getName(), item.getRankMetricName());
133     }
134   }
135
136   private void InitContents(Map dimensionRankMetrics, List JavaDoc metricNames, Map fieldCaptions) {
137     setDimensionRankMetrics(dimensionRankMetrics);
138     setFieldCaptions(fieldCaptions);
139     setMetricNames(metricNames);
140     loadAllDimensionValues();
141     loadAllMetricValues();
142     setTitle(com.calipso.reportgenerator.common.LanguageTraslator.traslate("193"));
143   }
144
145   private JLabel metricaLabel;
146   private JLabel dimensionLabel;
147   private JComboBox metricaComboBox;
148   private JComboBox dimensionComboBox;
149   private JButton aceptarBtn;
150   private JButton cancelBtn;
151
152
153   private void loadAllDimensionValues() {
154     Vector vector = new Vector();
155     Iterator iterator = dimensionRankMetrics.entrySet().iterator();
156     while (iterator.hasNext()) {
157       Map.Entry entry = (Map.Entry) iterator.next();
158       String JavaDoc name = (String JavaDoc) entry.getKey();
159       String JavaDoc rankMetricName = (String JavaDoc) entry.getValue();
160       String JavaDoc caption = (String JavaDoc) getFieldCaptions().get(name);
161       vector.add(new ComboDimensionRankMetricItem(name, caption, rankMetricName));
162     }
163     dimensionComboBox.setModel(new DefaultComboBoxModel(vector));
164   }
165
166   private void loadAllMetricValues() {
167     Vector vector = new Vector();
168     vector.add(getNoneComboMetricItem());
169     Iterator iterator = metricNames.iterator();
170     while (iterator.hasNext()) {
171       String JavaDoc name = (String JavaDoc) iterator.next();
172       ComboMetricItem item = new ComboMetricItem(name, (String JavaDoc) fieldCaptions.get(name));
173       vector.add(item);
174       getComboMetricItems().put(name, item);
175     }
176     metricaComboBox.setModel(new DefaultComboBoxModel(vector));
177   }
178
179   private Map getComboMetricItems() {
180     if (comboMetricItems == null) {
181       comboMetricItems = new HashMap();
182     }
183     return comboMetricItems;
184   }
185
186
187   public boolean accepted() {
188     return accepted;
189   }
190
191   public Map getDimensionRankMetrics() {
192     return dimensionRankMetrics;
193   }
194
195   public Map getFieldCaptions() {
196     return fieldCaptions;
197   }
198
199   public void setDimensionRankMetrics(Map dimensionRankMetrics) {
200     this.dimensionRankMetrics = dimensionRankMetrics;
201   }
202
203   public void setFieldCaptions(Map fieldCaptions) {
204     this.fieldCaptions = fieldCaptions;
205   }
206
207   public List JavaDoc getMetricNames() {
208     return metricNames;
209   }
210
211   public void setMetricNames(List JavaDoc metricNames) {
212     this.metricNames = metricNames;
213   }
214
215   private class ComboDimensionRankMetricItem {
216     private String JavaDoc name;
217     private String JavaDoc caption;
218     private String JavaDoc rankMetricName;
219
220     public ComboDimensionRankMetricItem(String JavaDoc name, String JavaDoc caption, String JavaDoc rankMetricName) {
221       this.name = name;
222       this.caption = caption;
223       this.rankMetricName = rankMetricName;
224     }
225
226     public String JavaDoc getName() {
227       return name;
228     }
229
230     public void setName(String JavaDoc name) {
231       this.name = name;
232     }
233
234     public String JavaDoc getCaption() {
235       return caption;
236     }
237
238     public void setCaption(String JavaDoc caption) {
239       this.caption = caption;
240     }
241
242     public String JavaDoc getRankMetricName() {
243       return rankMetricName;
244     }
245
246     public void setRankMetricName(String JavaDoc rankMetricName) {
247       this.rankMetricName = rankMetricName;
248     }
249
250     public String JavaDoc toString() {
251       return caption;
252     }
253   }
254
255   private class ComboMetricItem {
256     private String JavaDoc name;
257     private String JavaDoc caption;
258
259     public ComboMetricItem(String JavaDoc name, String JavaDoc caption) {
260       this.name = name;
261       this.caption = caption;
262     }
263
264     public String JavaDoc getName() {
265       return name;
266     }
267
268     public void setName(String JavaDoc name) {
269       this.name = name;
270     }
271
272     public String JavaDoc getCaption() {
273       return caption;
274     }
275
276     public void setCaption(String JavaDoc caption) {
277       this.caption = caption;
278     }
279
280     public String JavaDoc toString() {
281       return caption;
282     }
283   }
284 }
285
286
287
Popular Tags