/* * CitationScreen4.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 CitationScreen4 extends MainScreen { //-------------------- LabelField field_citation_no; DateField field_dte; DateField field_tme; EditField field_offenses; CheckboxField field_accident; CheckboxField field_radar; CheckboxField field_school_zone; CheckboxField field_paced; RadioButtonGroup rgrp1; RadioButtonField rgrp1_yes; RadioButtonField rgrp1_no; EditField field_officer_first; EditField field_officer_middle; EditField field_officer_last; EditField field_officer_badge; EditField field_officer_id; CheckboxField field_circuit_crt; EditField field_other_crt; CheckboxField field_community_crt; RadioButtonGroup rgrp2; RadioButtonField rgrp2_oregon_city; RadioButtonField rgrp2_clackamas; CheckboxField field_municipal_crt1; RadioButtonGroup rgrp3; RadioButtonField rgrp3_damascus; RadioButtonField rgrp3_estacada; CheckboxField field_municipal_crt2; RadioButtonGroup rgrp4; RadioButtonField rgrp4_happy_valley; RadioButtonField rgrp4_wilsonville; DateField field_court_dte; DateField field_court_tme; ObjectChoiceField field_bac; DateField field_bac_dte; DateField field_bac_tme; EditField field_violation_type; ObjectChoiceField field_speed_limit; EditField field_alleged_speed; EditField field_narrative; Citation c; CitationScreen4(Citation _c) { c = _c; CustomLabelField lf1 = new CustomLabelField("DEFENDENT INFRACTIONS", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); lf1.setBackgroundColor(Color.CYAN); lf1.setTextColor(Color.BLUE); FontFamily fontFamily[] = FontFamily.getFontFamilies(); Font font1 = fontFamily[1].getFont(FontFamily.CBTF_FONT, 14); lf1.setFont(font1); setTitle(lf1); add(new SeparatorField()); CustomLabelField lbl2 = new CustomLabelField("******* Defendent Infraction *******", Field.FIELD_HCENTER | LabelField.USE_ALL_WIDTH); lbl2.setBackgroundColor(Color.LIGHTGREY); lbl2.setTextColor(Color.BLUE); FontFamily fontFamily2[] = FontFamily.getFontFamilies(); Font fnt2 = fontFamily2[1].getFont(FontFamily.CBTF_FONT, 14).derive(Font.BOLD | Font.ITALIC); lbl2.setFont(fnt2); add(lbl2); add(new SeparatorField()); String name = c.Person.getElement(CPerson.FIRST) + " " + c.Person.getElement(CPerson.MIDDLE) + " " + c.Person.getElement(CPerson.LAST); String dob = c.Person.getElement(CPerson.DOB).toString(); add(new RichTextField("Name: " + name)); add(new RichTextField("Date of Birth: " + dob)); add(new SeparatorField()); // EditField field_citation_no = new LabelField("Citation #: " + String.valueOf(c.Number)); add(field_citation_no); add(new SeparatorField()); field_dte = new DateField("Date: ", Long.MIN_VALUE, DateField.DATE); add(field_dte); field_tme = new DateField("Time: ", Long.MIN_VALUE, DateField.TIME); add(field_tme); // EditField field_offenses = new EditField("Offenses: ", "", 100, 0); add(field_offenses); 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_school_zone = new CheckboxField("School Zone", false); add(field_school_zone); // CheckboxField field_paced = new CheckboxField("Paced", false); add(field_paced); add(new SeparatorField()); add(new RichTextField("Jail Booking Involved: ")); rgrp1 = new RadioButtonGroup(); rgrp1_yes = new RadioButtonField("Yes", rgrp1, true); rgrp1_no = new RadioButtonField("No", rgrp1, false); add(rgrp1_yes); add(rgrp1_no); add(new SeparatorField()); CustomLabelField lbl3 = new CustomLabelField("*********** Officer Information ***********", Field.FIELD_HCENTER | LabelField.USE_ALL_WIDTH); lbl3.setBackgroundColor(Color.LIGHTGREY); lbl3.setTextColor(Color.BLUE); FontFamily fontFamily3[] = FontFamily.getFontFamilies(); Font fnt3 = fontFamily3[1].getFont(FontFamily.CBTF_FONT, 14).derive(Font.BOLD | Font.ITALIC); lbl3.setFont(fnt3); add(lbl3); add(new SeparatorField()); // EditField field_officer_first = new EditField("First: ", ""); add(field_officer_first); // EditField field_officer_middle = new EditField("Middle: ", ""); add(field_officer_middle); // EditField field_officer_last = new EditField("Last: ", ""); add(field_officer_last); add(new SeparatorField()); // EditField field_officer_badge = new EditField("Badge: ", ""); add(field_officer_badge); // EditField field_officer_id = new EditField("ID #: ", ""); add(field_officer_id); add(new SeparatorField()); CustomLabelField lbl4 = new CustomLabelField("************ Court Information ************", Field.FIELD_HCENTER | LabelField.USE_ALL_WIDTH); lbl4.setBackgroundColor(Color.LIGHTGREY); lbl4.setTextColor(Color.BLUE); FontFamily fontFamily4[] = FontFamily.getFontFamilies(); Font fnt4 = fontFamily4[1].getFont(FontFamily.CBTF_FONT, 14).derive(Font.BOLD | Font.ITALIC); lbl4.setFont(fnt4); add(lbl4); // CheckboxField field_circuit_crt = new CheckboxField("Circuit Court", false); add(field_circuit_crt); // EditField field_other_crt = new EditField("Other: ", ""); add(field_other_crt); add(new SeparatorField()); // CheckboxField field_community_crt = new CheckboxField("Community Court", false); add(field_community_crt); rgrp2 = new RadioButtonGroup(); rgrp2_oregon_city = new RadioButtonField("Oregon City", rgrp2, false); rgrp2_clackamas = new RadioButtonField("Clackamas", rgrp2, false); add(rgrp2_oregon_city); add(rgrp2_clackamas); add(new SeparatorField()); // CheckboxField field_municipal_crt1 = new CheckboxField("Municipal Courts", false); add(field_municipal_crt1); rgrp3 = new RadioButtonGroup(); rgrp3_damascus = new RadioButtonField("Damascus", rgrp3, false); rgrp3_estacada = new RadioButtonField("Estacada", rgrp3, false); add(rgrp3_damascus); add(rgrp3_estacada); add(new SeparatorField()); // CheckboxField field_municipal_crt2 = new CheckboxField("Municipal Courts", false); add(field_municipal_crt2); rgrp4 = new RadioButtonGroup(); rgrp4_happy_valley = new RadioButtonField("Happy Valley", rgrp4, false); rgrp4_wilsonville = new RadioButtonField("Wilsonville", rgrp4, false); add(rgrp4_happy_valley); add(rgrp4_wilsonville); add(new SeparatorField()); field_court_dte = new DateField("Date: ", Long.MIN_VALUE, DateField.DATE); add(field_court_dte); field_court_tme = new DateField("Time: ", Long.MIN_VALUE, DateField.TIME); add(field_court_tme); add(new SeparatorField()); // ObjectChoiceField String choicestrs0[] = {"N/A", "0.01-0.029", "0.03-0.059", "0.06-0.10", "0.11-0.20", "0.21-0.29", "0.30-0.39", ">0.40"}; field_bac = new ObjectChoiceField("Blood Alcohol Level (BAC): ", choicestrs0, 0); add(field_bac); add(new SeparatorField()); field_bac_dte = new DateField("Date of BAC: ", Long.MIN_VALUE, DateField.DATE); add(field_bac_dte); field_bac_tme = new DateField("Time of BAC: ", Long.MIN_VALUE, DateField.TIME); add(field_bac_tme); add(new SeparatorField()); // EditField field_violation_type = new EditField("Violation Type: ", ""); add(field_violation_type); // 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()); // EditField field_narrative= new EditField("Narrative: ", "", 100, 0); add(field_narrative); 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 ButtonListener4(this, c)); navButtonManager.add(btn_prev); ButtonField btn_next; btn_next = new ButtonField("Next", ButtonField.CONSUME_CLICK); btn_next.setChangeListener(new ButtonListener4(this, c)); navButtonManager.add(btn_next); add(navButtonManager); addMenuItem(saveItem4); addMenuItem(getItem4); restoreUIFieldsFromCitation(); } public static class ButtonListener4 implements FieldChangeListener { Citation c; CitationScreen4 cs4; public ButtonListener4(CitationScreen4 _cs4, Citation _c){ cs4 = _cs4; c = _c; } public void fieldChanged(Field field, int context) { ButtonField btn = (ButtonField) field; if(btn.getLabel().toString() == "Next"){ //cs4.storeUIFieldsToCitation(); //UiApplication.getUiApplication().pushScreen(new CitationScreen3(c)); } else if(btn.getLabel().toString() == "Prev"){ cs4.storeUIFieldsToCitation(); UiApplication.getUiApplication().popScreen(cs4); } } } private MenuItem saveItem4 = new MenuItem("Save", 110, 10) { public void run() { storeUIFieldsToCitation(); CitationStore.Save(); } }; private MenuItem getItem4 = new MenuItem("Get", 110, 11) { public void run() { CitationStore.Restore(); restoreUIFieldsFromCitation(); } }; /** * storeUIFieldsToCitation - transfer the UI field values to the citation record */ private void storeUIFieldsToCitation() { c.Violation.setElement(CViolation.DATE, field_dte.toString()); c.Violation.setElement(CViolation.TIME, field_tme.toString()); c.Violation.setElement(CViolation.OFFENSES, field_offenses.getText()); c.Violation.setElement(CViolation.ACCIDENT, field_accident.getLabel()); c.Violation.setElement(CViolation.RADAR, field_radar.getLabel()); c.Violation.setElement(CViolation.SCHOOL_ZONE, field_school_zone.getLabel()); c.Violation.setElement(CViolation.PACED, field_paced.getLabel()); c.Violation.setElement(CViolation.RGRP1, field_paced.getLabel()); c.Violation.setElement(CViolation.YES, rgrp1_yes.getLabel()); c.Violation.setElement(CViolation.NO, rgrp1_no.getLabel()); c.Violation.setElement(CViolation.OFFICER_FIRST, field_officer_first.getText()); c.Violation.setElement(CViolation.OFFICER_MIDDLE, field_officer_middle.getText()); c.Violation.setElement(CViolation.OFFICER_LAST, field_officer_last.getText()); c.Violation.setElement(CViolation.OFFICER_BADGE, field_officer_badge.getText()); c.Violation.setElement(CViolation.OFFICER_ID, field_officer_id.getText()); c.Violation.setElement(CViolation.CIRCUIT_CRT, field_circuit_crt.getLabel()); c.Violation.setElement(CViolation.OTHER_CRT, field_other_crt.getText()); c.Violation.setElement(CViolation.COMMUNITY_CRT, field_community_crt.getLabel()); c.Violation.setElement(CViolation.RGRP2, Integer.toString(rgrp2.getSelectedIndex())); c.Violation.setElement(CViolation.OREGON_CITY, rgrp2_oregon_city.getLabel()); c.Violation.setElement(CViolation.CLACKAMAS, rgrp2_clackamas.getLabel()); c.Violation.setElement(CViolation.MUNICIPAL_CRT, field_municipal_crt1.getLabel()); c.Violation.setElement(CViolation.RGRP3, Integer.toString(rgrp3.getSelectedIndex())); c.Violation.setElement(CViolation.DAMASCUS, rgrp3_damascus.getLabel()); c.Violation.setElement(CViolation.ESTACADA, rgrp3_estacada.getLabel()); c.Violation.setElement(CViolation.MUNICIPAL_CRT2, field_municipal_crt2.getLabel()); c.Violation.setElement(CViolation.RGRP4, Integer.toString(rgrp4.getSelectedIndex())); c.Violation.setElement(CViolation.HAPPY_VALLEY, rgrp4_happy_valley.getLabel()); c.Violation.setElement(CViolation.WILSONVILLE, rgrp4_wilsonville.getLabel()); c.Violation.setElement(CViolation.COURT_DATE, field_court_dte.toString()); c.Violation.setElement(CViolation.COURT_TIME, field_court_tme.toString()); c.Violation.setElement(CViolation.BAC_DATE, field_bac_dte.toString()); c.Violation.setElement(CViolation.BAC_TIME, field_bac_tme.toString()); c.Violation.setElement(CViolation.VIOLATION_TYPE, field_violation_type.getText()); c.Violation.setElement(CViolation.SPEED_LIMIT, field_speed_limit.toString()); c.Violation.setElement(CViolation.ALLEGED_SPEED, field_alleged_speed.getText()); c.Violation.setElement(CViolation.NARRATIVE, field_narrative.getText()); } /** * restoreUIFieldsFromCitation - populate the UI fields from those currently * stored in the citation record */ private void restoreUIFieldsFromCitation() { field_dte.setLabel(c.Violation.getElement(CViolation.DATE)); field_tme.setLabel(c.Violation.getElement(CViolation.TIME)); field_offenses.setText(c.Violation.getElement(CViolation.OFFENSES)); field_accident.setLabel(c.Violation.getElement(CViolation.ACCIDENT)); field_radar.setLabel(c.Violation.getElement(CViolation.RADAR)); field_school_zone.setLabel(c.Violation.getElement(CViolation.SCHOOL_ZONE)); field_paced.setLabel(c.Violation.getElement(CViolation.PACED)); //c4.p[i].rgrp1.setSelectedIndex(Integer.parseInt(info4.getElement(StoreInfo4.RGRP1_4))); rgrp1_yes.setLabel(c.Violation.getElement(CViolation.YES)); rgrp1_no.setLabel(c.Violation.getElement(CViolation.NO)); field_officer_first.setText(c.Violation.getElement(CViolation.OFFICER_FIRST)); field_officer_middle.setText(c.Violation.getElement(CViolation.OFFICER_MIDDLE)); field_officer_last.setText(c.Violation.getElement(CViolation.OFFICER_LAST)); field_officer_badge.setText(c.Violation.getElement(CViolation.OFFICER_BADGE)); field_officer_id.setText(c.Violation.getElement(CViolation.OFFICER_ID)); field_circuit_crt.setLabel(c.Violation.getElement(CViolation.CIRCUIT_CRT)); field_other_crt.setText(c.Violation.getElement(CViolation.OTHER_CRT)); field_community_crt.setLabel(c.Violation.getElement(CViolation.COMMUNITY_CRT)); //c4.p[i].rrgrp2.setSelectedIndex(Integer.parseInt(info4.getElement(StoreInfo4.Rrgrp2_4))); rgrp2_oregon_city.setLabel(c.Violation.getElement(CViolation.OREGON_CITY)); rgrp2_clackamas.setLabel(c.Violation.getElement(CViolation.CLACKAMAS)); field_municipal_crt1.setLabel(c.Violation.getElement(CViolation.MUNICIPAL_CRT)); //c4.p[i].rgrp3.setSelectedIndex(Integer.parseInt(info4.getElement(StoreInfo4.RGRP3_4))); rgrp3_damascus.setLabel(c.Violation.getElement(CViolation.DAMASCUS)); rgrp3_estacada.setLabel(c.Violation.getElement(CViolation.ESTACADA)); field_municipal_crt2.setLabel(c.Violation.getElement(CViolation.MUNICIPAL_CRT2)); //c4.p[i].rgrp4.setSelectedIndex(Integer.parseInt(info4.getElement(StoreInfo4.RGRP4_4))); rgrp4_happy_valley.setLabel(c.Violation.getElement(CViolation.HAPPY_VALLEY)); rgrp4_wilsonville.setLabel(c.Violation.getElement(CViolation.WILSONVILLE)); field_court_dte.setLabel(c.Violation.getElement(CViolation.COURT_DATE)); field_court_tme.setLabel(c.Violation.getElement(CViolation.COURT_TIME)); field_bac.setLabel(c.Violation.getElement(CViolation.BAC)); field_bac_dte.setLabel(c.Violation.getElement(CViolation.BAC_DATE)); field_bac_tme.setLabel(c.Violation.getElement(CViolation.BAC_TIME)); field_violation_type.setText(c.Violation.getElement(CViolation.VIOLATION_TYPE)); field_speed_limit.setLabel(c.Violation.getElement(CViolation.SPEED_LIMIT)); field_alleged_speed.setText(c.Violation.getElement(CViolation.ALLEGED_SPEED)); field_narrative.setText(c.Violation.getElement(CViolation.NARRATIVE)); } }