/* * CitationScreen5.java * * � <your company here>, 2003-2008 * Confidential and proprietary. */ package citation.app; import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; import citation.data.*; import citation.ui.CustomLabelField; class CitationScreen5 extends MainScreen { private Citation c; private CheckboxField field_accident; private CheckboxField field_radar; private CheckboxField field_jail_booking; private CheckboxField field_paced; private CheckboxField field_school_zone; private CheckboxField field_alcohol; private EditField field_vbfi; private ObjectChoiceField field_speed_limit; private EditField field_alleged_speed; CitationScreen5(Citation _c) { c = _c; String cNumberString = Integer.toString(c.Number); CustomLabelField lf = new CustomLabelField("OREGON UNIFORM CITATION: #" + cNumberString, LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); lf.setBackgroundColor(0x00194E84); lf.setTextColor(0x00ffffff); FontFamily fontFamily0[] = FontFamily.getFontFamilies(); Font font = fontFamily0[1].getFont(FontFamily.CBTF_FONT, 14); lf.setFont(font); add(lf); add(new SeparatorField()); CustomLabelField lf1 = new CustomLabelField("************* INCIDENT ATTRIBUTES **************", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); lf1.setBackgroundColor(Color.LIGHTGREY); lf1.setTextColor(Color.BLUE); FontFamily fontFamily[] = FontFamily.getFontFamilies(); Font font1 = fontFamily[1].getFont(FontFamily.CBTF_FONT, 14); lf1.setFont(font1); add(lf1); add(new SeparatorField()); //-------------- // CheckboxField field_accident = new CheckboxField("Accident", false); add(field_accident); // CheckboxField field_radar = new CheckboxField("Radar", false); add(field_radar); // CheckboxField field_jail_booking = new CheckboxField("Jail Booking", false); add(field_jail_booking); // CheckboxField field_paced = new CheckboxField("Paced", false); add(field_paced); // CheckboxField field_school_zone = new CheckboxField("School Zone", false); add(field_school_zone); // CheckboxField field_alcohol = new CheckboxField("Alcohol", false); add(field_alcohol); add(new SeparatorField()); // EditField field_vbfi = new EditField("VBFI: ", ""); add(field_vbfi); // ObjectChoiceField String choicestrs1[] = {"5MPH", "10MPH", "15MPH", "20MPH", "25MPH", "30MPH", "35MPH", "40MPH", "45MPH", "50MPH", "55MPH", "60MPH", "65MPH", "70MPH", "75MPH", "80MPH"}; field_speed_limit = new ObjectChoiceField("Speed Limit: ", choicestrs1, 0); add(field_speed_limit); // EditField field_alleged_speed = new EditField("Alleged Speed: ", ""); add(field_alleged_speed); add(new SeparatorField()); // ButtonField row - set all buttons at the bottom row of the form HorizontalFieldManager navButtonManager = new HorizontalFieldManager(); // ButtonField ButtonField btn_prev; btn_prev = new ButtonField("Prev", ButtonField.CONSUME_CLICK); btn_prev.setChangeListener(new ButtonListener5(this, c)); navButtonManager.add(btn_prev); ButtonField btn_next; btn_next = new ButtonField("Next", ButtonField.CONSUME_CLICK); btn_next.setChangeListener(new ButtonListener5(this, c)); navButtonManager.add(btn_next); add(navButtonManager); add(new SeparatorField()); addMenuItem(saveItem5); addMenuItem(getItem5); restoreUIFieldsFromCitation(); } public static class ButtonListener5 implements FieldChangeListener { Citation c; CitationScreen5 cs5; public ButtonListener5(CitationScreen5 _cs5, Citation _n5){ cs5 = _cs5; c = _n5; } public void fieldChanged(Field field, int context) { ButtonField btn4 = (ButtonField) field; if(btn4.getLabel().toString() == "Next"){ cs5.storeUIFieldsToCitation(); if(cs5.field_alcohol.getChecked() == true){ UiApplication.getUiApplication().pushScreen(new CitationScreen6(c)); } else { UiApplication.getUiApplication().pushScreen(new CitationScreen7(c)); } } else if(btn4.getLabel().toString() == "Prev"){ cs5.storeUIFieldsToCitation(); UiApplication.getUiApplication().popScreen(cs5); } } } private MenuItem saveItem5 = new MenuItem("Save", 110, 10) { public void run() { storeUIFieldsToCitation(); CitationStore.Save(); } }; private MenuItem getItem5 = new MenuItem("Get", 110, 11) { public void run() { CitationStore.Restore(); restoreUIFieldsFromCitation(); } }; /** * storeUIFieldsToCitation - transfer the UI field values to the citation record */ private void storeUIFieldsToCitation() { String accidentStatus = field_accident.getChecked() ? "true" : "false"; String radarStatus = field_radar.getChecked() ? "true" : "false"; String jailStatus = field_jail_booking.getChecked() ? "true" : "false"; String pacedStatus = field_school_zone.getChecked() ? "true" : "false"; String alcoholStatus = field_alcohol.getChecked() ? "true" : "false"; c.Violation.setElement(CViolation.ACCIDENT, accidentStatus); c.Violation.setElement(CViolation.RADAR, radarStatus); c.Violation.setElement(CViolation.JAIL_BOOKING, jailStatus); c.Violation.setElement(CViolation.PACED, pacedStatus); c.Violation.setElement(CViolation.ALCOHOL, alcoholStatus); c.Violation.setElement(CViolation.VBFI, field_vbfi.getText()); c.Violation.setElement(CViolation.SPEED_LIMIT, field_speed_limit.toString()); c.Violation.setElement(CViolation.ALLEGED_SPEED, field_alleged_speed.getText()); } /** * restoreUIFieldsFromCitation - populate the UI fields from those currently * stored in the citation record */ private void restoreUIFieldsFromCitation() { boolean accidentStatus = c.Violation.getElement(CViolation.ACCIDENT).equals("true"); boolean radarStatus = c.Violation.getElement(CViolation.RADAR).equals("true"); boolean jailStatus = c.Violation.getElement(CViolation.JAIL_BOOKING).equals("true"); boolean pacedStatus = c.Violation.getElement(CViolation.PACED).equals("true"); boolean alcoholStatus = c.Violation.getElement(CViolation.ALCOHOL).equals("true"); field_accident.setChecked(accidentStatus); field_radar.setChecked(radarStatus); field_jail_booking.setChecked(jailStatus); field_paced.setChecked(pacedStatus); field_alcohol.setChecked(alcoholStatus); field_vbfi.setText(c.Violation.getElement(CViolation.VBFI)); field_speed_limit.setSelectedIndex(c.Violation.getElement(CViolation.SPEED_LIMIT)); field_alleged_speed.setText(c.Violation.getElement(CViolation.ALLEGED_SPEED)); } }