KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.calipso.reportgenerator.userinterface;
2
3 import com.calipso.reportgenerator.reportcalculator.SharedDate;
4 import com.calipso.reportgenerator.reportdefinitions.types.ReportDataType;
5 import com.calipso.common.DateEx;
6
7 import javax.swing.*;
8 import java.awt.*;
9 import java.util.Map JavaDoc;
10 import java.util.Iterator JavaDoc;
11
12 /**
13  * Representa un componente grafico, mas bien un subPanel de la instancia
14  * de <code>UPsPanel</code>. Este panel se construye a partir de una instancia
15  * <code>UPRangeElement</code> por lo que representa un panel de tipo range.
16  */

17
18 public class UPRangePanel extends UPPanel implements ParameterPanelConstructor{
19
20   public UPRangePanel(UPRangeElement owner) {
21     this.owner = owner;
22     initialize();
23   }
24
25   private void initialize() {
26     setLayout(new GridLayout(1, 1));
27     add(getWestPanel());
28     add(getCenterPanel());
29   }
30
31   private JPanel getCenterPanel() {
32     JPanel pnlCenter = new JPanel(new GridLayout(2, 2));
33     String JavaDoc dimensioName = owner.getFilterDefinition().getDimensionName();
34     int type;
35     if(dimensioName!=null && !dimensioName.equalsIgnoreCase("")){
36       type = owner.getReportSpec().getDimensionFromName(dimensioName).getDataType().getType();
37     }else{
38       type = owner.getFilterDefinition().getDataType().getType();
39     }
40     fillCenterPanel(pnlCenter, type);
41     return pnlCenter;
42   }
43
44   private void fillCenterPanel(JPanel pnlCenter, int type) {
45     switch(type) {
46       case ReportDataType.DATETIME_TYPE:
47       case ReportDataType.DATE_TYPE:
48         addWithDateTextField(pnlCenter);
49         break;
50       case ReportDataType.STRING_TYPE:
51         addWithStringTextField(pnlCenter);
52         break;
53       case ReportDataType.INTEGER_TYPE:
54         addWithIntegerTextField(pnlCenter);
55         break;
56       case ReportDataType.FLOAT_TYPE:
57         addWithFloatTextField(pnlCenter);
58         break;
59     }
60   }
61
62   public void addWithFloatTextField(JPanel pnlCenter) {
63     pnlCenter.add(new Label(((UPRangeElement)owner).getStartingTfCaption()));
64     String JavaDoc key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getStartingArgument();
65     Object JavaDoc object = owner.getReportSpec().getParamValues(false).get(key);
66     UPTextField textField = new UPFloatTextField(object.toString());
67     pnlCenter.add(textField);
68     super.addUPTextField(key, textField);
69     pnlCenter.add(new Label(((UPRangeElement)owner).getEndingTfCaption()));
70     key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getEndingArgument();
71     object = owner.getReportSpec().getParamValues(false).get(key);
72     textField = new UPFloatTextField(object.toString());
73     pnlCenter.add(textField);
74     super.addUPTextField(key, textField);
75   }
76
77   public void addWithIntegerTextField(JPanel pnlCenter) {
78     pnlCenter.add(new Label(((UPRangeElement)owner).getStartingTfCaption()));
79     String JavaDoc key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getStartingArgument();
80     Object JavaDoc object = owner.getReportSpec().getParamValues(false).get(key);
81     UPTextField textField = new UPIntegerTextField(object.toString());
82     pnlCenter.add(textField);
83     super.addUPTextField(key, textField);
84     pnlCenter.add(new Label(((UPRangeElement)owner).getEndingTfCaption()));
85     key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getEndingArgument();
86     object = owner.getReportSpec().getParamValues(false).get(key);
87     textField = new UPIntegerTextField(object.toString());
88     pnlCenter.add(textField);
89     super.addUPTextField(key, textField);
90   }
91
92   public void addWithStringTextField(JPanel pnlCenter) {
93     pnlCenter.add(new Label(((UPRangeElement)owner).getStartingTfCaption()));
94     String JavaDoc key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getStartingArgument();
95     Object JavaDoc object = owner.getReportSpec().getParamValues(false).get(key);
96     UPTextField textField = new UPStringTextField(object.toString());
97     pnlCenter.add(textField);
98     super.addUPTextField(key, textField);
99     pnlCenter.add(new Label(((UPRangeElement)owner).getEndingTfCaption()));
100     key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getEndingArgument();
101     object = owner.getReportSpec().getParamValues(false).get(key);
102     textField = new UPStringTextField(object.toString());
103     pnlCenter.add(textField);
104     super.addUPTextField(key, textField);
105   }
106
107   public void addWithDateTextField(JPanel pnlCenter) {
108     pnlCenter.add(new Label(((UPRangeElement)owner).getStartingTfCaption()));
109     String JavaDoc key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getStartingArgument();
110     Object JavaDoc object = owner.getReportSpec().getParamValues(false).get(key);
111     UPTextField textField;
112     if(object instanceof SharedDate || object instanceof DateEx){
113       textField = new UPDateTextField(object.toString());
114     }else{
115       textField = new UPDateTextField(super.getDateFormatFrom(object.toString()));
116     }
117     pnlCenter.add(textField);
118     super.addUPTextField(key, textField);
119     pnlCenter.add(new Label(((UPRangeElement)owner).getEndingTfCaption()));
120     key = owner.getFilterDefinition().getName() + ((UPRangeElement)owner).getEndingArgument();
121     object = owner.getReportSpec().getParamValues(false).get(key);
122     if(object instanceof SharedDate || object instanceof DateEx){
123       textField = new UPDateTextField(object.toString());
124     }else{
125       textField = new UPDateTextField(super.getDateFormatFrom(object.toString()));
126     }
127     pnlCenter.add(textField);
128     super.addUPTextField(key, textField);
129   }
130
131   public boolean fillParamsMap(Map JavaDoc params) {
132     Map JavaDoc elements = super.getUpTextFieldCollection();
133     Iterator JavaDoc keysIterator = elements.keySet().iterator();
134     String JavaDoc firstKey = (String JavaDoc) keysIterator.next();
135     String JavaDoc secondKey = (String JavaDoc) keysIterator.next();
136     UPTextField firstUPTextField = (UPTextField) elements.get(firstKey);
137     UPTextField secondUPTextField = (UPTextField) elements.get(secondKey);
138     if(firstUPTextField.isLessThan(secondUPTextField)) {
139       params.put(firstKey, firstUPTextField.getComponentValue());
140       params.put(secondKey, secondUPTextField.getComponentValue());
141       return true;
142     } else {
143       return false;
144     }
145   }
146
147 }
148
Popular Tags