source: tmcsimulator/trunk/src/tmcsim/client/cadscreens/II_IncidentInquiry.java @ 2

Revision 2, 11.8 KB checked in by jdalbey, 10 years ago (diff)

Initial Import of project files

Line 
1package tmcsim.client.cadscreens;
2
3import javax.swing.text.Document;
4
5import tmcsim.cadmodels.IncidentInquiryDetails;
6import tmcsim.cadmodels.IncidentInquiryModel;
7import tmcsim.cadmodels.IncidentInquiryModel_obj;
8import tmcsim.cadmodels.IncidentInquiryServices;
9import tmcsim.cadmodels.IncidentInquiryTows;
10import tmcsim.cadmodels.IncidentInquiryUnitsAssigned;
11import tmcsim.cadmodels.IncidentInquiryWitnesses;
12import tmcsim.client.cadscreens.view.CADMainView;
13import tmcsim.common.CADEnums.TEXT_STYLES;
14
15/**
16 * II_IncidentInquiry is the view component to the IncidentInquiryModel
17 * model object.  The screen is shown when the user requests a "Incident
18 * Inquiry."  When the class is instantiated with reference
19 * to the model data and document, string and style pairs are added to the
20 * view document.  This class extends from the CADMainView object, which
21 * contains the common methods and data needed for display and user
22 * interaction. 
23 *
24 * @see IncidentInquiryModel
25 * @author Matthew Cechini
26 * @version $Revision: 1.4 $ $Date: 2009/04/17 16:27:45 $
27 */
28public class II_IncidentInquiry extends CADMainView {
29
30
31    /** Reference to the Model class for the Incident Inquiry data. */
32    private IncidentInquiryModel theModel;
33   
34    /**
35     * Constructor.  Initializes the screen with the appropriate formatted text.
36     *
37     * @param newModel The model data object.
38     * @param viewdoc  The Document object used for displaying the model data.
39     */
40    public II_IncidentInquiry(IncidentInquiryModel newModel, Document viewDoc) {
41        super(viewDoc);
42       
43        theModel         = newModel;
44               
45        initialize();
46    }   
47   
48    /**
49     * This method initializes the screen's Document object with
50     * text and style pairs to create the correct screen format.
51     *
52     * The IncidentInquiry model data strings are created in the following
53     * order:
54     *
55     * <li>Header Info</li>
56     * <li>Details</li>
57     * <li>Units Assigned</li>
58     * <li>Tows</li>
59     * <li>Services</li>
60     * <li>Witnesses</li>
61     *
62     * The resulting text/style strings are set into the base CADMainView class for display.
63     */
64    private void initialize() {
65       
66        int counter = 1;
67       
68        IncidentInquiryModel_obj tempModelObj = theModel.getModelObject();     
69       
70        addDocElement("LOG: ", TEXT_STYLES.CYAN);
71         
72        addDocElement(rPad(tempModelObj.getHeader().logNumber.toString(), 3) + 
73                           rPad(tempModelObj.getHeader().logStatus, 5),
74                           TEXT_STYLES.YELLOW);
75       
76        addDocElement("PRI: ", TEXT_STYLES.CYAN);
77       
78        addDocElement(rPad(tempModelObj.getHeader().priority, 3),
79                TEXT_STYLES.YELLOW);           
80       
81        addDocElement("TYPE: ", TEXT_STYLES.CYAN);
82       
83        addDocElement(rPad(tempModelObj.getHeader().type, 7), 
84                TEXT_STYLES.YELLOW);   
85       
86        addDocElement("CB: ", TEXT_STYLES.CYAN);
87       
88        addDocElement(rPad(tempModelObj.getHeader().callBoxNumber, 18),
89                TEXT_STYLES.YELLOW);   
90       
91        addDocElement("BEAT: ", TEXT_STYLES.CYAN);
92       
93        addDocElement(rPad(tempModelObj.getHeader().beat, 7) + "\n",
94                TEXT_STYLES.YELLOW);     
95       
96        addDocElement("LOC: ", TEXT_STYLES.CYAN);
97       
98        addDocElement(rPad(tempModelObj.getHeader().fullLocation, 45),
99                TEXT_STYLES.YELLOW);                                       
100       
101        addDocElement("CS: " + "\n", TEXT_STYLES.CYAN);
102       
103        addDocElement(lPad("(" + tempModelObj.getHeader().truncLocation + ")", 23)  + "\n",
104                TEXT_STYLES.YELLOW); 
105       
106        addDocElement("ORI: ", TEXT_STYLES.CYAN);
107                   
108        addDocElement(rPad(tempModelObj.getHeader().origin, 8) 
109                           + rPad(tempModelObj.getHeader().incidentDate, 5)
110                           + rPad(tempModelObj.getHeader().incidentTime, 5),
111                           TEXT_STYLES.YELLOW);           
112       
113        addDocElement("DISP: ", TEXT_STYLES.CYAN);
114       
115        addDocElement(rPad(tempModelObj.getHeader().dispatcher, 9),
116                TEXT_STYLES.YELLOW);   
117       
118        addDocElement(rPad("FILED:", 18),
119                TEXT_STYLES.CYAN);
120   
121        addDocElement("X: \n", TEXT_STYLES.CYAN);
122       
123        addDocElement(rPad("ORI ACTION:", 34), TEXT_STYLES.CYAN);
124       
125        addDocElement(rPad("R/S:", 15), TEXT_STYLES.CYAN);             
126       
127        addDocElement(rPad("DUP:",14), TEXT_STYLES.CYAN);
128       
129        addDocElement(rPad("CBT:", 14), TEXT_STYLES.CYAN);
130       
131        addDocElement("Z:", TEXT_STYLES.CYAN);
132       
133        addDocElement("Y\n", TEXT_STYLES.YELLOW);             
134                     
135       
136        if(tempModelObj.getDetails().size() > 0){ 
137            addDocElement("-------------------------------------", 
138                    TEXT_STYLES.CYAN);
139           
140            //if(tempModelObj.getDetailsUpdated())
141            //  addDocElement(" DETAIL ", TEXT_STYLES.REVERSE_CYAN);
142            //else
143                addDocElement(" DETAIL ", TEXT_STYLES.CYAN);
144
145            addDocElement("-----------------------------------\n", 
146                    TEXT_STYLES.CYAN);
147                               
148       
149            boolean firstLine = true;
150            counter = 1;           
151            for(IncidentInquiryDetails detail : tempModelObj.getDetails()) {
152
153                for(String detail_string : detail.parseDetails(63)) {
154                    if(firstLine) {
155                        addDocElement(rPad(detail.getLogInfo(), 14),
156                                TEXT_STYLES.AQUA);   
157                       
158                        addDocElement(rPad(String.valueOf(counter++), 3),
159                                TEXT_STYLES.CYAN);
160
161                        firstLine = false;
162                    }
163                    else {
164                        addDocElement(rPad("", 17),
165                                TEXT_STYLES.GRAY);   
166                    }               
167                    addDocElement(detail_string,
168                            TEXT_STYLES.YELLOW);
169                }
170                firstLine = true;
171            }
172        }                     
173           
174        if(tempModelObj.getUnits().size() > 0) {
175            addDocElement("--------------------------------", 
176                    TEXT_STYLES.CYAN);
177           
178            //if(tempModelObj.getUnitsUpdated())
179            //  addDocElement(" UNITS ASSIGNED ", TEXT_STYLES.REVERSE_CYAN);
180            //else
181                addDocElement(" UNITS ASSIGNED ", TEXT_STYLES.CYAN);
182
183            addDocElement("--------------------------------\n", 
184                    TEXT_STYLES.CYAN);       
185     
186         
187            for(IncidentInquiryUnitsAssigned unit : tempModelObj.getUnits()) {
188           
189                addDocElement(rPad(unit.getLogInfo(), 14),
190                        TEXT_STYLES.AQUA);   
191           
192                if(unit.isPrimary) 
193                    addDocElement(rPad("<", 3), TEXT_STYLES.CYAN);
194                else 
195                    addDocElement(rPad("-", 3), TEXT_STYLES.CYAN);
196           
197                addDocElement(rPad(unit.beat, 6), TEXT_STYLES.YELLOW);   
198           
199                if(unit.isActive) 
200                    addDocElement(unit.statusType + "\n", TEXT_STYLES.RED);                           
201                else 
202                    addDocElement(unit.statusType + "\n", TEXT_STYLES.GREEN); 
203           
204            }       
205        }
206
207                     
208        if(tempModelObj.getTows().size() > 0){
209            addDocElement("-------------------------------------", 
210                    TEXT_STYLES.CYAN);
211           
212            //if(tempModelObj.getTowsUpdated())
213            //  addDocElement(" TOWS ", TEXT_STYLES.REVERSE_CYAN);
214            //else
215                addDocElement(" TOWS ", TEXT_STYLES.CYAN);
216
217            addDocElement("-------------------------------------\n", 
218                    TEXT_STYLES.CYAN);             
219       
220            counter = 1;
221            for(IncidentInquiryTows tow : tempModelObj.getTows()) {
222                   
223                addDocElement(rPad(tow.getLogInfo(), 14),
224                        TEXT_STYLES.AQUA);   
225           
226                addDocElement(rPad(String.valueOf(counter++), 3),
227                        TEXT_STYLES.CYAN);                 
228                                       
229                addDocElement(rPad(tow.towCompany, 40),
230                        TEXT_STYLES.YELLOW); 
231 
232                addDocElement("BEAT: ", TEXT_STYLES.CYAN);     
233           
234                addDocElement(tow.beat + "\n", TEXT_STYLES.YELLOW);                 
235           
236                addDocElement(lPad("CONF: ", 23), TEXT_STYLES.CYAN);
237           
238                addDocElement(rPad(tow.confPhoneNum, 22), TEXT_STYLES.YELLOW); 
239           
240                addDocElement("PUB: ", TEXT_STYLES.CYAN); 
241           
242                addDocElement(rPad(tow.publicPhoneNum, 14), TEXT_STYLES.YELLOW); 
243           
244                addDocElement(tow.statusInfo + "\n", TEXT_STYLES.YELLOW);                 
245            }           
246        }   
247           
248        if(tempModelObj.getServices().size() > 0){
249            addDocElement("-----------------------------------", 
250                    TEXT_STYLES.CYAN);
251           
252            //if(tempModelObj.getServicesUpdated())
253            //  addDocElement(" SERVICES ", TEXT_STYLES.REVERSE_CYAN);
254            //else
255                addDocElement(" SERVICES ", TEXT_STYLES.CYAN);
256
257            addDocElement("-----------------------------------\n", 
258                    TEXT_STYLES.CYAN);             
259           
260            counter = 1;
261            for(IncidentInquiryServices service : tempModelObj.getServices()) {
262           
263                addDocElement(rPad(service.getLogInfo(), 14), TEXT_STYLES.AQUA);   
264           
265                addDocElement(rPad(String.valueOf(counter++), 3), TEXT_STYLES.CYAN);                 
266                                       
267                addDocElement(service.serviceName + "\n", TEXT_STYLES.YELLOW); 
268           
269                addDocElement(lPad("CONF: ", 23), TEXT_STYLES.CYAN);
270           
271                addDocElement(rPad(service.confPhoneNum, 25), TEXT_STYLES.YELLOW); 
272           
273                addDocElement("PUB: ", TEXT_STYLES.CYAN); 
274           
275                addDocElement(service.publicPhoneNum + "\n", TEXT_STYLES.YELLOW); 
276            }
277        }
278                     
279        if(tempModelObj.getWitnesses().size() > 0){
280            addDocElement("-----------------------------------", 
281                    TEXT_STYLES.CYAN);
282           
283            //if(tempModelObj.getWitnessesUpdated())
284            //  addDocElement(" WITNESSES ", TEXT_STYLES.REVERSE_CYAN);
285            //else
286                addDocElement(" WITNESSES ", TEXT_STYLES.CYAN);
287
288            addDocElement("----------------------------------\n", 
289                    TEXT_STYLES.CYAN);         
290       
291            counter = 1;
292            for(IncidentInquiryWitnesses witness : tempModelObj.getWitnesses()) {
293           
294                addDocElement(rPad(witness.getLogInfo(), 14), TEXT_STYLES.AQUA);   
295           
296                addDocElement(rPad(String.valueOf(counter++), 3), TEXT_STYLES.CYAN);                 
297                                       
298                addDocElement(rPad(witness.reportingParty, 20), TEXT_STYLES.YELLOW); 
299           
300                addDocElement("TEL: ", TEXT_STYLES.CYAN); 
301               
302                addDocElement(witness.telephoneNum + "\n", TEXT_STYLES.YELLOW);                 
303           
304                addDocElement(lPad("ADDR: ", 23), TEXT_STYLES.CYAN);
305           
306                addDocElement(witness.address + "\n", TEXT_STYLES.YELLOW);               
307
308            }           
309        }
310       
311    }   
312     
313}
Note: See TracBrowser for help on using the repository browser.