Changeset 59 in tmcsimulator
- Timestamp:
- 03/15/2017 10:20:21 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 13 edited
-
IDE_metadata/NetBeans/TMCSim/build.xml (modified) (4 diffs)
-
IDE_metadata/NetBeans/TMCSim/nbproject/configs/CADClient.properties (added)
-
IDE_metadata/NetBeans/TMCSim/nbproject/configs/Console.properties (added)
-
IDE_metadata/NetBeans/TMCSim/nbproject/project.properties (modified) (4 diffs)
-
src/spikes (added)
-
src/spikes/ColorRenderer.java (added)
-
src/spikes/StdOutDemo.java (added)
-
src/spikes/StringRenderer.java (added)
-
src/spikes/TableDialogEditDemo.java (added)
-
src/tmcsim/application.properties (modified) (1 diff)
-
src/tmcsim/client/cadclientgui/data/Incident.java (modified) (1 diff)
-
src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java (modified) (21 diffs)
-
src/tmcsim/client/cadclientgui/screens/CADMenu.java (modified) (27 diffs)
-
src/tmcsim/client/cadclientgui/screens/IncidentEditor.java (modified) (24 diffs)
-
src/tmcsim/client/cadclientgui/screens/IncidentViewer.java (modified) (55 diffs)
-
src/tmcsim/client/cadclientgui/screens/Login.java (modified) (8 diffs)
-
src/tmcsim/client/cadclientgui/screens/PendingIncidents.java (modified) (12 diffs)
-
src/tmcsim/client/cadclientgui/screens/ScreenManager.java (modified) (13 diffs)
-
src/tmcsim/client/cadclientgui/screens/UnitStatus.java (modified) (43 diffs)
-
src/tmcsim/simulationmanager/model/LogEntryCellRenderer.java (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/IDE_metadata/NetBeans/TMCSim/build.xml
r56 r59 12 12 <import file="nbproject/build-impl.xml"/> 13 13 <property name="workdir" value="../../.."/> 14 <!-- SYSTEM TEST SECTION --> 15 <target description="CAD Simulator" name="cadsimulator"> 16 <antcall target="run-single"> 17 <param name="javac.includes" value="tmcsim/cadsimulator/CADSimulator.java"/> 18 <param name="run.class" value="tmcsim/cadsimulator/CADSimulator"/> 19 </antcall> 20 </target> 21 <target description="Visible System Test of CADSimulator" name="VisibleSystemTest"> 22 <antcall target="test-single"> 23 <param name="javac.includes" value="tmcsim/cadsimulator/VisibleSystemTest.java"/> 24 <param name="test.includes" value="tmcsim/cadsimulator/VisibleSystemTest.java"/> 25 </antcall> 26 </target> 27 <target description="CAD Simulator - console" name="cadconsole"> 28 <java jar="deploy/CADserver.jar" 29 fork="true"> 30 <classpath> 31 <pathelement location="deploy/CADserver.jar"/> 32 </classpath> 33 </java> 34 </target> 35 <target description="CAD Simulator - GUI" name="cadgui"> 36 <java jar="deploy/CADserver.jar" 37 fork="true"><jvmarg value="-version"/> 38 <classpath> 39 <pathelement location="deploy/CADserver.jar"/> 40 </classpath> 41 </java> 42 </target> 43 <target description="Run Paramics Communicator" name="pcomm"> 44 <antcall target="run-single"> 45 <param name="javac.includes" value="tmcsim/paramicscommunicator/PComm.java"/> 46 <param name="run.class" value="tmcsim/paramicscommunicator/PComm"/> 47 </antcall> 48 </target> 49 <target description="Run Simulation Manager" name="simmgr"> 50 <antcall target="run-single"> 51 <param name="javac.includes" value="tmcsim/simulationmanager/SimulationManager.java"/> 52 <param name="run.class" value="tmcsim/simulationmanager/SimulationManager"/> 53 </antcall> 54 </target> 55 <target description="Emulate Paramics Modeler" name="emulate"> 56 <echo file="${workdir}/paramics_status.xml" append="false"> 57 <Paramics> <Network_Status>WARMING</Network_Status> <Network_ID>1</Network_ID> </Paramics> 58 </echo> 59 <sleep seconds="5"/> 60 <echo file="${workdir}/paramics_status.xml" append="false"> 61 <Paramics> <Network_Status>LOADED</Network_Status> <Network_ID>1</Network_ID> </Paramics> 62 </echo> 63 </target> 64 14 65 <!-- STORE SUBVERSION BUILD STRING --> 15 66 <target name="-post-init" description="Sets the buildversion for the current build"> … … 60 111 /> 61 112 </checkstyle> 62 </target> 63 113 </target> 114 <!-- 115 ================= 116 ZIP for Web-CAT SECTION for CPE 305 assignments 117 ================= 118 Create a zip file of source to CADSimulator for submission to Web-CAT grader. 119 --> 120 <target name="webcat-zip" depends="jar"> 121 122 <zip destfile="${workdir}/webcatsubmit.zip"> 123 <fileset dir="${workdir}/src/"> 124 <include name="tmcsim/cadsimulator/viewer/**/*.java" /> 125 <include name="tmcsim/cadsimulator/viewer/model/**/*.java" /> 126 <include name="tmcsim/cadsimulator/viewer/actions/**/*.java" /> 127 <include name="tmcsim/cadsimulator/videocontrol/**/*.java" /> 128 <exclude name="tmcsim/paramics*/**"/> 129 <exclude name="tmcsim/simulationmanager/**"/> 130 <exclude name="tmcsim/cadsimulator/MP3Driver.java"/> 131 </fileset> 132 <!-- 133 <fileset dir="${workdir}" includes="scripts/Cardfile.xml"/> 134 --> 135 <fileset dir="${workdir}/test/"> 136 <include name="tmcsim/cadsimulator/viewer/CADSimulatorViewModelTest.java" /> 137 </fileset> 138 </zip> 139 </target> 64 140 <!-- 65 141 ================= … … 79 155 <delete dir="${deploy.dir}"/> 80 156 <mkdir dir="${deploy.dir}"/> 81 157 <tstamp> 158 <format property="TODAY" pattern="yyyy.MM.dd HH:mm" /> 159 </tstamp> 82 160 <jar destfile="${deploy.dir}/temp_final.jar" filesetmanifest="skip"> 83 161 <zipgroupfileset dir="dist" includes="*.jar"/> … … 125 203 <jar destfile="${deploy.dir}/CADClient.jar" 126 204 basedir="${build.dir}/classes" 127 includes="tmcsim/client/**, tmcsim/common/**, tmcsim/interfaces/**, 128 tmcsim/cadmodels/** ">129 <zipgroupfileset dir="dist/lib" includes="xercesImpl.jar"/>205 includes="tmcsim/client/**, tmcsim/common/**, tmcsim/interfaces/**, 206 tmcsim/cadmodels/**, tmcsim/simulationmanager/model/LogEntryCellRenderer.class"> 207 <zipgroupfileset dir="dist/lib" includes="xercesImpl.jar"/> 130 208 <manifest> 131 209 <attribute name="Main-Class" value="tmcsim.client.CADClient"/> 210 <attribute name="Implementation-Version" value="${TODAY}"/> 132 211 </manifest> 133 212 </jar> -
trunk/IDE_metadata/NetBeans/TMCSim/nbproject/project.properties
r51 r59 28 28 endorsed.classpath= 29 29 excludes= 30 file.reference.commons-lang-2.4.jar=../../../lib/commons-lang-2.4.jar 30 31 file.reference.jaco-mp3-player-0.9.3.jar=../../../lib/jaco-mp3-player-0.9.3.jar 31 32 file.reference.mockito-1.10.19.jar=../../../lib/mockito-1.10.19.jar … … 33 34 file.reference.tmc-simulator-test=../../../test 34 35 file.reference.uispec4j-jdk17.jar=../../../lib/uispec4j-jdk17.jar 35 file.reference.xercesImpl.jar=../../../ src/tmcsim/cadsimulator/CADSimulator_lib/xercesImpl.jar36 file.reference.xercesImpl.jar=../../../lib/xercesImpl.jar 36 37 includes=** 37 38 jar.compress=false 38 39 javac.classpath=\ 40 ${file.reference.uispec4j-jdk17.jar}:\ 39 41 ${file.reference.xercesImpl.jar}:\ 40 ${file.reference. uispec4j-jdk17.jar}:\42 ${file.reference.jaco-mp3-player-0.9.3.jar}:\ 41 43 ${file.reference.mockito-1.10.19.jar}:\ 42 ${ libs.junit_4.classpath}:\43 ${ file.reference.jaco-mp3-player-0.9.3.jar}44 ${file.reference.commons-lang-2.4.jar}:\ 45 ${libs.junit_4.classpath} 44 46 # Space-separated list of extra javac options 45 47 javac.compilerargs= … … 56 58 ${javac.test.classpath} 57 59 javadoc.additionalparam= 58 javadoc.author= false60 javadoc.author=true 59 61 javadoc.encoding=${source.encoding} 60 62 javadoc.noindex=false … … 64 66 javadoc.splitindex=true 65 67 javadoc.use=true 66 javadoc.version= false68 javadoc.version=true 67 69 javadoc.windowtitle= 68 70 main.class=tmcsim.cadsimulator.CADSimulator -
trunk/src/tmcsim/application.properties
r57 r59 1 # Tue, 14 Mar 2017 20:23:50-07001 #Wed, 15 Mar 2017 11:18:58 -0700 2 2 3 Application.revision=5 63 Application.revision=58 4 4 5 Application.buildnumber=3 25 Application.buildnumber=33 -
trunk/src/tmcsim/client/cadclientgui/data/Incident.java
r53 r59 526 526 527 527 public void addToCommentsNotesTable(String[] fields) { 528 this.commentsNotesTable.insertRow(0, fields); // JD -new notes go 1st528 this.commentsNotesTable.insertRow(0, fields); // new notes go 1st 529 529 } 530 530 -
trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java
r3 r59 4 4 import java.awt.Component; 5 5 import java.awt.Dimension; 6 import java.awt.Point; 6 7 import java.awt.Toolkit; 7 8 import java.awt.datatransfer.DataFlavor; … … 14 15 import java.rmi.RemoteException; 15 16 import java.util.List; 16 17 17 import javax.swing.Box; 18 18 import javax.swing.BoxLayout; … … 23 23 import javax.swing.JTable; 24 24 import javax.swing.ListSelectionModel; 25 import javax.swing.RowSorter.SortKey; 25 26 import javax.swing.SwingUtilities; 26 27 import javax.swing.TransferHandler; 27 import javax.swing.RowSorter.SortKey;28 28 import javax.swing.table.DefaultTableModel; 29 29 import javax.swing.table.TableCellRenderer; 30 31 30 import tmcsim.client.cadclientgui.enums.CADDataEnums; 32 31 import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS; … … 36 35 37 36 /** 38 * This class contains the view and controller for the AssignedIncidents screen. The view was not built using a GUI builder plug-in 39 * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 40 * 37 * This class contains the view and controller for the AssignedIncidents screen. 38 * The view was not built using a GUI builder plug-in (but may want to consider 39 * doing so in the future), and the controller uses listeners to control how the 40 * view and data act. 41 * 41 42 * @author Vincent 42 43 */ 43 44 public class AssignedIncidents extends JFrame { 45 44 public class AssignedIncidents extends JFrame 45 { 46 46 private final String SCREEN_TITLE = "(Shift + F3) Assigned Incidents"; 47 48 47 private final Dimension SCREEN_DIMENSIONS = new Dimension(1400, 250); 49 50 48 private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension( 51 49 170, 20); 52 53 50 private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170, 230); 54 55 51 private final int COLUMN_WIDTH = 120; 56 57 private final String[] LABELS = { "Add Resources...", "Greater Alarm...", 58 "Reconfigure", "Open", "Recall Incident", "Cancel", "Reassign", 59 "Link/Append", "Map", "Recall Linked Incidents", "Read Notes", 60 "Page...", "Mail...", "Fax..." }; 61 52 private final String[] LABELS = 53 { 54 "Add Resources...", "Greater Alarm...", 55 "Reconfigure", "Open", "Recall Incident", "Cancel", "Reassign", 56 "Link/Append", "Map", "Recall Linked Incidents", "Read Notes", 57 "Page...", "Mail...", "Fax..." 58 }; 62 59 private final String LABEL_SPACING = " "; 63 64 60 private JTable assignedIncidentsTable; 65 61 private JFrame assignedIncidentsMenu; 66 67 62 // labels for the drop down menu 68 63 private JLabel[] dropDownLabels = new JLabel[LABELS.length]; 69 70 64 private long lastLeftClick;// used for double clicking feature 71 65 72 public AssignedIncidents() { 66 public AssignedIncidents() 67 { 73 68 initComponents(); 74 69 } 75 70 76 private void initComponents() { 71 private void initComponents() 72 { 77 73 initializeTable(); 78 74 initController(); … … 98 94 * drop feature. 99 95 */ 100 private void initializeTable() { 101 assignedIncidentsTable = new JTable(){ 96 private void initializeTable() 97 { 98 assignedIncidentsTable = new JTable() 99 { 102 100 /* 103 101 * Custom renderer to set different background/foreground colors 104 102 * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, int, int) 105 103 */ 106 public Component prepareRenderer(TableCellRenderer renderer, int row, int column){ 104 public Component prepareRenderer(TableCellRenderer renderer, int row, int column) 105 { 107 106 Component comp = super.prepareRenderer(renderer, row, column); 108 107 109 108 comp.setForeground(Color.BLACK); 110 109 comp.setBackground(Color.CYAN); 111 if(assignedIncidentsTable.getModel().getColumnName(column).equals("Unit/s")){//4 is the column for "Unit/s" 112 System.out.println("Commenting this line breaks the client"); 110 if (assignedIncidentsTable.getModel().getColumnName(column).equals("Unit/s")) 111 {//4 is the column for "Unit/s" 112 //System.out.println("Diagnostic: in AssignedIncidents.prepareRenderer()"); //Commenting this line breaks the client 113 113 comp.setBackground(Color.BLACK); 114 114 int primaryColumn = 3; 115 try { 116 switch(ScreenManager.theCoordinator.getCadDataUnitStatus( 117 (String) assignedIncidentsTable.getValueAt(row,primaryColumn))){ 118 case Assignable: 119 comp.setForeground(Color.GREEN); 120 break; 121 case Arrived: 122 comp.setForeground(Color.YELLOW); 123 break; 124 case Enroute: 125 comp.setForeground(Color.CYAN); 126 break; 127 } 128 }catch (RemoteException e){ 129 e.printStackTrace(); 115 try 116 { 117 // get the unit name from the table JD 118 String unitname = (String) assignedIncidentsTable.getValueAt(row, primaryColumn); 119 // Validate that unitname isn't blank 120 if (!unitname.equals("")) 121 { 122 // Fetch the unit's current status from server 123 UnitStatusEnums ustatus = ScreenManager.theCoordinator.getCadDataUnitStatus(unitname); 124 // Decide which color to use for displaying the status 125 switch (ustatus) 126 { 127 case Assignable: 128 comp.setForeground(Color.GREEN); 129 break; 130 case Arrived: 131 comp.setForeground(Color.YELLOW); 132 break; 133 case Enroute: 134 comp.setForeground(Color.CYAN); 135 break; 136 } 137 } 138 } catch (RemoteException e) 139 { 140 e.printStackTrace(); 130 141 } 131 142 } 132 133 if (getSelectedRow() == row){ 143 144 if (getSelectedRow() == row) 145 { 134 146 comp.setForeground(Color.WHITE); 135 147 comp.setBackground(Color.BLUE); 136 148 } 137 149 138 150 return comp; 139 151 } 140 141 public Class getColumnClass(int c) { 152 153 public Class getColumnClass(int c) 154 { 142 155 return getValueAt(0, c).getClass(); 143 156 } 144 145 157 }; 146 158 147 159 assignedIncidentsTable.setOpaque(true); 148 160 assignedIncidentsTable.setIntercellSpacing(new Dimension(1, 0)); … … 153 165 assignedIncidentsTable.setAutoCreateRowSorter(true); 154 166 assignedIncidentsTable.setModel(new DefaultTableModel()); 155 167 156 168 ((DefaultTableModel) assignedIncidentsTable.getModel()).setColumnIdentifiers(TableHeaders.ASSIGNED_INCIDENTS_HEADERS); 157 158 assignedIncidentsTable.setTransferHandler(new TransferHandler(){ 159 160 public boolean canImport(TransferHandler.TransferSupport info) { 169 170 assignedIncidentsTable.setTransferHandler(new TransferHandler() 171 { 172 public boolean canImport(TransferHandler.TransferSupport info) 173 { 161 174 // Check for String flavor 162 if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) { 175 if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) 176 { 163 177 return false; 164 178 } 165 179 return true; 166 } 167 168 public boolean importData(TransferHandler.TransferSupport info) { 169 if (!info.isDrop()) { 180 } 181 182 public boolean importData(TransferHandler.TransferSupport info) 183 { 184 if (!info.isDrop()) 185 { 170 186 return false; 171 187 } 172 173 DefaultTableModel tableModel = (DefaultTableModel) assignedIncidentsTable.getModel();174 JTable.DropLocation dl = (JTable.DropLocation) info.getDropLocation();188 189 DefaultTableModel tableModel = (DefaultTableModel) assignedIncidentsTable.getModel(); 190 JTable.DropLocation dl = (JTable.DropLocation) info.getDropLocation(); 175 191 int index = dl.getRow(); 176 192 177 193 // Get the string that is being dropped. 178 194 Transferable t = info.getTransferable(); 179 195 String data; 180 try { 181 data = (String)t.getTransferData(DataFlavor.stringFlavor); 182 } 183 catch (Exception e) { return false; } 184 196 try 197 { 198 data = (String) t.getTransferData(DataFlavor.stringFlavor); 199 } catch (Exception e) 200 { 201 return false; 202 } 203 185 204 // Perform the actual import 186 int incidentId = (Integer)assignedIncidentsTable.getValueAt(dl.getRow(), 0); 187 try { 188 ScreenManager.theCoordinator.setCadDataUnitAssignedId(data, incidentId); 189 ScreenManager.theCoordinator.setCadDataUnitValue(data, 190 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived); 191 ScreenManager.theCoordinator.addCadDataIncidentAssignedUnitNum(incidentId, data); 192 ScreenManager.theCoordinator.setCadDataIncidentStatus(incidentId, IncidentEnums.Assigned); 193 } catch (RemoteException e) { 194 e.printStackTrace(); 195 } 205 int incidentId = (Integer) assignedIncidentsTable.getValueAt(dl.getRow(), 0); 206 try 207 { 208 ScreenManager.theCoordinator.setCadDataUnitAssignedId(data, incidentId); 209 ScreenManager.theCoordinator.setCadDataUnitValue(data, 210 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived); 211 ScreenManager.theCoordinator.addCadDataIncidentAssignedUnitNum(incidentId, data); 212 ScreenManager.theCoordinator.setCadDataIncidentStatus(incidentId, IncidentEnums.Assigned); 213 } catch (RemoteException e) 214 { 215 e.printStackTrace(); 216 } 196 217 ScreenManager.refreshScreens(); 197 218 return true; 198 219 } 199 220 }); 200 201 for(int i = 0; i < assignedIncidentsTable.getColumnCount(); i++){ 221 222 for (int i = 0; i < assignedIncidentsTable.getColumnCount(); i++) 223 { 202 224 assignedIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(120); 203 225 } 204 226 } 205 227 206 228 /* 207 229 * Adds the key and mouse listeners for the table and component listener for 208 230 * screen. 209 231 */ 210 private void initController() { 211 assignedIncidentsTable.addMouseListener(new MouseListener() { 212 public void mouseClicked(MouseEvent e) { 213 if (SwingUtilities.isLeftMouseButton(e)) { 214 if (System.currentTimeMillis() - lastLeftClick < 1000) { 232 private void initController() 233 { 234 assignedIncidentsTable.addMouseListener(new MouseListener() 235 { 236 public void mouseClicked(MouseEvent e) 237 { 238 if (SwingUtilities.isLeftMouseButton(e)) 239 { 240 // TODO: Use e.getClickCount() == 2 241 if (System.currentTimeMillis() - lastLeftClick < 1000) 242 { 215 243 int idColumn = 0; 216 ScreenManager 217 .openIncidentViewer((Integer) assignedIncidentsTable 218 .getValueAt(assignedIncidentsTable 219 .getSelectedRow(), idColumn)); 220 } else { 244 int selectedRow = assignedIncidentsTable.getSelectedRow(); 245 try 246 { 247 int selectedValue = (Integer) assignedIncidentsTable.getValueAt(selectedRow, idColumn); 248 ScreenManager.openIncidentViewer(selectedValue); 249 } catch (IndexOutOfBoundsException ex) 250 { 251 ex.printStackTrace(); 252 } 253 } 254 else 255 { 221 256 lastLeftClick = System.currentTimeMillis(); 222 257 } 223 258 } 224 if (SwingUtilities.isRightMouseButton(e)) { 259 if (SwingUtilities.isRightMouseButton(e)) 260 { 261 // Fixed to force right click to cause the row to be selected. JD 262 // get the coordinates of the mouse click 263 Point p = e.getPoint(); 264 // get the row index that contains that coordinate 265 int rowNumber = assignedIncidentsTable.rowAtPoint(p); 266 // Get the ListSelectionModel of the JTable 267 ListSelectionModel model = assignedIncidentsTable.getSelectionModel(); 268 // set the selected interval of rows. Using the "rowNumber" 269 // variable for the beginning and end selects only that one row. 270 model.setSelectionInterval(rowNumber, rowNumber); 271 // go open the drop down menu 225 272 openDropDownMenu(e); 226 } else { 273 } 274 else 275 { 227 276 closeDropDownMenu(); 228 277 } 229 278 } 230 279 231 public void mouseEntered(MouseEvent e) { 232 } 233 234 public void mouseExited(MouseEvent e) { 235 } 236 237 public void mousePressed(MouseEvent e) { 238 } 239 240 public void mouseReleased(MouseEvent e) { 280 public void mouseEntered(MouseEvent e) 281 { 282 } 283 284 public void mouseExited(MouseEvent e) 285 { 286 } 287 288 public void mousePressed(MouseEvent e) 289 { 290 } 291 292 public void mouseReleased(MouseEvent e) 293 { 241 294 } 242 295 }); 243 296 244 addComponentListener(new ComponentListener() { 245 public void componentHidden(ComponentEvent e) { 246 } 247 248 public void componentMoved(ComponentEvent e) { 297 addComponentListener(new ComponentListener() 298 { 299 public void componentHidden(ComponentEvent e) 300 { 301 } 302 303 public void componentMoved(ComponentEvent e) 304 { 249 305 closeDropDownMenu(); 250 306 } 251 307 252 public void componentResized(ComponentEvent e) { 253 } 254 255 public void componentShown(ComponentEvent e) { 308 public void componentResized(ComponentEvent e) 309 { 310 } 311 312 public void componentShown(ComponentEvent e) 313 { 256 314 } 257 315 }); … … 262 320 * on the table. 263 321 */ 264 private void initializeDropDownMenu() { 322 private void initializeDropDownMenu() 323 { 265 324 Box menu = new Box(BoxLayout.Y_AXIS); 266 325 initializeDropDownLabels(); … … 282 341 * Sets the text and size and adds a listener to each activated label. 283 342 */ 284 private void initializeDropDownLabels() { 285 for (int i = 0; i < dropDownLabels.length; i++) { 343 private void initializeDropDownLabels() 344 { 345 for (int i = 0; i < dropDownLabels.length; i++) 346 { 286 347 dropDownLabels[i] = new JLabel(LABEL_SPACING + LABELS[i]); 287 348 dropDownLabels[i].setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS); … … 298 359 * between. 299 360 */ 300 private void addLabelsToBox(Box menu) { 361 private void addLabelsToBox(Box menu) 362 { 301 363 menu.add(dropDownLabels[0]); 302 364 menu.add(dropDownLabels[1]); … … 335 397 * Sets the highlighted color(when the mouse is over it) of the JLabels. 336 398 * Note: the color is not shown until .setOpaque(true) is called. 337 * 399 * 338 400 * @param color the highlighted color 339 401 */ 340 public void setMenuHighlightedBackground(Color color) { 341 for (int i = 0; i < dropDownLabels.length; i++) { 402 public void setMenuHighlightedBackground(Color color) 403 { 404 for (int i = 0; i < dropDownLabels.length; i++) 405 { 342 406 dropDownLabels[i].setBackground(color); 343 407 } … … 347 411 * Sets all JLabels to not display a highlighted background 348 412 */ 349 public void unSelectAllLabels() { 350 for (int i = 0; i < dropDownLabels.length; i++) { 413 public void unSelectAllLabels() 414 { 415 for (int i = 0; i < dropDownLabels.length; i++) 416 { 351 417 dropDownLabels[i].setOpaque(false); 352 418 } … … 355 421 /* 356 422 * Sets the label to have a highlighted background. 357 * 423 * 358 424 * @param label the label that is selected/highlighted 359 425 */ 360 public void selectLabel(Object label) { 426 public void selectLabel(Object label) 427 { 361 428 ((JLabel) label).setOpaque(true); 362 429 } … … 365 432 * Performs the label action depending on which label was clicked. 366 433 */ 367 public void performLabelAction(Object label) { 368 if (label.equals(dropDownLabels[0])) {// Add Resources 369 370 } else if (label.equals(dropDownLabels[1])) {// Greater Alarm 371 372 } else if (label.equals(dropDownLabels[2])) {// Reconfigure 373 374 } else if (label.equals(dropDownLabels[3])) {// Open 434 public void performLabelAction(Object label) 435 { 436 if (label.equals(dropDownLabels[0])) 437 {// Add Resources 438 } 439 else if (label.equals(dropDownLabels[1])) 440 {// Greater Alarm 441 } 442 else if (label.equals(dropDownLabels[2])) 443 {// Reconfigure 444 } 445 else if (label.equals(dropDownLabels[3])) 446 {// Open 447 int idColumn = 0; 448 int selectedRow = assignedIncidentsTable.getSelectedRow(); 449 try 450 { 451 int selectedValue = (Integer) assignedIncidentsTable.getValueAt(selectedRow, idColumn); 452 ScreenManager.openIncidentViewer(selectedValue); 453 } catch (IndexOutOfBoundsException ex) 454 { 455 ex.printStackTrace(); 456 } 457 } 458 else if (label.equals(dropDownLabels[4])) 459 {// Recall Incident 460 } 461 else if (label.equals(dropDownLabels[5])) 462 {// Cancel 463 } 464 else if (label.equals(dropDownLabels[6])) 465 {// Reassign 466 } 467 else if (label.equals(dropDownLabels[7])) 468 {// Link append 469 } 470 else if (label.equals(dropDownLabels[8])) 471 {// Map 472 } 473 else if (label.equals(dropDownLabels[9])) 474 {// Recall Linked Incidents 475 } 476 else if (label.equals(dropDownLabels[10])) 477 {// Read Notes 375 478 int idColumn = 0; 376 479 ScreenManager.openIncidentViewer((Integer) assignedIncidentsTable 377 480 .getValueAt(assignedIncidentsTable.getSelectedRow(), 378 idColumn)); 379 } else if (label.equals(dropDownLabels[4])) {// Recall Incident 380 381 } else if (label.equals(dropDownLabels[5])) {// Cancel 382 383 } else if (label.equals(dropDownLabels[6])) {// Reassign 384 385 } else if (label.equals(dropDownLabels[7])) {// Link append 386 387 } else if (label.equals(dropDownLabels[8])) {// Map 388 389 } else if (label.equals(dropDownLabels[9])) {// Recall Linked Incidents 390 391 } else if (label.equals(dropDownLabels[10])) {// Read Notes 392 int idColumn = 0; 393 ScreenManager.openIncidentViewer((Integer) assignedIncidentsTable 394 .getValueAt(assignedIncidentsTable.getSelectedRow(), 395 idColumn)); 396 } else if (label.equals(dropDownLabels[11])) {// Page 397 398 } else if (label.equals(dropDownLabels[12])) {// Mail 399 400 } else if (label.equals(dropDownLabels[13])) {// Fax 401 481 idColumn)); 482 } 483 else if (label.equals(dropDownLabels[11])) 484 {// Page 485 } 486 else if (label.equals(dropDownLabels[12])) 487 {// Mail 488 } 489 else if (label.equals(dropDownLabels[13])) 490 {// Fax 402 491 } 403 492 } … … 409 498 * designates. 410 499 */ 411 public void addMouseListenersToLabel(JLabel label) { 412 label.addMouseMotionListener(new MouseMotionListener() { 413 public void mouseDragged(MouseEvent e) { 414 } 415 416 public void mouseMoved(MouseEvent e) { 500 public void addMouseListenersToLabel(JLabel label) 501 { 502 label.addMouseMotionListener(new MouseMotionListener() 503 { 504 public void mouseDragged(MouseEvent e) 505 { 506 } 507 508 public void mouseMoved(MouseEvent e) 509 { 417 510 unSelectAllLabels(); 418 511 selectLabel(e.getSource()); … … 421 514 } 422 515 }); 423 label.addMouseListener(new MouseListener() { 424 public void mouseClicked(MouseEvent e) { 516 label.addMouseListener(new MouseListener() 517 { 518 public void mouseClicked(MouseEvent e) 519 { 425 520 performLabelAction(e.getSource()); 426 521 unSelectAllLabels(); … … 430 525 } 431 526 432 public void mouseEntered(MouseEvent e) { 433 } 434 435 public void mouseExited(MouseEvent e) { 436 } 437 438 public void mousePressed(MouseEvent e) { 439 } 440 441 public void mouseReleased(MouseEvent e) { 527 public void mouseEntered(MouseEvent e) 528 { 529 } 530 531 public void mouseExited(MouseEvent e) 532 { 533 } 534 535 public void mousePressed(MouseEvent e) 536 { 537 } 538 539 public void mouseReleased(MouseEvent e) 540 { 442 541 } 443 542 }); … … 447 546 * Displays the menu where the right click occurred. 448 547 */ 449 public void openDropDownMenu(MouseEvent e) { 548 public void openDropDownMenu(MouseEvent e) 549 { 450 550 assignedIncidentsMenu.setLocation(e.getX() + this.getX(), e.getY() 451 551 + this.getY()); … … 456 556 * Hides the menu. 457 557 */ 458 public void closeDropDownMenu() { 558 public void closeDropDownMenu() 559 { 459 560 unSelectAllLabels(); 460 561 assignedIncidentsMenu.revalidate(); … … 465 566 /* 466 567 * Refreshes the data in the table by updating all data and repainting the 467 * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 568 * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 468 569 * and applies them to the updated model it receives from the server. 469 570 */ 470 public void refreshTable() { 471 472 if(assignedIncidentsTable.getTableHeader().getResizingColumn() == null){//only update info if resize not in progress 473 try { 571 public void refreshTable() 572 { 573 574 if (assignedIncidentsTable.getTableHeader().getResizingColumn() == null) 575 {//only update info if resize not in progress 576 try 577 { 474 578 int index = assignedIncidentsTable.getSelectedRow(); 475 579 int[] columnWidths = new int[20]; 476 580 List<? extends SortKey> keys = assignedIncidentsTable.getRowSorter().getSortKeys(); 477 for(int i = 0; i < assignedIncidentsTable.getColumnCount(); i++){ 581 for (int i = 0; i < assignedIncidentsTable.getColumnCount(); i++) 582 { 478 583 columnWidths[i] = assignedIncidentsTable.getColumnModel().getColumn(i).getWidth(); 479 584 } 480 585 481 586 assignedIncidentsTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.ASSIGNED_INCIDENTS)); 482 483 for(int i = 0; i < assignedIncidentsTable.getColumnCount(); i++){ 587 588 for (int i = 0; i < assignedIncidentsTable.getColumnCount(); i++) 589 { 484 590 assignedIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]); 485 591 } 486 592 assignedIncidentsTable.getRowSorter().setSortKeys(keys); 487 593 assignedIncidentsTable.getSelectionModel().setSelectionInterval(index, index); 488 } catch (RemoteException e) { 489 e.printStackTrace(); 490 } 491 revalidate(); 492 repaint(); 493 } 594 } catch (RemoteException e) 595 { 596 e.printStackTrace(); 597 } 598 revalidate(); 599 repaint(); 600 } 494 601 } 495 602 … … 497 604 * Makes screen visible. 498 605 */ 499 public void open() { 606 public void open() 607 { 500 608 setVisible(true); 501 609 } … … 504 612 * Hides screen. 505 613 */ 506 public void close() { 614 public void close() 615 { 507 616 setVisible(false); 508 617 } 509 510 618 } -
trunk/src/tmcsim/client/cadclientgui/screens/CADMenu.java
r40 r59 13 13 import java.awt.event.MouseListener; 14 14 import java.awt.event.MouseMotionListener; 15 import java.io.File;16 15 import java.io.IOException; 17 16 import java.net.MalformedURLException; … … 23 22 import java.util.logging.Logger; 24 23 import javax.imageio.ImageIO; 25 26 24 import javax.swing.Box; 27 25 import javax.swing.BoxLayout; … … 30 28 import javax.swing.JFrame; 31 29 import javax.swing.JLabel; 32 import static javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE;33 30 34 31 /** … … 39 36 * "CADMenuLayout" can also be found in the same folder showing how this class's 40 37 * looks were made. 41 * 38 * 42 39 * @author Vincent 43 * 40 * 44 41 */ 45 public class CADMenu extends JFrame {46 42 public class CADMenu extends JFrame 43 { 47 44 private final int ONE_SECOND = 1000; 48 49 45 private DateFormat dateFormat; 50 51 46 private Box mainPanel; 52 47 private Box bottomRightIcons; … … 56 51 private JLabel name; 57 52 private JLabel userListName1; 58 59 53 private JButton button1; 60 54 private JButton button2; … … 65 59 private JButton buttonTool; 66 60 private JButton buttonMore; 67 68 61 // the drop down menu when the "more button" is clicked. 69 62 private JFrame moreMenu; 70 71 63 // the drop down menu when the "tool button" is clicked. 72 64 private JFrame toolMenu; 73 74 65 private JButton buttonCheckmark; 75 66 private JButton buttonMinus; 76 77 67 private JLabel position; 78 68 … … 80 70 * Constructor call. Creates the CADMenu. 81 71 */ 82 public CADMenu() { 72 public CADMenu() 73 { 83 74 initialize(); 84 75 createTopPanel(); 85 76 createBottomPanel(); 86 77 createDropDownMenus(); 87 78 88 79 initControllers(); 89 80 90 81 getContentPane().add(mainPanel); 91 92 setTitle("Inform CAD"); 93 URL url = null; 94 try 95 { 96 url = new URL("http://i1030.photobucket.com/albums/y362/sendeva66/antclipart2.jpg"); 97 } catch (MalformedURLException ex) 98 { 99 Logger.getLogger(CADMenu.class.getName()).log(Level.SEVERE, "can't access url", ex); 82 setTitle("Inform CAD "); 83 // Load an image for the task bar icon --JD 84 // First try to get the image from a local file 85 ImageIcon coolIcon = new ImageIcon("images/CADMenuImages/US_101_icon.png"); 86 if (coolIcon.getIconWidth() >= 0) 87 { 88 setIconImage(coolIcon.getImage()); 100 89 } 101 Image image = null; 102 try 103 { 104 image = ImageIO.read(url); 105 setIconImage(image); 106 } catch (IOException ex) 107 { 108 Logger.getLogger(CADMenu.class.getName()).log(Level.SEVERE, null, ex); 90 else // if no local file found, try a URL 91 { 92 URL url; 93 Image img = null; 94 try 95 { 96 String iconURL = "http://www.chicagonow.com/running-with-a-book-cart/files/2012/02/crosswalk1.jpg"; 97 url = new URL(iconURL); 98 img = ImageIO.read(url); 99 setIconImage(img); 100 } catch (MalformedURLException ex) 101 { 102 Logger.getLogger(CADMenu.class.getName()).log(Level.SEVERE, null, ex); 103 } catch (IOException ex) 104 { 105 Logger.getLogger(CADMenu.class.getName()).log(Level.SEVERE, null, ex); 106 } 109 107 } 110 // Doesn't work: file path problem?111 // ImageIcon myIcon = new ImageIcon(getClass().getClassLoader().getResource("images/CADicon.png"));112 // setIconImage(myIcon.getImage());113 108 setPreferredSize(new Dimension(1195, 178)); 114 109 setResizable(true); … … 125 120 * Initializes variables and connects the CADMenu to the CADMenuListener. 126 121 */ 127 public void initialize() { 122 public void initialize() 123 { 128 124 mainPanel = new Box(BoxLayout.Y_AXIS); 129 125 mainPanel.setAlignmentX(LEFT_ALIGNMENT); … … 131 127 } 132 128 133 public void addListeners() { 134 addComponentListener(new ComponentListener() { 135 public void componentHidden(ComponentEvent e) { 136 } 137 138 public void componentMoved(ComponentEvent e) { 129 public void addListeners() 130 { 131 addComponentListener(new ComponentListener() 132 { 133 public void componentHidden(ComponentEvent e) 134 { 135 } 136 137 public void componentMoved(ComponentEvent e) 138 { 139 139 closeToolMenu(); 140 140 closeMoreMenu(); … … 142 142 } 143 143 144 public void componentResized(ComponentEvent e) { 145 } 146 147 public void componentShown(ComponentEvent e) { 144 public void componentResized(ComponentEvent e) 145 { 146 } 147 148 public void componentShown(ComponentEvent e) 149 { 148 150 } 149 151 }); 150 addMouseListener(new MouseListener() { 151 public void mouseClicked(MouseEvent arg0) { 152 addMouseListener(new MouseListener() 153 { 154 public void mouseClicked(MouseEvent arg0) 155 { 152 156 closeToolMenu(); 153 157 closeMoreMenu(); 154 158 } 155 159 156 public void mouseEntered(MouseEvent arg0) { 157 } 158 159 public void mouseExited(MouseEvent arg0) { 160 } 161 162 public void mousePressed(MouseEvent arg0) { 163 } 164 165 public void mouseReleased(MouseEvent arg0) { 160 public void mouseEntered(MouseEvent arg0) 161 { 162 } 163 164 public void mouseExited(MouseEvent arg0) 165 { 166 } 167 168 public void mousePressed(MouseEvent arg0) 169 { 170 } 171 172 public void mouseReleased(MouseEvent arg0) 173 { 166 174 } 167 175 }); 168 176 } 169 170 public void initToolMenuListeners(){ 171 toolMenu.addMouseMotionListener(new MouseMotionListener() { 172 public void mouseDragged(MouseEvent e) { 173 } 174 175 public void mouseMoved(MouseEvent e) { 177 178 public void initToolMenuListeners() 179 { 180 toolMenu.addMouseMotionListener(new MouseMotionListener() 181 { 182 public void mouseDragged(MouseEvent e) 183 { 184 } 185 186 public void mouseMoved(MouseEvent e) 187 { 176 188 } 177 189 }); 178 190 179 toolMenu.addMouseListener(new MouseListener() { 180 public void mouseEntered(MouseEvent e) { 181 } 182 183 public void mouseExited(MouseEvent e) { 184 } 185 186 public void mousePressed(MouseEvent e) { 187 } 188 189 public void mouseReleased(MouseEvent e) { 190 } 191 192 public void mouseClicked(MouseEvent e) { 191 toolMenu.addMouseListener(new MouseListener() 192 { 193 public void mouseEntered(MouseEvent e) 194 { 195 } 196 197 public void mouseExited(MouseEvent e) 198 { 199 } 200 201 public void mousePressed(MouseEvent e) 202 { 203 } 204 205 public void mouseReleased(MouseEvent e) 206 { 207 } 208 209 public void mouseClicked(MouseEvent e) 210 { 193 211 } 194 212 }); 195 213 } 196 197 public void initMoreMenuListeners(){ 198 moreMenu.addMouseMotionListener(new MouseMotionListener() { 199 public void mouseDragged(MouseEvent e) { 200 } 201 202 public void mouseMoved(MouseEvent e) { 214 215 public void initMoreMenuListeners() 216 { 217 moreMenu.addMouseMotionListener(new MouseMotionListener() 218 { 219 public void mouseDragged(MouseEvent e) 220 { 221 } 222 223 public void mouseMoved(MouseEvent e) 224 { 203 225 ImageIcon image = new ImageIcon( 204 226 "images/MoreMenuImages/moreMenu.png"); … … 206 228 if (e.getLocationOnScreen().getY() >= moreMenu.getY() 207 229 && e.getLocationOnScreen().getY() <= moreMenu.getY() 208 + moreMenu.getHeight() / 8) { 230 + moreMenu.getHeight() / 8) 231 { 209 232 image = new ImageIcon( 210 233 "images/MoreMenuImages/moreMenuHighlighted1.png"); 211 } else if (e.getLocationOnScreen().getY() >= moreMenu.getY() 234 } 235 else if (e.getLocationOnScreen().getY() >= moreMenu.getY() 212 236 + moreMenu.getHeight() * 2 / 8 213 237 && e.getLocationOnScreen().getY() <= moreMenu.getY() 214 + moreMenu.getHeight() * 3 / 8) { 238 + moreMenu.getHeight() * 3 / 8) 239 { 215 240 image = new ImageIcon( 216 241 "images/MoreMenuImages/moreMenuHighlighted3.png"); … … 223 248 }); 224 249 225 moreMenu.addMouseListener(new MouseListener() { 226 public void mouseEntered(MouseEvent e) { 227 } 228 229 public void mouseExited(MouseEvent e) { 230 } 231 232 public void mousePressed(MouseEvent e) { 233 } 234 235 public void mouseReleased(MouseEvent e) { 236 } 237 238 public void mouseClicked(MouseEvent e) { 250 moreMenu.addMouseListener(new MouseListener() 251 { 252 public void mouseEntered(MouseEvent e) 253 { 254 } 255 256 public void mouseExited(MouseEvent e) 257 { 258 } 259 260 public void mousePressed(MouseEvent e) 261 { 262 } 263 264 public void mouseReleased(MouseEvent e) 265 { 266 } 267 268 public void mouseClicked(MouseEvent e) 269 { 239 270 if (e.getLocationOnScreen().getY() >= moreMenu.getY() 240 271 && e.getLocationOnScreen().getY() <= moreMenu.getY() 241 + moreMenu.getHeight() / 8) { 272 + moreMenu.getHeight() / 8) 273 { 242 274 ScreenManager.openIncidentEditor(); 243 275 closeMoreMenu(); 244 } else if (e.getLocationOnScreen().getY() >= moreMenu.getY() 276 } 277 else if (e.getLocationOnScreen().getY() >= moreMenu.getY() 245 278 + moreMenu.getHeight() * 2 / 8 246 279 && e.getLocationOnScreen().getY() <= moreMenu.getY() 247 + moreMenu.getHeight() * 3 / 8) { 280 + moreMenu.getHeight() * 3 / 8) 281 { 248 282 ScreenManager.openCardfile(); 249 283 closeMoreMenu(); … … 252 286 }); 253 287 } 254 255 public void initControllers(){ 288 289 public void initControllers() 290 { 256 291 addListeners(); 257 292 258 293 buttonTool.addActionListener(newToolActionListener()); 259 294 buttonMore.addActionListener(newMoreActionListener()); 260 295 261 296 initToolMenuListeners(); 262 initMoreMenuListeners(); 263 } 264 265 public ActionListener newToolActionListener(){ 266 return new ActionListener() { 267 public void actionPerformed(ActionEvent arg0) { 268 if (moreMenu.isVisible()) { 297 initMoreMenuListeners(); 298 } 299 300 public ActionListener newToolActionListener() 301 { 302 return new ActionListener() 303 { 304 public void actionPerformed(ActionEvent arg0) 305 { 306 if (moreMenu.isVisible()) 307 { 269 308 closeMoreMenu(); 270 309 } 271 if (toolMenu.isVisible()) { 310 if (toolMenu.isVisible()) 311 { 272 312 closeToolMenu(); 273 } else { 313 } 314 else 315 { 274 316 toolMenu.setLocation(new Point(getX() + getWidth() 275 317 - toolMenu.getWidth(), getY() + 85)); … … 279 321 }; 280 322 } 281 282 public ActionListener newMoreActionListener(){ 283 return new ActionListener() { 284 public void actionPerformed(ActionEvent arg0) { 285 if (toolMenu.isVisible()) { 323 324 public ActionListener newMoreActionListener() 325 { 326 return new ActionListener() 327 { 328 public void actionPerformed(ActionEvent arg0) 329 { 330 if (toolMenu.isVisible()) 331 { 286 332 closeToolMenu(); 287 333 } 288 if (moreMenu.isVisible()) { 334 if (moreMenu.isVisible()) 335 { 289 336 closeMoreMenu(); 290 } else { 337 } 338 else 339 { 291 340 moreMenu.setLocation(new Point(getX() + getWidth() 292 341 - moreMenu.getWidth(), getY() + 85)); … … 296 345 }; 297 346 } 298 347 299 348 /* 300 349 * Creates the topPanel for the CADMenu. 301 350 */ 302 public void createTopPanel() { 351 public void createTopPanel() 352 { 303 353 304 354 Box topPanel = new Box(BoxLayout.X_AXIS); … … 390 440 * Creates the bottomPanel of the CADMenu. 391 441 */ 392 public void createBottomPanel() { 442 public void createBottomPanel() 443 { 393 444 Color grayBackground = new Color(100, 100, 100); 394 445 … … 477 528 * Creates the two bottom right buttons. 478 529 */ 479 public void createBottomRightButtons() { 530 public void createBottomRightButtons() 531 { 480 532 bottomRightButtonsGrayed = new Box(BoxLayout.X_AXIS); 481 533 ImageIcon image = new ImageIcon( … … 502 554 * buttons 503 555 */ 504 public void createDropDownMenus() { 556 public void createDropDownMenus() 557 { 505 558 506 559 ImageIcon image = new ImageIcon("images/ToolMenuImages/toolMenu.png"); … … 524 577 * Takes in the name of the user and displays it. 525 578 */ 526 public void setName(String username) { 579 public void setName(String username) 580 { 527 581 name.setText(username); 528 582 userListName1.setText(username); 529 583 } 530 584 /** 585 * Accessor to the user's name (for use in IncidentViewer comments 586 */ 587 public String getName() 588 { 589 return name.getText(); 590 } 591 531 592 /** 532 593 * Factory method. Makes a JButton with an image and listener. 533 * 534 * @param image 535 * the image this button will display. 536 * @param listener 537 * the action listener for this button. 594 * 595 * @param image the image this button will display. 596 * @param listener the action listener for this button. 538 597 * @return the JButton. 539 598 */ 540 public JButton makeButton(ImageIcon image) { 599 public JButton makeButton(ImageIcon image) 600 { 541 601 JButton button = new JButton(image); 542 602 Dimension size = new Dimension(image.getImage().getWidth(null), image … … 555 615 * highlighted rows). 556 616 */ 557 public void closeToolMenu() { 617 public void closeToolMenu() 618 { 558 619 ImageIcon image; 559 620 JLabel menu; … … 570 631 * highlighted rows). 571 632 */ 572 public void closeMoreMenu() { 633 public void closeMoreMenu() 634 { 573 635 ImageIcon image; 574 636 JLabel menu; … … 585 647 * time every second. 586 648 */ 587 public void handleUpdateTime() { 649 public void handleUpdateTime() 650 { 588 651 Date date = new Date(); 589 652 String dateTime = dateFormat.format(date); … … 594 657 * Makes screen visible. 595 658 */ 596 public void open() { 659 public void open() 660 { 597 661 setVisible(true); 598 662 } … … 601 665 * Hides screen. 602 666 */ 603 public void close() { 667 public void close() 668 { 604 669 setVisible(false); 605 670 } … … 608 673 * Currently not used. 609 674 */ 610 public void setIncomingIncident() { 675 public void setIncomingIncident() 676 { 611 677 bottomRightIcons.remove(bottomRightButtonsGrayed); 612 678 bottomRightIcons.add(bottomRightButtonsColored); … … 618 684 * Currently not used. 619 685 */ 620 public void endIncomingIncident() { 686 public void endIncomingIncident() 687 { 621 688 bottomRightIcons.remove(bottomRightButtonsColored); 622 689 bottomRightIcons.add(bottomRightButtonsGrayed); … … 628 695 * Sets position title to trainee. 629 696 */ 630 public void removeDispatcherStatus() { 697 public void removeDispatcherStatus() 698 { 631 699 position.setText("Trainee"); 632 700 } 633 634 701 } -
trunk/src/tmcsim/client/cadclientgui/screens/IncidentEditor.java
r3 r59 1 /*2 * To change this template, choose Tools | Templates3 * and open the template in the editor.4 */5 1 package tmcsim.client.cadclientgui.screens; 6 2 … … 17 13 import java.util.Calendar; 18 14 import java.util.Date; 19 20 15 import javax.swing.BorderFactory; 21 16 import javax.swing.DefaultListModel; … … 30 25 import javax.swing.table.DefaultTableModel; 31 26 import javax.swing.table.TableCellRenderer; 32 27 import tmcsim.client.cadclientgui.enums.CADDataEnums.TABLE; 33 28 import tmcsim.client.cadclientgui.enums.TableHeaders; 34 import tmcsim.client.cadclientgui.enums.CADDataEnums.TABLE;35 29 36 30 /** 37 * This class contains the view and controller for the IncidentEditor screen. The view is built using a GUI builder plug-in, and the controller 38 * uses listeners to control how the view and data act. 31 * This class contains the view and controller for the IncidentEditor screen. 32 * The view is built using a GUI builder plug-in, and the controller uses 33 * listeners to control how the view and data act. 34 * 39 35 * @author Stuart 40 36 */ 41 public class IncidentEditor extends javax.swing.JFrame { 42 43 private final String[] monthNames = { "January", "February", 44 "March", "April", "May", "June", "July", "August", "September", 45 "October", "November", "December"}; 46 47 private final String[] dayNames = { "Sun", "Mon", "Tue", "Wed", 48 "Thu", "Fri", "Sat"}; 49 37 public class IncidentEditor extends javax.swing.JFrame 38 { 39 private final String[] monthNames = 40 { 41 "January", "February", 42 "March", "April", "May", "June", "July", "August", "September", 43 "October", "November", "December" 44 }; 45 private final String[] dayNames = 46 { 47 "Sun", "Mon", "Tue", "Wed", 48 "Thu", "Fri", "Sat" 49 }; 50 50 private DefaultTableModel blankTable; 51 52 51 private JTable calendarTable; 53 52 private int todayRow; … … 57 56 * Creates new form IncidentEditor 58 57 */ 59 public IncidentEditor() { 58 public IncidentEditor() 59 { 60 60 declareComponents(); 61 61 initControllers(); … … 71 71 // <editor-fold defaultstate="collapsed" 72 72 // desc="Generated Code">//GEN-BEGIN:initComponents 73 private void declareComponents() { 73 private void declareComponents() 74 { 74 75 75 76 incidentLogScroll = new javax.swing.JScrollPane(); … … 93 94 toCalendar = new javax.swing.JPanel(); 94 95 } 95 96 public MouseListener newMouseListener(){ 97 return new MouseListener() { 98 public void mouseClicked(MouseEvent e) { 96 97 public MouseListener newMouseListener() 98 { 99 return new MouseListener() 100 { 101 public void mouseClicked(MouseEvent e) 102 { 99 103 viewButton.setEnabled(true); 100 104 } 101 105 102 public void mouseEntered(MouseEvent e) { 103 } 104 105 public void mouseExited(MouseEvent e) { 106 } 107 108 public void mousePressed(MouseEvent e) { 109 } 110 111 public void mouseReleased(MouseEvent e) { 112 } 113 }; 114 } 115 116 public ActionListener newSearchActionListener(){ 117 return new ActionListener() { 118 public void actionPerformed(ActionEvent e) { 106 public void mouseEntered(MouseEvent e) 107 { 108 } 109 110 public void mouseExited(MouseEvent e) 111 { 112 } 113 114 public void mousePressed(MouseEvent e) 115 { 116 } 117 118 public void mouseReleased(MouseEvent e) 119 { 120 } 121 }; 122 } 123 124 public ActionListener newSearchActionListener() 125 { 126 return new ActionListener() 127 { 128 public void actionPerformed(ActionEvent e) 129 { 119 130 ScreenManager.openSearch(); 120 131 } 121 122 }; 123 } 124 125 public ActionListener newViewActionListener(){ 126 return new ActionListener() { 127 public void actionPerformed(ActionEvent e) { 132 }; 133 } 134 135 public ActionListener newViewActionListener() 136 { 137 return new ActionListener() 138 { 139 public void actionPerformed(ActionEvent e) 140 { 128 141 String masterInc = (String) incidentLogTable.getValueAt( 129 142 incidentLogTable.getSelectedRow(), 5); 130 143 int incidentId = 0; 131 try { 144 try 145 { 132 146 incidentId = ScreenManager.theCoordinator 133 147 .getIncidentId(masterInc); 134 } catch (RemoteException e1) { 148 } catch (RemoteException e1) 149 { 135 150 e1.printStackTrace(); 136 151 } … … 139 154 }; 140 155 } 141 142 public ActionListener newRefreshActionListener(){ 143 return new ActionListener() { 144 public void actionPerformed(ActionEvent e) { 156 157 public ActionListener newRefreshActionListener() 158 { 159 return new ActionListener() 160 { 161 public void actionPerformed(ActionEvent e) 162 { 145 163 refreshInformation(); 146 164 } 147 165 }; 148 166 } 149 150 public ActionListener newExitActionListener(){ 151 return new ActionListener() { 152 public void actionPerformed(ActionEvent arg0) { 167 168 public ActionListener newExitActionListener() 169 { 170 return new ActionListener() 171 { 172 public void actionPerformed(ActionEvent arg0) 173 { 153 174 close(); 154 175 } 155 176 }; 156 177 } 157 158 private void initControllers() { 159 178 179 private void initControllers() 180 { 181 160 182 incidentLogTable.addMouseListener(newMouseListener()); 161 183 162 184 searchButton.addActionListener(newSearchActionListener()); 163 185 viewButton.addActionListener(newViewActionListener()); … … 165 187 exitButton.addActionListener(newExitActionListener()); 166 188 } 167 168 private void initLayout() { 189 190 private void initLayout() 191 { 169 192 blankTable = new DefaultTableModel(); 170 193 blankTable.setColumnIdentifiers(TableHeaders.INCIDENT_EDITOR_HEADERS); … … 195 218 196 219 currentDatabaseCombo.setModel(new javax.swing.DefaultComboBoxModel( 197 new String[] { "System" })); 220 new String[] 221 { 222 "System" 223 })); 198 224 currentDatabaseCombo.setEnabled(false); 199 225 … … 202 228 fromCalendar = createCalendar(); 203 229 toCalendar = createCalendar(); 204 230 205 231 reopenButton.setText("ReOpen"); 206 232 reopenButton.setEnabled(false); … … 211 237 212 238 searchButton.setText("Search"); 213 239 214 240 printButton.setText("Print"); 215 241 printButton.setEnabled(false); … … 217 243 viewButton.setText("View"); 218 244 viewButton.setEnabled(false); 219 245 220 246 refreshButton.setText("Refresh"); 221 247 exitButton.setText("Exit"); 222 248 223 249 fromLabel.setText("From..."); 224 250 225 251 toLabel.setText("To..."); 226 252 227 253 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 228 254 getContentPane().setLayout(layout); 229 255 layout.setHorizontalGroup( 230 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)231 .addComponent(incidentLogScroll)232 .addGroup(layout.createSequentialGroup()256 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 257 .addComponent(incidentLogScroll) 258 .addGroup(layout.createSequentialGroup() 233 259 .addContainerGap() 234 260 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 235 .addComponent(agencyTypeLabel)236 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)237 .addGroup(layout.createSequentialGroup()238 .addGap(10, 10, 10)239 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)240 .addComponent(currentDatabaseLabel)241 .addComponent(currentDatabaseCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)))242 .addComponent(searchLimitLabel))261 .addComponent(agencyTypeLabel) 262 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) 263 .addGroup(layout.createSequentialGroup() 264 .addGap(10, 10, 10) 265 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 266 .addComponent(currentDatabaseLabel) 267 .addComponent(currentDatabaseCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))) 268 .addComponent(searchLimitLabel)) 243 269 .addGap(32, 32, 32) 244 270 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 245 .addComponent(fromLabel)246 .addComponent(fromCalendar, 200, 200, 200))271 .addComponent(fromLabel) 272 .addComponent(fromCalendar, 200, 200, 200)) 247 273 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE) 248 274 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 249 .addComponent(toLabel)250 .addComponent(toCalendar, 200, 200, 200))275 .addComponent(toLabel) 276 .addComponent(toCalendar, 200, 200, 200)) 251 277 .addGap(25, 25, 25) 252 278 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 253 .addComponent(reopenButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 254 .addComponent(duplicateCellButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 255 .addComponent(searchButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 256 .addComponent(printButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 257 .addComponent(viewButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 258 .addComponent(refreshButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 259 .addComponent(exitButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) 260 ); 279 .addComponent(reopenButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 280 .addComponent(duplicateCellButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 281 .addComponent(searchButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 282 .addComponent(printButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 283 .addComponent(viewButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 284 .addComponent(refreshButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 285 .addComponent(exitButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))); 261 286 layout.setVerticalGroup( 262 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)263 .addGroup(layout.createSequentialGroup()287 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 288 .addGroup(layout.createSequentialGroup() 264 289 .addComponent(incidentLogScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE) 265 290 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 266 291 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 267 .addComponent(agencyTypeLabel)268 .addComponent(reopenButton)269 .addComponent(fromLabel)270 .addComponent(toLabel))292 .addComponent(agencyTypeLabel) 293 .addComponent(reopenButton) 294 .addComponent(fromLabel) 295 .addComponent(toLabel)) 271 296 .addGap(2, 2, 2) 272 297 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 273 .addGroup(layout.createSequentialGroup() 274 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) 275 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 276 .addComponent(currentDatabaseLabel) 277 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 278 .addComponent(currentDatabaseCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 279 .addGap(18, 18, 18) 280 .addComponent(searchLimitLabel)) 281 .addGroup(layout.createSequentialGroup() 282 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 283 .addComponent(fromCalendar, 150, 150, 150) 284 .addComponent(toCalendar, 150, 150, 150))) 285 .addGroup(layout.createSequentialGroup() 286 .addComponent(duplicateCellButton) 287 .addGap(2, 2, 2) 288 .addComponent(searchButton) 289 .addGap(2, 2, 2) 290 .addComponent(printButton) 291 .addGap(2, 2, 2) 292 .addComponent(viewButton) 293 .addGap(2, 2, 2) 294 .addComponent(refreshButton) 295 .addGap(2, 2, 2) 296 .addComponent(exitButton))) 297 .addGap(0, 41, Short.MAX_VALUE)) 298 ); 298 .addGroup(layout.createSequentialGroup() 299 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) 300 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 301 .addComponent(currentDatabaseLabel) 302 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 303 .addComponent(currentDatabaseCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 304 .addGap(18, 18, 18) 305 .addComponent(searchLimitLabel)) 306 .addGroup(layout.createSequentialGroup() 307 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 308 .addComponent(fromCalendar, 150, 150, 150) 309 .addComponent(toCalendar, 150, 150, 150))) 310 .addGroup(layout.createSequentialGroup() 311 .addComponent(duplicateCellButton) 312 .addGap(2, 2, 2) 313 .addComponent(searchButton) 314 .addGap(2, 2, 2) 315 .addComponent(printButton) 316 .addGap(2, 2, 2) 317 .addComponent(viewButton) 318 .addGap(2, 2, 2) 319 .addComponent(refreshButton) 320 .addGap(2, 2, 2) 321 .addComponent(exitButton))) 322 .addGap(0, 41, Short.MAX_VALUE))); 299 323 300 324 pack(); 301 325 }// </editor-fold>//GEN-END:initComponents 302 326 303 public JPanel createCalendar(){ 304 327 public JPanel createCalendar() 328 { 329 305 330 JPanel calendarPanel = new JPanel(); 306 331 Calendar now = Calendar.getInstance(); 307 332 calendarPanel.setBorder(new LineBorder(new Color(0, 0, 0))); 308 333 calendarPanel.setLayout(null); 309 334 310 335 JLabel monthLabel = new JLabel("New label"); 311 336 monthLabel.setBounds(0, 0, 140, 20); … … 314 339 monthLabel.setText(monthNames[now.get(Calendar.MONTH)]); 315 340 calendarPanel.add(monthLabel); 316 341 317 342 JLabel yearLabel = new JLabel("New label"); 318 343 yearLabel.setHorizontalAlignment(SwingConstants.CENTER); … … 321 346 yearLabel.setText(Integer.toString(now.get(Calendar.YEAR))); 322 347 calendarPanel.add(yearLabel); 323 348 324 349 Date date = new Date(); 325 350 DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 326 351 String dateString = dateFormat.format(date); 327 352 328 353 JLabel dateLabel1 = new JLabel("New label"); 329 354 dateLabel1.setBounds(0, 130, 60, 20); … … 332 357 dateLabel1.setHorizontalAlignment(JLabel.CENTER); 333 358 calendarPanel.add(dateLabel1); 334 359 335 360 JLabel dateLabel2 = new JLabel("New label"); 336 361 dateLabel2.setBounds(140, 130, 60, 20); … … 339 364 dateLabel2.setHorizontalAlignment(JLabel.CENTER); 340 365 calendarPanel.add(dateLabel2); 341 366 342 367 JScrollBar scrollBar = new JScrollBar(); 343 368 scrollBar.setOrientation(JScrollBar.HORIZONTAL); … … 346 371 scrollBar.setEnabled(false); 347 372 calendarPanel.add(scrollBar); 348 349 calendarTable = new JTable(){ 373 374 calendarTable = new JTable() 375 { 350 376 /* 351 377 * Custom renderer to set different background/foreground colors 352 378 * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, int, int) 353 379 */ 354 public Component prepareRenderer(TableCellRenderer renderer, int row, int column){ 380 public Component prepareRenderer(TableCellRenderer renderer, int row, int column) 381 { 355 382 Component comp = super.prepareRenderer(renderer, row, column); 356 if(todayRow == row && todayCol == column){ 383 if (todayRow == row && todayCol == column) 384 { 357 385 comp.setBackground(Color.BLUE); 358 386 comp.setForeground(Color.WHITE); 359 387 } 360 else{ 388 else 389 { 361 390 comp.setBackground(new Color(235, 235, 235)); 362 391 comp.setForeground(Color.BLACK); … … 368 397 DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer(); 369 398 centerRenderer.setHorizontalAlignment(JLabel.CENTER); 370 for(int i = 0; i < dayNames.length; i++){ 399 for (int i = 0; i < dayNames.length; i++) 400 { 371 401 calendarTable.getColumnModel().getColumn(i).setCellRenderer(centerRenderer); 372 402 } … … 374 404 calendarTable.setBounds(0, 20, 200, 110); 375 405 calendarPanel.add(calendarTable); 376 406 377 407 return calendarPanel; 378 408 } 379 380 protected DefaultTableModel createDaysModel() { 381 382 String[][] emptyModel = {{"", "", "", "", "", "", ""}, 383 {"", "", "", "", "", "", ""}, 384 {"", "", "", "", "", "", ""}, 385 {"", "", "", "", "", "", ""}, 386 {"", "", "", "", "", "", ""}, 387 {"", "", "", "", "", "", ""}, 388 {"", "", "", "", "", "", ""}, 389 {"", "", "", "", "", "", ""}}; 390 391 String[] emptyHeader = {"", "", "", "", "", "", ""}; 409 410 protected DefaultTableModel createDaysModel() 411 { 412 413 String[][] emptyModel = 414 { 415 { 416 "", "", "", "", "", "", "" 417 }, 418 { 419 "", "", "", "", "", "", "" 420 }, 421 { 422 "", "", "", "", "", "", "" 423 }, 424 { 425 "", "", "", "", "", "", "" 426 }, 427 { 428 "", "", "", "", "", "", "" 429 }, 430 { 431 "", "", "", "", "", "", "" 432 }, 433 { 434 "", "", "", "", "", "", "" 435 }, 436 { 437 "", "", "", "", "", "", "" 438 } 439 }; 440 441 String[] emptyHeader = 442 { 443 "", "", "", "", "", "", "" 444 }; 392 445 DefaultTableModel calendarModel = new DefaultTableModel(emptyModel, emptyHeader); 393 446 int row = 0; 394 447 int col = 0; 395 448 396 449 Calendar today = Calendar.getInstance(); 397 450 int tMonth = today.get(Calendar.MONTH); … … 411 464 maximum.add(Calendar.MONTH, +1); 412 465 413 for (int i = 0; i < dayNames.length; i++) { 466 for (int i = 0; i < dayNames.length; i++) 467 { 414 468 calendarModel.setValueAt(dayNames[i], row, col); 415 469 col++; … … 418 472 row = 1; 419 473 420 while (iterator.getTimeInMillis() < maximum.getTimeInMillis()) { 474 while (iterator.getTimeInMillis() < maximum.getTimeInMillis()) 475 { 421 476 int lMonth = iterator.get(Calendar.MONTH); 422 477 int lYear = iterator.get(Calendar.YEAR); 423 478 424 if ((lMonth == tMonth) && (lYear == tYear)) { 479 if ((lMonth == tMonth) && (lYear == tYear)) 480 { 425 481 int lDay = iterator.get(Calendar.DAY_OF_MONTH); 426 482 calendarModel.setValueAt(Integer.toString(lDay), row, col); 427 if ((tMonth == lMonth) && (tYear == lYear) && (tDay == lDay)) { 483 if ((tMonth == lMonth) && (tYear == lYear) && (tDay == lDay)) 484 { 428 485 todayRow = row; 429 486 todayCol = col; 430 487 } 431 } 488 } 432 489 iterator.add(Calendar.DAY_OF_YEAR, +1); 433 490 434 491 col++; 435 if(col >= calendarModel.getColumnCount()){ 492 if (col >= calendarModel.getColumnCount()) 493 { 436 494 row++; 437 495 col = 0; … … 439 497 } 440 498 441 499 442 500 return calendarModel; 443 501 } 444 445 public void refreshInformation() { 446 try { 502 503 public void refreshInformation() 504 { 505 try 506 { 447 507 incidentLogTable.setModel(ScreenManager.theCoordinator 448 508 .getCadDataTable(TABLE.INCIDENT_EDITOR)); 449 } catch (RemoteException e) { 509 } catch (RemoteException e) 510 { 450 511 e.printStackTrace(); 451 512 } … … 455 516 * Makes screen visible. 456 517 */ 457 public void open() { 518 public void open() 519 { 458 520 incidentLogTable.setModel(blankTable); 459 521 viewButton.setEnabled(false); … … 464 526 * Hides screen. 465 527 */ 466 public void close() { 528 public void close() 529 { 467 530 setVisible(false); 468 531 } 469 470 532 // Variables declaration - do not modify//GEN-BEGIN:variables 471 533 private javax.swing.JLabel agencyTypeLabel; -
trunk/src/tmcsim/client/cadclientgui/screens/IncidentViewer.java
r3 r59 1 /*2 * To change this template, choose Tools | Templates3 * and open the template in the editor.4 */5 1 package tmcsim.client.cadclientgui.screens; 6 2 … … 14 10 import java.text.DateFormat; 15 11 import java.text.SimpleDateFormat; 12 import java.util.Date; 16 13 import java.util.Stack; 17 import java.util.Date; 18 14 import javax.swing.BorderFactory; 19 15 import javax.swing.ImageIcon; 20 16 import javax.swing.JButton; 21 import javax.swing.JComponent;22 import javax.swing.JFrame;23 17 import javax.swing.ListSelectionModel; 24 18 import javax.swing.event.DocumentEvent; 25 19 import javax.swing.event.DocumentListener; 26 20 import javax.swing.table.DefaultTableModel; 27 28 import tmcsim.client.cadclientgui.data.CADData; 29 import tmcsim.client.cadclientgui.enums.CADDataEnums.*; 21 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_ADD_INFO; 22 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_CALLBACK; 23 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_CALLER; 24 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_GEN_INFO; 25 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_INFO; 26 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_LOC; 27 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_TABLE; 28 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_TIMES; 29 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_VAL; 30 30 import tmcsim.client.cadclientgui.enums.ComboBoxConstants; 31 import tmcsim.simulationmanager.model.LogEntryCellRenderer; 31 32 32 33 /** 33 * This class contains the view and controller for the IncidentViewer screen. The view is built using a GUI builder plug-in, and the controller 34 * uses listeners to control how the view and data act. 34 * This class contains the view and controller for the IncidentViewer screen. 35 * The view is built using a GUI builder plug-in, and the controller uses 36 * listeners to control how the view and data act. 37 * 35 38 * @author Stuart 36 39 */ 37 public class IncidentViewer extends javax.swing.JFrame {38 40 public class IncidentViewer extends javax.swing.JFrame 41 { 39 42 Stack<Integer> stack; 40 43 SimpleDateFormat dateFormatDate; … … 45 48 * Creates new form IncidentViewer 46 49 */ 47 public IncidentViewer() { 50 public IncidentViewer(int incidentId) 51 { 52 this.incidentId = incidentId; 48 53 declareComponents(); 54 initLayout(); 49 55 initControllers(); 50 initLayout();51 56 } 52 57 … … 58 63 @SuppressWarnings("unchecked") 59 64 // <editor-fold defaultstate="collapsed" desc="Generated Code"> 60 private void declareComponents() { 65 private void declareComponents() 66 { 61 67 62 68 stack = new Stack<Integer>(); … … 189 195 commentsNotesNotifyButton = new javax.swing.JButton(); 190 196 commentsNotesSaveButton = new javax.swing.JButton(); 191 commentsNotesField = new javax.swing.JText Field();197 commentsNotesField = new javax.swing.JTextArea(); // JD changed from TextField 192 198 commentsNotesConfidentialCommentCheckBox = new javax.swing.JCheckBox(); 193 199 editLogPane = new javax.swing.JPanel(); … … 272 278 attachmentsSaveButton = new javax.swing.JButton(); 273 279 } 274 275 public void initWindowListener(){ 276 addWindowListener(new WindowAdapter() { 277 public void windowClosing(WindowEvent e) { 280 281 public void initWindowListener() 282 { 283 addWindowListener(new WindowAdapter() 284 { 285 public void windowClosing(WindowEvent e) 286 { 278 287 close(); 279 288 } 280 289 }); 281 290 } 282 283 public ActionListener newExitSendActionListener(){ 284 return new ActionListener(){ 285 public void actionPerformed(ActionEvent arg0) { 291 292 public ActionListener newExitSendActionListener() 293 { 294 return new ActionListener() 295 { 296 public void actionPerformed(ActionEvent arg0) 297 { 286 298 close(); 287 299 } 288 300 }; 289 301 } 290 291 public DocumentListener newCommentsDocumentListener(){ 292 return new DocumentListener(){ 293 public void changedUpdate(DocumentEvent e) {} 294 public void insertUpdate(DocumentEvent e) { 302 303 public DocumentListener newCommentsDocumentListener() 304 { 305 return new DocumentListener() 306 { 307 public void changedUpdate(DocumentEvent e) 308 { 309 } 310 311 public void insertUpdate(DocumentEvent e) 312 { 295 313 commentsNotesSaveButton.setEnabled(true); 296 314 } 297 public void removeUpdate(DocumentEvent e) {} 315 316 public void removeUpdate(DocumentEvent e) 317 { 318 } 298 319 }; 299 320 } 300 301 public ActionListener newCommentsAddListener(){ 302 return new ActionListener(){ 303 public void actionPerformed(ActionEvent arg0) { 321 322 public ActionListener newCommentsAddListener() 323 { 324 return new ActionListener() 325 { 326 public void actionPerformed(ActionEvent arg0) 327 { 304 328 commentsNotesField.setEditable(true); 329 commentsNotesField.setBackground(java.awt.Color.white); 330 305 331 commentsNotesField.requestFocus(); 306 332 commentsNotesAddButton.setEnabled(false); … … 309 335 }; 310 336 } 311 312 public ActionListener newCommentsCancelListener(){ 313 return new ActionListener(){ 314 public void actionPerformed(ActionEvent arg0) { 337 338 public ActionListener newCommentsCancelListener() 339 { 340 return new ActionListener() 341 { 342 public void actionPerformed(ActionEvent arg0) 343 { 315 344 commentsNotesField.setText(""); 316 345 commentsNotesField.setEditable(false); 346 commentsNotesField.setBackground(java.awt.Color.LIGHT_GRAY);//JD 317 347 commentsNotesAddButton.setEnabled(true); 318 348 commentsNotesCancelButton.setEnabled(false); … … 321 351 }; 322 352 } 323 324 public ActionListener newCommentsSaveListener(){ 325 return new ActionListener(){ 326 public void actionPerformed(ActionEvent arg0) { 353 354 public ActionListener newCommentsSaveListener() 355 { 356 return new ActionListener() 357 { 358 public void actionPerformed(ActionEvent arg0) 359 { 327 360 DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 328 DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss"); 329 String[] fields = {dateFormat.format(new Date()), 330 timeFormat.format(new Date()), 331 "","",commentsNotesField.getText()}; 332 try { 361 DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss"); 362 String[] fields = 363 { 364 dateFormat.format(new Date()), 365 timeFormat.format(new Date()), 366 ScreenManager.getUserName(), // Put username in "Initials" column 367 "", // "Block" is left blank for now 368 commentsNotesField.getText().toUpperCase() // JD 369 }; 370 try 371 { 333 372 ScreenManager.theCoordinator.addCadDataIncidentTable( 334 INC_TABLE.COMMENTS_NOTES, incidentId, fields); 335 ((DefaultTableModel)commentsNotesTable.getModel()).addRow(fields); 336 } catch (RemoteException e) { 373 INC_TABLE.COMMENTS_NOTES, incidentId, fields); 374 ((DefaultTableModel) commentsNotesTable.getModel()).insertRow(0, fields);//JD 375 //((DefaultTableModel) commentsNotesTable.getModel()).addRow(fields); 376 } catch (RemoteException e) 377 { 337 378 e.printStackTrace(); 338 379 } 339 380 340 381 commentsNotesField.setText(""); 341 382 commentsNotesField.setEditable(false); 383 commentsNotesField.setBackground(java.awt.Color.LIGHT_GRAY); 342 384 commentsNotesAddButton.setEnabled(true); 343 385 commentsNotesCancelButton.setEnabled(false); 344 386 commentsNotesSaveButton.setEnabled(false); 345 387 } 346 };388 }; 347 389 } 348 349 private void initControllers() { 390 391 // JD Add a mouselistener to the comments table to display a single cell 392 // contents in a popup 393 // public MouseListener newCommentsTableCellListener() 394 // { 395 // return new MouseListener() 396 // { 397 // public void mousePressed(MouseEvent event) 398 // { 399 // } 400 // 401 // public void mouseReleased(MouseEvent event) 402 // { 403 // } 404 // 405 // public void mouseEntered(MouseEvent event) 406 // { 407 // } 408 // 409 // public void mouseExited(MouseEvent event) 410 // { 411 // } 412 // 413 // public void mouseClicked(MouseEvent event) 414 // { 415 // Point point = event.getPoint(); 416 // int row, column; 417 // row = commentsNotesTable.rowAtPoint(point); 418 // column = commentsNotesTable.columnAtPoint(point); 419 // // See if the click was in column 4 (the comment column) 420 // if (column == 4) 421 // { 422 // JOptionPane.showMessageDialog(null, getWrappedText((String) commentsNotesTable.getValueAt(row, column)), 423 // "Comment/Note Text", JOptionPane.INFORMATION_MESSAGE); 424 // } 425 // 426 // } 427 // }; 428 // } 429 private void initControllers() 430 { 350 431 initWindowListener(); 351 432 352 433 exitSendButton.addActionListener(newExitSendActionListener()); 353 434 354 435 commentsNotesField.getDocument().addDocumentListener(newCommentsDocumentListener()); 355 436 commentsNotesAddButton.addActionListener(newCommentsAddListener()); 356 437 commentsNotesCancelButton.addActionListener(newCommentsCancelListener()); 357 438 commentsNotesSaveButton.addActionListener(newCommentsSaveListener()); 439 //commentsNotesTable.addMouseListener(newCommentsTableCellListener()); //JD 358 440 } 359 360 private void initLayout(){ 441 442 /** 443 * A custom renderer that sets a tool tip with the wrapped comment. JD 444 */ 445 // Obsolete JD 446 // class LineWrapRenderer extends DefaultTableCellRenderer 447 // { 448 // public final static int kSegmentsize = 60; 449 // 450 // protected void setValue(Object value) 451 // { 452 // String comment = (String) value; 453 // setText(comment); 454 // // Wrap long comments in a tooltip 455 // setToolTipText(getWrappedText(comment)); 456 // } 457 // } 458 // 459 // private String getWrappedText(String stringToWrap) 460 // { 461 // int limit = stringToWrap.length() / LineWrapRenderer.kSegmentsize; 462 // StringBuilder toolTip = new StringBuilder("<html>"); 463 // for (int jumper = 0; jumper <= limit; jumper++) 464 // { 465 // toolTip.append(stringToWrap.substring(jumper * LineWrapRenderer.kSegmentsize, Math.min((jumper + 1) * LineWrapRenderer.kSegmentsize, stringToWrap.length()))); 466 // toolTip.append("<br>"); // Use html break to cause a line break 467 // } 468 // toolTip.append("</html>"); 469 // return toolTip.toString(); 470 // } 471 private void initLayout() 472 { 361 473 setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); 362 474 363 475 cityComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.LIST_OF_CA_CITIES)); 364 476 365 477 mapLocLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N 366 478 mapLocLabel.setText("Map Loc:"); … … 372 484 addressField.setBackground(Color.CYAN); 373 485 locationField.setBackground(Color.CYAN); 374 486 375 487 locationLabel.setText("Location:"); 376 488 … … 379 491 countyLabel.setText("County:"); 380 492 381 countyComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 493 countyComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 494 { 495 "Item 1", "Item 2", "Item 3", "Item 4" 496 })); 382 497 383 498 agencyLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N … … 387 502 agencyComboBox.setBackground(Color.CYAN); 388 503 agencyComboBox.setEnabled(false); 389 504 390 505 typeCodeLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N 391 506 typeCodeLabel.setText("Type Code:"); … … 393 508 typeCodeComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.TYPE)); 394 509 typeCodeComboBox.setBackground(Color.CYAN); 395 510 396 511 priLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N 397 512 priLabel.setText("Pri:"); … … 399 514 priComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.PRI)); 400 515 priComboBox.setBackground(Color.CYAN); 401 516 402 517 rightOfPriButton.setText("rightOfPriButton"); 403 518 rightOfPriButton.setEnabled(false); … … 406 521 407 522 rpField.setBackground(Color.CYAN); 408 523 409 524 phoneLabel.setText("Phone:"); 410 525 411 526 phoneField.setBackground(Color.CYAN); 412 527 … … 417 532 rpTypeLabel.setText("RP Type:"); 418 533 419 rpTypeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 420 421 sectorComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 534 rpTypeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 535 { 536 "Item 1", "Item 2", "Item 3", "Item 4" 537 })); 538 539 sectorComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 540 { 541 "Item 1", "Item 2", "Item 3", "Item 4" 542 })); 422 543 sectorComboBox.setBackground(Color.CYAN); 423 544 424 545 sectorLabel.setText("Sector:"); 425 546 … … 431 552 mediaComboBox.setBackground(Color.YELLOW); 432 553 mediaComboBox.setEnabled(false); 433 554 434 555 mediaLabel.setText("MEDIA:"); 435 556 … … 451 572 updateMapLocButton.setMargin(new java.awt.Insets(3, 3, 3, 3)); 452 573 updateMapLocButton.setEnabled(false); 453 574 454 575 exitSendButton.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N 455 576 exitSendButton.setText("Exit / Send"); 456 577 457 578 sentToQButton.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N 458 579 sentToQButton.setText("Send to Q"); 459 580 sentToQButton.setMargin(new java.awt.Insets(2, 2, 2, 2)); 460 581 sentToQButton.setEnabled(false); 461 582 462 583 fileButton.setText("File"); 463 584 fileButton.setEnabled(false); … … 483 604 carButton.setIcon(image); 484 605 carButton.setEnabled(false); 485 606 486 607 image = new ImageIcon("images/IncidentViewerImages/buttonPerson.png"); 487 608 personButton.setIcon(image); 488 609 personButton.setEnabled(false); 489 610 490 611 491 612 towRotationButton.setText("Tow Rotation"); … … 524 645 525 646 callBackCommentField.setEditable(false); 526 647 527 648 callBackAddButton.setText("Add"); 528 649 callBackAddButton.setEnabled(false); … … 535 656 536 657 callBackCommentTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 537 658 538 659 recommandButton.setText("Recommand"); 539 660 recommandButton.setEnabled(false); 540 661 541 662 incidentNumLabel.setText("Incident Number:"); 542 663 … … 570 691 571 692 areaOfDivisionLabel.setText("Area Ofc/Division:"); 572 693 573 694 addInfoCommentsField.setEditable(false); 574 695 575 addInfoCCJurisdictionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 576 577 addInfoAreaOfDivisionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 696 addInfoCCJurisdictionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 697 { 698 "Item 1", "Item 2", "Item 3", "Item 4" 699 })); 700 701 addInfoAreaOfDivisionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 702 { 703 "Item 1", "Item 2", "Item 3", "Item 4" 704 })); 578 705 579 706 areaBatallionLabel.setText("Area/Batallion:"); 580 707 581 addInfoAreaBatallionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 708 addInfoAreaBatallionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 709 { 710 "Item 1", "Item 2", "Item 3", "Item 4" 711 })); 582 712 583 713 beatResponseAreaLabel.setText("Beat/Response Area:"); 584 714 585 addInfoBeatResponseAreaComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 715 addInfoBeatResponseAreaComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 716 { 717 "Item 1", "Item 2", "Item 3", "Item 4" 718 })); 586 719 587 720 responsePlanLabel.setText("Response Plan:"); 588 721 589 addInfoReponsePlanComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 722 addInfoReponsePlanComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 723 { 724 "Item 1", "Item 2", "Item 3", "Item 4" 725 })); 590 726 591 727 rotationProviderAreaLabel.setText("Rotation Provider Area:"); 592 728 593 729 addInfoRotationProviderAreaField.setEditable(false); 594 730 595 731 596 732 commentsNotesPane.setPreferredSize(new java.awt.Dimension(809, 300)); 597 733 598 734 commentsNotesTable.setModel(new javax.swing.table.DefaultTableModel( 599 null, new String [] { 600 "Date", "Time", "Initial", "Block", "Comments" } 601 )); 735 null, new String[] 736 { 737 "Date", "Time", "Initial", "Block", "Comments" 738 })); 602 739 jScrollPane3.setViewportView(commentsNotesTable); 603 740 commentsNotesTable.getColumnModel().getColumn(0).setResizable(false); … … 612 749 613 750 commentsNotesField.setEditable(false); 614 751 commentsNotesField.setBackground(java.awt.Color.LIGHT_GRAY); 752 commentsNotesField.setLineWrap(true); // JD make text wrap inside the field 753 commentsNotesField.setBorder(BorderFactory.createLineBorder(Color.GRAY)); // JD added a border 754 615 755 commentsNotesAddButton.setText("Add"); 616 756 commentsNotesCancelButton.setText("Cancel"); … … 623 763 commentsNotesConfidentialCommentCheckBox.setText("Confidential Comment"); 624 764 commentsNotesConfidentialCommentCheckBox.setEnabled(false); 625 765 626 766 jScrollPane14.setViewportView(callBackCommentTable); 627 767 javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13); 628 768 jPanel13.setLayout(jPanel13Layout); 629 769 jPanel13Layout.setHorizontalGroup( 630 jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)631 .addGroup(jPanel13Layout.createSequentialGroup()770 jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 771 .addGroup(jPanel13Layout.createSequentialGroup() 632 772 .addContainerGap() 633 773 .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 634 .addGroup(jPanel13Layout.createSequentialGroup() 635 .addComponent(callBackCommentField, javax.swing.GroupLayout.PREFERRED_SIZE, 519, javax.swing.GroupLayout.PREFERRED_SIZE) 636 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 637 .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 638 .addComponent(callBackAddButton) 639 .addComponent(callBackCancelButton) 640 .addComponent(callBackSaveButton))) 641 .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 604, javax.swing.GroupLayout.PREFERRED_SIZE)) 642 .addContainerGap(144, Short.MAX_VALUE)) 643 ); 774 .addGroup(jPanel13Layout.createSequentialGroup() 775 .addComponent(callBackCommentField, javax.swing.GroupLayout.PREFERRED_SIZE, 519, javax.swing.GroupLayout.PREFERRED_SIZE) 776 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 777 .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 778 .addComponent(callBackAddButton) 779 .addComponent(callBackCancelButton) 780 .addComponent(callBackSaveButton))) 781 .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 604, javax.swing.GroupLayout.PREFERRED_SIZE)) 782 .addContainerGap(144, Short.MAX_VALUE))); 644 783 jPanel13Layout.setVerticalGroup( 645 jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)646 .addGroup(jPanel13Layout.createSequentialGroup()784 jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 785 .addGroup(jPanel13Layout.createSequentialGroup() 647 786 .addContainerGap() 648 787 .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 649 .addGroup(jPanel13Layout.createSequentialGroup()650 .addComponent(callBackAddButton)651 .addGap(0, 0, 0)652 .addComponent(callBackCancelButton)653 .addGap(0, 0, 0)654 .addComponent(callBackSaveButton))655 .addComponent(callBackCommentField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))788 .addGroup(jPanel13Layout.createSequentialGroup() 789 .addComponent(callBackAddButton) 790 .addGap(0, 0, 0) 791 .addComponent(callBackCancelButton) 792 .addGap(0, 0, 0) 793 .addComponent(callBackSaveButton)) 794 .addComponent(callBackCommentField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)) 656 795 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 657 796 .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE) 658 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 659 ); 797 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); 660 798 661 799 javax.swing.GroupLayout callbacksPaneLayout = new javax.swing.GroupLayout(callbacksPane); 662 800 callbacksPane.setLayout(callbacksPaneLayout); 663 801 callbacksPaneLayout.setHorizontalGroup( 664 callbacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)665 .addGroup(callbacksPaneLayout.createSequentialGroup()802 callbacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 803 .addGroup(callbacksPaneLayout.createSequentialGroup() 666 804 .addGap(41, 41, 41) 667 805 .addComponent(jPanel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 668 .addContainerGap()) 669 ); 806 .addContainerGap())); 670 807 callbacksPaneLayout.setVerticalGroup( 671 callbacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)672 .addGroup(callbacksPaneLayout.createSequentialGroup()808 callbacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 809 .addGroup(callbacksPaneLayout.createSequentialGroup() 673 810 .addContainerGap() 674 811 .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 675 .addContainerGap(58, Short.MAX_VALUE)) 676 ); 812 .addContainerGap(58, Short.MAX_VALUE))); 677 813 678 814 assignmentsPane.setPreferredSize(new java.awt.Dimension(809, 300)); 679 815 680 816 assignmentsTable.setModel(new javax.swing.table.DefaultTableModel( 681 null, new String [] {682 "Unit", "Alarm Level", "Type", "Status", "responding From", "Elapsed", "Response Number"683 }684 ));817 null, new String[] 818 { 819 "Unit", "Alarm Level", "Type", "Status", "responding From", "Elapsed", "Response Number" 820 })); 685 821 jScrollPane4.setViewportView(assignmentsTable); 686 822 … … 688 824 689 825 resourceTable.setModel(new javax.swing.table.DefaultTableModel( 690 null,new String [] { 691 "Resource / Capability", "", "Title 3", "Title 4"} 692 )); 826 null, new String[] 827 { 828 "Resource / Capability", "", "Title 3", "Title 4" 829 })); 693 830 jScrollPane5.setViewportView(resourceTable); 694 831 … … 698 835 jPanel2.setLayout(jPanel2Layout); 699 836 jPanel2Layout.setHorizontalGroup( 700 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)701 .addGroup(jPanel2Layout.createSequentialGroup()837 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 838 .addGroup(jPanel2Layout.createSequentialGroup() 702 839 .addContainerGap() 703 840 .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 609, Short.MAX_VALUE) 704 841 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 705 842 .addComponent(recommandButton) 706 .addContainerGap()) 707 ); 843 .addContainerGap())); 708 844 jPanel2Layout.setVerticalGroup( 709 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)710 .addGroup(jPanel2Layout.createSequentialGroup()845 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 846 .addGroup(jPanel2Layout.createSequentialGroup() 711 847 .addContainerGap() 712 848 .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) 713 849 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 714 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()850 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() 715 851 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 716 852 .addComponent(recommandButton) 717 .addGap(47, 47, 47)) 718 ); 853 .addGap(47, 47, 47))); 719 854 720 855 javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); 721 856 jPanel4.setLayout(jPanel4Layout); 722 857 jPanel4Layout.setHorizontalGroup( 723 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)724 .addGroup(jPanel4Layout.createSequentialGroup()858 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 859 .addGroup(jPanel4Layout.createSequentialGroup() 725 860 .addContainerGap() 726 861 .addComponent(jScrollPane1)) 727 .addGroup(jPanel4Layout.createSequentialGroup()862 .addGroup(jPanel4Layout.createSequentialGroup() 728 863 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 729 .addContainerGap()) 730 ); 864 .addContainerGap())); 731 865 jPanel4Layout.setVerticalGroup( 732 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)733 .addGroup(jPanel4Layout.createSequentialGroup()866 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 867 .addGroup(jPanel4Layout.createSequentialGroup() 734 868 .addGap(6, 6, 6) 735 869 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE) 736 870 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 737 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 738 ); 871 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); 739 872 740 873 javax.swing.GroupLayout assignmentsPaneLayout = new javax.swing.GroupLayout(assignmentsPane); 741 874 assignmentsPane.setLayout(assignmentsPaneLayout); 742 875 assignmentsPaneLayout.setHorizontalGroup( 743 assignmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)744 .addGroup(assignmentsPaneLayout.createSequentialGroup()876 assignmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 877 .addGroup(assignmentsPaneLayout.createSequentialGroup() 745 878 .addContainerGap() 746 879 .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 747 .addContainerGap(63, Short.MAX_VALUE)) 748 ); 880 .addContainerGap(63, Short.MAX_VALUE))); 749 881 assignmentsPaneLayout.setVerticalGroup( 750 assignmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)751 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, assignmentsPaneLayout.createSequentialGroup()882 assignmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 883 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, assignmentsPaneLayout.createSequentialGroup() 752 884 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 753 885 .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 754 .addGap(22, 22, 22)) 755 ); 886 .addGap(22, 22, 22))); 756 887 757 888 activitiesPane.setPreferredSize(new java.awt.Dimension(809, 300)); 758 889 759 890 activitiesTable.setModel(new javax.swing.table.DefaultTableModel( 760 null, new String [] {761 "Date/Time", "Vehicle/Unit", "Activity", "Location", "Comment", "Dispatch"762 }763 ));891 null, new String[] 892 { 893 "Date/Time", "Vehicle/Unit", "Activity", "Location", "Comment", "Dispatch" 894 })); 764 895 jScrollPane6.setViewportView(activitiesTable); 765 896 … … 769 900 activitiesPane.setLayout(activitiesPaneLayout); 770 901 activitiesPaneLayout.setHorizontalGroup( 771 activitiesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)772 .addGroup(activitiesPaneLayout.createSequentialGroup()902 activitiesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 903 .addGroup(activitiesPaneLayout.createSequentialGroup() 773 904 .addContainerGap() 774 905 .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE) 775 .addContainerGap()) 776 ); 906 .addContainerGap())); 777 907 activitiesPaneLayout.setVerticalGroup( 778 activitiesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)779 .addGroup(activitiesPaneLayout.createSequentialGroup()908 activitiesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 909 .addGroup(activitiesPaneLayout.createSequentialGroup() 780 910 .addGap(27, 27, 27) 781 911 .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE) 782 .addContainerGap()) 783 ); 912 .addContainerGap())); 784 913 785 914 callBacksPane.setPreferredSize(new java.awt.Dimension(809, 300)); … … 788 917 jPanel1.setLayout(jPanel1Layout); 789 918 jPanel1Layout.setHorizontalGroup( 790 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)791 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()919 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 920 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() 792 921 .addContainerGap() 793 922 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 794 .addGroup(jPanel1Layout.createSequentialGroup() 795 .addGap(0, 0, Short.MAX_VALUE) 796 .addComponent(rotationProviderAreaLabel)) 797 .addGroup(jPanel1Layout.createSequentialGroup() 798 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 799 .addGroup(jPanel1Layout.createSequentialGroup() 800 .addGap(0, 0, Short.MAX_VALUE) 801 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 802 .addComponent(callTakenLabel, javax.swing.GroupLayout.Alignment.TRAILING) 803 .addComponent(machineNameLabel, javax.swing.GroupLayout.Alignment.TRAILING) 804 .addComponent(incidentTypeLabel, javax.swing.GroupLayout.Alignment.TRAILING) 805 .addComponent(incidentNumLabel, javax.swing.GroupLayout.Alignment.TRAILING)) 806 .addGap(4, 4, 4) 807 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 808 .addComponent(addInfoIncidentNumField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE) 809 .addComponent(addInfoIncidentTypeField, javax.swing.GroupLayout.Alignment.TRAILING) 810 .addComponent(addInfoCallTakenField, javax.swing.GroupLayout.Alignment.TRAILING) 811 .addComponent(addInfoMachineNameField, javax.swing.GroupLayout.Alignment.TRAILING))) 812 .addGroup(jPanel1Layout.createSequentialGroup() 813 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 814 .addComponent(callStatusLabel) 815 .addComponent(callTakerPhoneLabel)) 816 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 817 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 818 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 819 .addComponent(addInfoCallTakerPhoneExtField, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE) 820 .addComponent(addInfoCallStatusField)) 821 .addComponent(addInfoCommentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)) 822 .addGap(0, 31, Short.MAX_VALUE))) 823 .addGap(100, 100, 100) 824 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 825 .addComponent(alarmLevelLabel) 826 .addComponent(ccJurisdictionLabel) 827 .addComponent(areaOfDivisionLabel) 828 .addComponent(areaBatallionLabel) 829 .addComponent(beatResponseAreaLabel) 830 .addComponent(responsePlanLabel)))) 831 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 923 .addGroup(jPanel1Layout.createSequentialGroup() 924 .addGap(0, 0, Short.MAX_VALUE) 925 .addComponent(rotationProviderAreaLabel)) 926 .addGroup(jPanel1Layout.createSequentialGroup() 832 927 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 833 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 834 .addComponent(addInfoAlarmLevelField, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 835 .addComponent(addInfoCCJurisdictionComboBox, 0, 206, Short.MAX_VALUE) 836 .addComponent(addInfoAreaOfDivisionComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 837 .addComponent(addInfoAreaBatallionComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 838 .addComponent(addInfoBeatResponseAreaComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 839 .addComponent(addInfoReponsePlanComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 840 .addComponent(addInfoRotationProviderAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)) 841 .addContainerGap()) 842 ); 928 .addGroup(jPanel1Layout.createSequentialGroup() 929 .addGap(0, 0, Short.MAX_VALUE) 930 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 931 .addComponent(callTakenLabel, javax.swing.GroupLayout.Alignment.TRAILING) 932 .addComponent(machineNameLabel, javax.swing.GroupLayout.Alignment.TRAILING) 933 .addComponent(incidentTypeLabel, javax.swing.GroupLayout.Alignment.TRAILING) 934 .addComponent(incidentNumLabel, javax.swing.GroupLayout.Alignment.TRAILING)) 935 .addGap(4, 4, 4) 936 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 937 .addComponent(addInfoIncidentNumField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE) 938 .addComponent(addInfoIncidentTypeField, javax.swing.GroupLayout.Alignment.TRAILING) 939 .addComponent(addInfoCallTakenField, javax.swing.GroupLayout.Alignment.TRAILING) 940 .addComponent(addInfoMachineNameField, javax.swing.GroupLayout.Alignment.TRAILING))) 941 .addGroup(jPanel1Layout.createSequentialGroup() 942 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 943 .addComponent(callStatusLabel) 944 .addComponent(callTakerPhoneLabel)) 945 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 946 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 947 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 948 .addComponent(addInfoCallTakerPhoneExtField, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE) 949 .addComponent(addInfoCallStatusField)) 950 .addComponent(addInfoCommentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)) 951 .addGap(0, 31, Short.MAX_VALUE))) 952 .addGap(100, 100, 100) 953 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 954 .addComponent(alarmLevelLabel) 955 .addComponent(ccJurisdictionLabel) 956 .addComponent(areaOfDivisionLabel) 957 .addComponent(areaBatallionLabel) 958 .addComponent(beatResponseAreaLabel) 959 .addComponent(responsePlanLabel)))) 960 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 961 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 962 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 963 .addComponent(addInfoAlarmLevelField, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 964 .addComponent(addInfoCCJurisdictionComboBox, 0, 206, Short.MAX_VALUE) 965 .addComponent(addInfoAreaOfDivisionComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 966 .addComponent(addInfoAreaBatallionComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 967 .addComponent(addInfoBeatResponseAreaComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 968 .addComponent(addInfoReponsePlanComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 969 .addComponent(addInfoRotationProviderAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)) 970 .addContainerGap())); 843 971 jPanel1Layout.setVerticalGroup( 844 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)845 .addGroup(jPanel1Layout.createSequentialGroup()972 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 973 .addGroup(jPanel1Layout.createSequentialGroup() 846 974 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 847 .addGroup(jPanel1Layout.createSequentialGroup()848 .addContainerGap()849 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)850 .addComponent(incidentNumLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)851 .addComponent(addInfoIncidentNumField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))852 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)853 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)854 .addComponent(incidentTypeLabel)855 .addComponent(addInfoIncidentTypeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))856 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)857 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)858 .addComponent(callTakenLabel)859 .addComponent(addInfoCallTakenField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))860 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)861 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)862 .addComponent(machineNameLabel)863 .addComponent(addInfoMachineNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))864 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)865 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)866 .addComponent(callTakerPhoneLabel)867 .addComponent(addInfoCallTakerPhoneExtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))868 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)869 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)870 .addComponent(callStatusLabel)871 .addComponent(addInfoCallStatusField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))872 .addGroup(jPanel1Layout.createSequentialGroup()873 .addGap(21, 21, 21)874 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)875 .addComponent(alarmLevelLabel)876 .addComponent(addInfoAlarmLevelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))877 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)878 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)879 .addComponent(ccJurisdictionLabel)880 .addComponent(addInfoCCJurisdictionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))881 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)882 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)883 .addComponent(areaOfDivisionLabel)884 .addComponent(addInfoAreaOfDivisionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))885 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)886 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)887 .addComponent(areaBatallionLabel)888 .addComponent(addInfoAreaBatallionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))889 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)890 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)891 .addComponent(beatResponseAreaLabel)892 .addComponent(addInfoBeatResponseAreaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))893 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)894 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)895 .addComponent(responsePlanLabel)896 .addComponent(addInfoReponsePlanComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))975 .addGroup(jPanel1Layout.createSequentialGroup() 976 .addContainerGap() 977 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 978 .addComponent(incidentNumLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE) 979 .addComponent(addInfoIncidentNumField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 980 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 981 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 982 .addComponent(incidentTypeLabel) 983 .addComponent(addInfoIncidentTypeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 984 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 985 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 986 .addComponent(callTakenLabel) 987 .addComponent(addInfoCallTakenField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 988 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 989 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 990 .addComponent(machineNameLabel) 991 .addComponent(addInfoMachineNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 992 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 993 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 994 .addComponent(callTakerPhoneLabel) 995 .addComponent(addInfoCallTakerPhoneExtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 996 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 997 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 998 .addComponent(callStatusLabel) 999 .addComponent(addInfoCallStatusField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 1000 .addGroup(jPanel1Layout.createSequentialGroup() 1001 .addGap(21, 21, 21) 1002 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1003 .addComponent(alarmLevelLabel) 1004 .addComponent(addInfoAlarmLevelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1005 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1006 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1007 .addComponent(ccJurisdictionLabel) 1008 .addComponent(addInfoCCJurisdictionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1009 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1010 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1011 .addComponent(areaOfDivisionLabel) 1012 .addComponent(addInfoAreaOfDivisionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1013 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1014 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1015 .addComponent(areaBatallionLabel) 1016 .addComponent(addInfoAreaBatallionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1017 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1018 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1019 .addComponent(beatResponseAreaLabel) 1020 .addComponent(addInfoBeatResponseAreaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1021 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1022 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1023 .addComponent(responsePlanLabel) 1024 .addComponent(addInfoReponsePlanComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) 897 1025 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 898 .addGroup(jPanel1Layout.createSequentialGroup() 899 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 900 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 901 .addComponent(rotationProviderAreaLabel) 902 .addComponent(addInfoRotationProviderAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 903 .addGroup(jPanel1Layout.createSequentialGroup() 904 .addGap(23, 23, 23) 905 .addComponent(addInfoCommentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE))) 906 .addGap(5, 5, 5)) 907 ); 1026 .addGroup(jPanel1Layout.createSequentialGroup() 1027 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1028 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1029 .addComponent(rotationProviderAreaLabel) 1030 .addComponent(addInfoRotationProviderAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 1031 .addGroup(jPanel1Layout.createSequentialGroup() 1032 .addGap(23, 23, 23) 1033 .addComponent(addInfoCommentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE))) 1034 .addGap(5, 5, 5))); 908 1035 909 1036 javax.swing.GroupLayout callBacksPaneLayout = new javax.swing.GroupLayout(callBacksPane); 910 1037 callBacksPane.setLayout(callBacksPaneLayout); 911 1038 callBacksPaneLayout.setHorizontalGroup( 912 callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)913 .addGroup(callBacksPaneLayout.createSequentialGroup()1039 callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1040 .addGroup(callBacksPaneLayout.createSequentialGroup() 914 1041 .addContainerGap() 915 1042 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 916 .addContainerGap(85, Short.MAX_VALUE)) 917 ); 1043 .addContainerGap(85, Short.MAX_VALUE))); 918 1044 callBacksPaneLayout.setVerticalGroup( 919 callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)920 .addGroup(callBacksPaneLayout.createSequentialGroup()1045 callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1046 .addGroup(callBacksPaneLayout.createSequentialGroup() 921 1047 .addContainerGap() 922 1048 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 923 .addGap(40, 40, 40)) 924 ); 925 1049 .addGap(40, 40, 40))); 1050 926 1051 javax.swing.GroupLayout commentsNotesPaneLayout = new javax.swing.GroupLayout(commentsNotesPane); 927 1052 commentsNotesPane.setLayout(commentsNotesPaneLayout); 928 1053 commentsNotesPaneLayout.setHorizontalGroup( 929 commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)930 .addGroup(commentsNotesPaneLayout.createSequentialGroup()1054 commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1055 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 931 1056 .addContainerGap() 932 1057 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 933 .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE) 934 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 935 .addComponent(commentsNotesField, javax.swing.GroupLayout.PREFERRED_SIZE, 610, javax.swing.GroupLayout.PREFERRED_SIZE) 936 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 937 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 938 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 939 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 940 .addComponent(commentsNotesNotifyButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 941 .addComponent(commentsNotesAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)) 942 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 943 .addComponent(commentsNotesSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) 944 .addComponent(commentsNotesCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))) 945 .addComponent(commentsNotesConfidentialCommentCheckBox)) 946 .addGap(0, 0, Short.MAX_VALUE))) 947 .addContainerGap()) 948 ); 1058 .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE) 1059 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 1060 .addComponent(commentsNotesField, javax.swing.GroupLayout.PREFERRED_SIZE, 610, javax.swing.GroupLayout.PREFERRED_SIZE) 1061 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1062 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1063 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 1064 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1065 .addComponent(commentsNotesNotifyButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1066 .addComponent(commentsNotesAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)) 1067 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1068 .addComponent(commentsNotesSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) 1069 .addComponent(commentsNotesCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))) 1070 .addComponent(commentsNotesConfidentialCommentCheckBox)) 1071 .addGap(0, 0, Short.MAX_VALUE))) 1072 .addContainerGap())); 949 1073 commentsNotesPaneLayout.setVerticalGroup( 950 commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)951 .addGroup(commentsNotesPaneLayout.createSequentialGroup()1074 commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1075 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 952 1076 .addContainerGap() 953 1077 .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE) 954 1078 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 955 1079 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 956 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 957 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 958 .addComponent(commentsNotesAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) 959 .addComponent(commentsNotesCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) 960 .addGap(0, 0, 0) 961 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 962 .addComponent(commentsNotesNotifyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) 963 .addComponent(commentsNotesSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) 964 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE) 965 .addComponent(commentsNotesConfidentialCommentCheckBox)) 966 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 967 .addGap(2, 2, 2) 968 .addComponent(commentsNotesField))) 969 .addGap(40, 40, 40)) 970 ); 1080 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 1081 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1082 .addComponent(commentsNotesAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) 1083 .addComponent(commentsNotesCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) 1084 .addGap(0, 0, 0) 1085 .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1086 .addComponent(commentsNotesNotifyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) 1087 .addComponent(commentsNotesSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) 1088 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE) 1089 .addComponent(commentsNotesConfidentialCommentCheckBox)) 1090 .addGroup(commentsNotesPaneLayout.createSequentialGroup() 1091 .addGap(2, 2, 2) 1092 .addComponent(commentsNotesField))) 1093 .addGap(40, 40, 40))); 971 1094 972 1095 editLogPane.setPreferredSize(new java.awt.Dimension(809, 300)); 973 1096 974 1097 editLogTable.setModel(new javax.swing.table.DefaultTableModel( 975 null, new String [] { 976 "Date", "Edits/Updates", "Reason", "Changes By", "Terminal" 977 })); 978 1098 null, new String[] 1099 { 1100 "Date", "Edits/Updates", "Reason", "Changes By", "Terminal" 1101 })); 1102 979 1103 jScrollPane8.setViewportView(editLogTable); 980 1104 … … 982 1106 editLogPane.setLayout(editLogPaneLayout); 983 1107 editLogPaneLayout.setHorizontalGroup( 984 editLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)985 .addGroup(editLogPaneLayout.createSequentialGroup()1108 editLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1109 .addGroup(editLogPaneLayout.createSequentialGroup() 986 1110 .addContainerGap() 987 1111 .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE) 988 .addContainerGap()) 989 ); 1112 .addContainerGap())); 990 1113 editLogPaneLayout.setVerticalGroup( 991 editLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)992 .addGroup(editLogPaneLayout.createSequentialGroup()1114 editLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1115 .addGroup(editLogPaneLayout.createSequentialGroup() 993 1116 .addContainerGap() 994 1117 .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE) 995 .addGap(18, 18, 18)) 996 ); 1118 .addGap(18, 18, 18))); 997 1119 998 1120 timesPane.setPreferredSize(new java.awt.Dimension(809, 300)); 999 1121 1000 1122 timesTable.setModel(new javax.swing.table.DefaultTableModel( 1001 null, new String [] { 1002 "Unit", "Alarm Level", "Assigned", "Enroute", "Staged", "Arrival", 1003 "Access", "Depart", "At Dest.", "Status 5", "Available", "Resp Num" 1004 })); 1123 null, new String[] 1124 { 1125 "Unit", "Alarm Level", "Assigned", "Enroute", "Staged", "Arrival", 1126 "Access", "Depart", "At Dest.", "Status 5", "Available", "Resp Num" 1127 })); 1005 1128 jScrollPane9.setViewportView(timesTable); 1006 1129 … … 1016 1139 1017 1140 timesAllAvailableField.setEditable(false); 1018 1141 1019 1142 callClosedLabel.setText("Call Closed:"); 1020 1143 1021 1144 timesCallClosedField.setEditable(false); 1022 1145 … … 1027 1150 timesPane.setLayout(timesPaneLayout); 1028 1151 timesPaneLayout.setHorizontalGroup( 1029 timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1030 .addGroup(timesPaneLayout.createSequentialGroup()1152 timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1153 .addGroup(timesPaneLayout.createSequentialGroup() 1031 1154 .addContainerGap() 1032 1155 .addGroup(timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1033 .addGroup(timesPaneLayout.createSequentialGroup() 1034 .addGap(10, 10, 10) 1035 .addComponent(ringLabel) 1036 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1037 .addComponent(timesRingField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) 1038 .addGap(18, 18, 18) 1039 .addComponent(inQueueLabel) 1040 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1041 .addComponent(timesInQueueField, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE) 1042 .addGap(18, 18, 18) 1043 .addComponent(allAvailableLabel) 1044 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1045 .addComponent(timesAllAvailableField, javax.swing.GroupLayout.DEFAULT_SIZE, 69, Short.MAX_VALUE) 1046 .addGap(18, 18, 18) 1047 .addComponent(callClosedLabel) 1048 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1049 .addComponent(timesCallClosedField, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE) 1050 .addGap(18, 18, 18) 1051 .addComponent(timesPageTimesButton)) 1052 .addComponent(jScrollPane9)) 1053 .addContainerGap()) 1054 ); 1156 .addGroup(timesPaneLayout.createSequentialGroup() 1157 .addGap(10, 10, 10) 1158 .addComponent(ringLabel) 1159 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1160 .addComponent(timesRingField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) 1161 .addGap(18, 18, 18) 1162 .addComponent(inQueueLabel) 1163 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1164 .addComponent(timesInQueueField, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE) 1165 .addGap(18, 18, 18) 1166 .addComponent(allAvailableLabel) 1167 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1168 .addComponent(timesAllAvailableField, javax.swing.GroupLayout.DEFAULT_SIZE, 69, Short.MAX_VALUE) 1169 .addGap(18, 18, 18) 1170 .addComponent(callClosedLabel) 1171 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1172 .addComponent(timesCallClosedField, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE) 1173 .addGap(18, 18, 18) 1174 .addComponent(timesPageTimesButton)) 1175 .addComponent(jScrollPane9)) 1176 .addContainerGap())); 1055 1177 timesPaneLayout.setVerticalGroup( 1056 timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1057 .addGroup(timesPaneLayout.createSequentialGroup()1178 timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1179 .addGroup(timesPaneLayout.createSequentialGroup() 1058 1180 .addContainerGap() 1059 1181 .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE) 1060 1182 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1061 1183 .addGroup(timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1062 .addComponent(ringLabel) 1063 .addComponent(timesRingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1064 .addComponent(inQueueLabel) 1065 .addComponent(timesInQueueField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1066 .addComponent(allAvailableLabel) 1067 .addComponent(timesAllAvailableField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1068 .addComponent(callClosedLabel) 1069 .addComponent(timesCallClosedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1070 .addComponent(timesPageTimesButton)) 1071 .addContainerGap(88, Short.MAX_VALUE)) 1072 ); 1184 .addComponent(ringLabel) 1185 .addComponent(timesRingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1186 .addComponent(inQueueLabel) 1187 .addComponent(timesInQueueField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1188 .addComponent(allAvailableLabel) 1189 .addComponent(timesAllAvailableField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1190 .addComponent(callClosedLabel) 1191 .addComponent(timesCallClosedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1192 .addComponent(timesPageTimesButton)) 1193 .addContainerGap(88, Short.MAX_VALUE))); 1073 1194 1074 1195 transportInfoPane.setPreferredSize(new java.awt.Dimension(809, 300)); … … 1113 1234 transportProtocolLabel.setText("Transport Protocol..."); 1114 1235 1115 transportInfoProtocolComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] {""})); 1236 transportInfoProtocolComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 1237 { 1238 "" 1239 })); 1116 1240 transportInfoProtocolComboBox.setEnabled(false); 1117 1241 1118 1242 transportPriorityLabel.setText("Transport Priority..."); 1119 1243 1120 transportInfoPriorityComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] {""})); 1244 transportInfoPriorityComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 1245 { 1246 "" 1247 })); 1121 1248 transportInfoPriorityComboBox.setEnabled(false); 1122 1249 1123 1250 assistedByLabel.setText("Assisted By..."); 1124 1251 1125 transportInfoAssistedByComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] {""})); 1252 transportInfoAssistedByComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] 1253 { 1254 "" 1255 })); 1126 1256 transportInfoAssistedByComboBox.setEnabled(false); 1127 1257 … … 1129 1259 jPanel7.setLayout(jPanel7Layout); 1130 1260 jPanel7Layout.setHorizontalGroup( 1131 jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1132 .addGroup(jPanel7Layout.createSequentialGroup()1261 jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1262 .addGroup(jPanel7Layout.createSequentialGroup() 1133 1263 .addContainerGap() 1134 1264 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1135 .addComponent(transportInfoProtocolComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1136 .addComponent(transportInfoPriorityComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1137 .addGroup(jPanel7Layout.createSequentialGroup() 1138 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1139 .addComponent(transportProtocolLabel) 1140 .addComponent(transportPriorityLabel) 1141 .addComponent(assistedByLabel)) 1142 .addGap(0, 94, Short.MAX_VALUE)) 1143 .addComponent(transportInfoAssistedByComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1144 .addContainerGap()) 1145 ); 1265 .addComponent(transportInfoProtocolComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1266 .addComponent(transportInfoPriorityComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1267 .addGroup(jPanel7Layout.createSequentialGroup() 1268 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1269 .addComponent(transportProtocolLabel) 1270 .addComponent(transportPriorityLabel) 1271 .addComponent(assistedByLabel)) 1272 .addGap(0, 94, Short.MAX_VALUE)) 1273 .addComponent(transportInfoAssistedByComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1274 .addContainerGap())); 1146 1275 jPanel7Layout.setVerticalGroup( 1147 jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1148 .addGroup(jPanel7Layout.createSequentialGroup()1276 jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1277 .addGroup(jPanel7Layout.createSequentialGroup() 1149 1278 .addGap(30, 30, 30) 1150 1279 .addComponent(transportProtocolLabel) … … 1159 1288 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1160 1289 .addComponent(transportInfoAssistedByComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1161 .addContainerGap(33, Short.MAX_VALUE)) 1162 ); 1290 .addContainerGap(33, Short.MAX_VALUE))); 1163 1291 1164 1292 jTabbedPane2.addTab("Mode", jPanel7); … … 1167 1295 jPanel8.setLayout(jPanel8Layout); 1168 1296 jPanel8Layout.setHorizontalGroup( 1169 jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1170 .addGap(0, 215, Short.MAX_VALUE) 1171 ); 1297 jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1298 .addGap(0, 215, Short.MAX_VALUE)); 1172 1299 jPanel8Layout.setVerticalGroup( 1173 jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1174 .addGap(0, 195, Short.MAX_VALUE) 1175 ); 1300 jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1301 .addGap(0, 195, Short.MAX_VALUE)); 1176 1302 1177 1303 jTabbedPane2.addTab("Times", jPanel8); … … 1180 1306 jPanel9.setLayout(jPanel9Layout); 1181 1307 jPanel9Layout.setHorizontalGroup( 1182 jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1183 .addGap(0, 215, Short.MAX_VALUE) 1184 ); 1308 jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1309 .addGap(0, 215, Short.MAX_VALUE)); 1185 1310 jPanel9Layout.setVerticalGroup( 1186 jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1187 .addGap(0, 195, Short.MAX_VALUE) 1188 ); 1311 jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1312 .addGap(0, 195, Short.MAX_VALUE)); 1189 1313 1190 1314 jTabbedPane2.addTab("Odometer", jPanel9); … … 1193 1317 jPanel10.setLayout(jPanel10Layout); 1194 1318 jPanel10Layout.setHorizontalGroup( 1195 jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1196 .addGap(0, 215, Short.MAX_VALUE) 1197 ); 1319 jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1320 .addGap(0, 215, Short.MAX_VALUE)); 1198 1321 jPanel10Layout.setVerticalGroup( 1199 jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1200 .addGap(0, 195, Short.MAX_VALUE) 1201 ); 1322 jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1323 .addGap(0, 195, Short.MAX_VALUE)); 1202 1324 1203 1325 jTabbedPane2.addTab("Caution", jPanel10); … … 1206 1328 jPanel6.setLayout(jPanel6Layout); 1207 1329 jPanel6Layout.setHorizontalGroup( 1208 jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1209 .addGroup(jPanel6Layout.createSequentialGroup()1330 jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1331 .addGroup(jPanel6Layout.createSequentialGroup() 1210 1332 .addContainerGap() 1211 1333 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1212 .addComponent(jTextField27)1213 .addComponent(transportInfoAddPresetTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)1214 .addComponent(transportInfoRemoveTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)1215 .addComponent(transportInfoLinkUnitToTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))1334 .addComponent(jTextField27) 1335 .addComponent(transportInfoAddPresetTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1336 .addComponent(transportInfoRemoveTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1337 .addComponent(transportInfoLinkUnitToTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1216 1338 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1217 .addGroup(jPanel6Layout.createSequentialGroup()1218 .addGap(5, 5, 5)1219 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)1220 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)1221 .addComponent(nameLabel)1222 .addComponent(transportCityLabel)1223 .addComponent(transportLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)1224 .addComponent(transportInfoAddressButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))1225 .addComponent(transportStateLabel)1226 .addComponent(roomAptEtcLabel)1227 .addComponent(phoneLabel2))1228 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1229 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)1230 .addComponent(transportInfoNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)1231 .addComponent(transportInfoCityComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)1232 .addComponent(transportInfoLocationField)1233 .addComponent(transportInfoAddressField)1234 .addGroup(jPanel6Layout.createSequentialGroup()1235 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1236 .addGroup(jPanel6Layout.createSequentialGroup()1237 .addComponent(transportInfoRoomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1238 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1239 .addComponent(buildingNumLabel))1240 .addComponent(transportInfoStateField, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))1241 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1242 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1243 .addComponent(transportInfoBuildingField, javax.swing.GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE)1244 .addGroup(jPanel6Layout.createSequentialGroup()1245 .addComponent(transportInfoState2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1246 .addGap(0, 0, Short.MAX_VALUE))))1247 .addGroup(jPanel6Layout.createSequentialGroup()1248 .addComponent(transportInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)1249 .addGap(14, 14, 14)1250 .addComponent(transportInfoCancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))1251 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()1252 .addGap(242, 242, 242)1253 .addComponent(transportInfoSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)))1339 .addGroup(jPanel6Layout.createSequentialGroup() 1340 .addGap(5, 5, 5) 1341 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1342 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) 1343 .addComponent(nameLabel) 1344 .addComponent(transportCityLabel) 1345 .addComponent(transportLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1346 .addComponent(transportInfoAddressButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1347 .addComponent(transportStateLabel) 1348 .addComponent(roomAptEtcLabel) 1349 .addComponent(phoneLabel2)) 1350 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1351 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1352 .addComponent(transportInfoNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE) 1353 .addComponent(transportInfoCityComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1354 .addComponent(transportInfoLocationField) 1355 .addComponent(transportInfoAddressField) 1356 .addGroup(jPanel6Layout.createSequentialGroup() 1357 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1358 .addGroup(jPanel6Layout.createSequentialGroup() 1359 .addComponent(transportInfoRoomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1360 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1361 .addComponent(buildingNumLabel)) 1362 .addComponent(transportInfoStateField, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)) 1363 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1364 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1365 .addComponent(transportInfoBuildingField, javax.swing.GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE) 1366 .addGroup(jPanel6Layout.createSequentialGroup() 1367 .addComponent(transportInfoState2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1368 .addGap(0, 0, Short.MAX_VALUE)))) 1369 .addGroup(jPanel6Layout.createSequentialGroup() 1370 .addComponent(transportInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE) 1371 .addGap(14, 14, 14) 1372 .addComponent(transportInfoCancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) 1373 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup() 1374 .addGap(242, 242, 242) 1375 .addComponent(transportInfoSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))) 1254 1376 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1255 1377 .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE) 1256 .addContainerGap(84, Short.MAX_VALUE)) 1257 ); 1378 .addContainerGap(84, Short.MAX_VALUE))); 1258 1379 jPanel6Layout.setVerticalGroup( 1259 jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1260 .addGroup(jPanel6Layout.createSequentialGroup()1380 jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1381 .addGroup(jPanel6Layout.createSequentialGroup() 1261 1382 .addGap(17, 17, 17) 1262 1383 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1263 .addComponent(jTextField27, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE) 1264 .addGroup(jPanel6Layout.createSequentialGroup() 1265 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1266 .addComponent(nameLabel) 1267 .addComponent(transportInfoNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1268 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1269 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1270 .addComponent(transportCityLabel) 1271 .addComponent(transportInfoCityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1272 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1273 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1274 .addComponent(transportLocationLabel) 1275 .addComponent(transportInfoLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1276 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1277 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1278 .addComponent(transportInfoAddressButton) 1279 .addComponent(transportInfoAddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1280 .addGap(23, 23, 23) 1281 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1282 .addComponent(transportStateLabel) 1283 .addComponent(transportInfoStateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1284 .addComponent(transportInfoState2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1285 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1286 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1287 .addComponent(roomAptEtcLabel) 1288 .addComponent(transportInfoRoomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1289 .addComponent(buildingNumLabel) 1290 .addComponent(transportInfoBuildingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) 1384 .addComponent(jTextField27, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE) 1385 .addGroup(jPanel6Layout.createSequentialGroup() 1386 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1387 .addComponent(nameLabel) 1388 .addComponent(transportInfoNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1389 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1390 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1391 .addComponent(transportCityLabel) 1392 .addComponent(transportInfoCityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1291 1393 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1292 1394 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1293 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1294 .addComponent(phoneLabel2) 1295 .addComponent(transportInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1296 .addComponent(transportInfoCancelButton)) 1297 .addComponent(transportInfoAddPresetTransportRecButton)) 1395 .addComponent(transportLocationLabel) 1396 .addComponent(transportInfoLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1397 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1398 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1399 .addComponent(transportInfoAddressButton) 1400 .addComponent(transportInfoAddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1401 .addGap(23, 23, 23) 1402 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1403 .addComponent(transportStateLabel) 1404 .addComponent(transportInfoStateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1405 .addComponent(transportInfoState2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1406 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1407 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1408 .addComponent(roomAptEtcLabel) 1409 .addComponent(transportInfoRoomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1410 .addComponent(buildingNumLabel) 1411 .addComponent(transportInfoBuildingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) 1412 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1298 1413 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1299 .addGroup(jPanel6Layout.createSequentialGroup() 1300 .addComponent(transportInfoRemoveTransportRecButton) 1301 .addGap(0, 0, Short.MAX_VALUE) 1302 .addComponent(transportInfoLinkUnitToTransportRecButton)) 1303 .addGroup(jPanel6Layout.createSequentialGroup() 1304 .addComponent(transportInfoSaveButton) 1305 .addGap(0, 0, Short.MAX_VALUE))) 1414 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1415 .addComponent(phoneLabel2) 1416 .addComponent(transportInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1417 .addComponent(transportInfoCancelButton)) 1418 .addComponent(transportInfoAddPresetTransportRecButton)) 1419 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1420 .addGroup(jPanel6Layout.createSequentialGroup() 1421 .addComponent(transportInfoRemoveTransportRecButton) 1422 .addGap(0, 0, Short.MAX_VALUE) 1423 .addComponent(transportInfoLinkUnitToTransportRecButton)) 1424 .addGroup(jPanel6Layout.createSequentialGroup() 1425 .addComponent(transportInfoSaveButton) 1426 .addGap(0, 0, Short.MAX_VALUE))) 1306 1427 .addContainerGap()) 1307 .addGroup(jPanel6Layout.createSequentialGroup()1428 .addGroup(jPanel6Layout.createSequentialGroup() 1308 1429 .addGap(18, 18, 18) 1309 1430 .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE) 1310 .addGap(0, 0, Short.MAX_VALUE)) 1311 ); 1431 .addGap(0, 0, Short.MAX_VALUE))); 1312 1432 1313 1433 javax.swing.GroupLayout transportInfoPaneLayout = new javax.swing.GroupLayout(transportInfoPane); 1314 1434 transportInfoPane.setLayout(transportInfoPaneLayout); 1315 1435 transportInfoPaneLayout.setHorizontalGroup( 1316 transportInfoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1317 .addGroup(transportInfoPaneLayout.createSequentialGroup()1436 transportInfoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1437 .addGroup(transportInfoPaneLayout.createSequentialGroup() 1318 1438 .addContainerGap() 1319 1439 .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1320 .addContainerGap()) 1321 ); 1440 .addContainerGap())); 1322 1441 transportInfoPaneLayout.setVerticalGroup( 1323 transportInfoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1324 .addGroup(transportInfoPaneLayout.createSequentialGroup()1442 transportInfoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1443 .addGroup(transportInfoPaneLayout.createSequentialGroup() 1325 1444 .addContainerGap() 1326 1445 .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 273, Short.MAX_VALUE) 1327 .addGap(25, 25, 25)) 1328 ); 1446 .addGap(25, 25, 25))); 1329 1447 1330 1448 userDataPane.setPreferredSize(new java.awt.Dimension(809, 300)); … … 1333 1451 1334 1452 timeStampsTable.setModel(new javax.swing.table.DefaultTableModel( 1335 null,new String [] { 1336 "Time Stamp Description", "Date", "Time"} 1337 )); 1453 null, new String[] 1454 { 1455 "Time Stamp Description", "Date", "Time" 1456 })); 1338 1457 jScrollPane10.setViewportView(timeStampsTable); 1339 1458 … … 1345 1464 1346 1465 userDataDateField.setEditable(false); 1347 1466 1348 1467 timeLabel.setText("Time:"); 1349 1468 1350 1469 userDataTimeField.setEditable(false); 1351 1470 … … 1354 1473 1355 1474 dataFieldsTable.setModel(new javax.swing.table.DefaultTableModel( 1356 null, new String [] {"Data Field Discription", "Data"} )); 1357 1475 null, new String[] 1476 { 1477 "Data Field Discription", "Data" 1478 })); 1479 1358 1480 jScrollPane11.setViewportView(dataFieldsTable); 1359 1481 … … 1361 1483 1362 1484 userDataDataField.setEditable(false); 1363 1485 1364 1486 userDataCancelButton.setText("Cancel"); 1365 1487 userDataCancelButton.setEnabled(false); … … 1371 1493 jPanel11.setLayout(jPanel11Layout); 1372 1494 jPanel11Layout.setHorizontalGroup( 1373 jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1374 .addGroup(jPanel11Layout.createSequentialGroup()1495 jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1496 .addGroup(jPanel11Layout.createSequentialGroup() 1375 1497 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1376 .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE)1377 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)1378 .addGroup(jPanel11Layout.createSequentialGroup()1379 .addContainerGap()1380 .addComponent(timeStampsLabel)1381 .addGap(310, 310, 310))1382 .addGroup(jPanel11Layout.createSequentialGroup()1383 .addGap(27, 27, 27)1384 .addComponent(dateLabel)1385 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1386 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)1387 .addComponent(userDataTimeStampField, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE)1388 .addGroup(jPanel11Layout.createSequentialGroup()1389 .addComponent(userDataDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)1390 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)1391 .addComponent(timeLabel)1392 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1393 .addComponent(userDataTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))1394 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1395 .addComponent(userDataStampButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))1498 .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE) 1499 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1500 .addGroup(jPanel11Layout.createSequentialGroup() 1501 .addContainerGap() 1502 .addComponent(timeStampsLabel) 1503 .addGap(310, 310, 310)) 1504 .addGroup(jPanel11Layout.createSequentialGroup() 1505 .addGap(27, 27, 27) 1506 .addComponent(dateLabel) 1507 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1508 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1509 .addComponent(userDataTimeStampField, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE) 1510 .addGroup(jPanel11Layout.createSequentialGroup() 1511 .addComponent(userDataDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE) 1512 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1513 .addComponent(timeLabel) 1514 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1515 .addComponent(userDataTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))) 1516 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1517 .addComponent(userDataStampButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) 1396 1518 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1397 1519 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1398 .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) 1399 .addGroup(jPanel11Layout.createSequentialGroup() 1400 .addComponent(dataFieldsLabel) 1401 .addGap(0, 0, Short.MAX_VALUE)) 1402 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup() 1403 .addGap(0, 90, Short.MAX_VALUE) 1404 .addComponent(userDataDataField, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE) 1405 .addGap(18, 18, 18) 1406 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1407 .addComponent(userDataCancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE) 1408 .addComponent(userDataSaveButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) 1409 .addContainerGap()) 1410 ); 1520 .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) 1521 .addGroup(jPanel11Layout.createSequentialGroup() 1522 .addComponent(dataFieldsLabel) 1523 .addGap(0, 0, Short.MAX_VALUE)) 1524 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup() 1525 .addGap(0, 90, Short.MAX_VALUE) 1526 .addComponent(userDataDataField, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE) 1527 .addGap(18, 18, 18) 1528 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1529 .addComponent(userDataCancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE) 1530 .addComponent(userDataSaveButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) 1531 .addContainerGap())); 1411 1532 jPanel11Layout.setVerticalGroup( 1412 jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1413 .addGroup(jPanel11Layout.createSequentialGroup()1533 jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1534 .addGroup(jPanel11Layout.createSequentialGroup() 1414 1535 .addContainerGap() 1415 1536 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1416 .addComponent(timeStampsLabel)1417 .addComponent(dataFieldsLabel))1537 .addComponent(timeStampsLabel) 1538 .addComponent(dataFieldsLabel)) 1418 1539 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1419 1540 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1420 .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)1421 .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))1541 .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE) 1542 .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) 1422 1543 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1423 1544 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1424 .addComponent(userDataTimeStampField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1425 .addComponent(userDataCancelButton))1545 .addComponent(userDataTimeStampField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1546 .addComponent(userDataCancelButton)) 1426 1547 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1427 1548 .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1428 .addComponent(dateLabel) 1429 .addComponent(userDataDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1430 .addComponent(timeLabel) 1431 .addComponent(userDataTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1432 .addComponent(userDataStampButton) 1433 .addComponent(userDataSaveButton) 1434 .addComponent(userDataDataField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1435 .addContainerGap()) 1436 ); 1549 .addComponent(dateLabel) 1550 .addComponent(userDataDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1551 .addComponent(timeLabel) 1552 .addComponent(userDataTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1553 .addComponent(userDataStampButton) 1554 .addComponent(userDataSaveButton) 1555 .addComponent(userDataDataField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1556 .addContainerGap())); 1437 1557 1438 1558 javax.swing.GroupLayout userDataPaneLayout = new javax.swing.GroupLayout(userDataPane); 1439 1559 userDataPane.setLayout(userDataPaneLayout); 1440 1560 userDataPaneLayout.setHorizontalGroup( 1441 userDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1442 .addGroup(userDataPaneLayout.createSequentialGroup()1561 userDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1562 .addGroup(userDataPaneLayout.createSequentialGroup() 1443 1563 .addContainerGap() 1444 1564 .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1445 .addContainerGap()) 1446 ); 1565 .addContainerGap())); 1447 1566 userDataPaneLayout.setVerticalGroup( 1448 userDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1449 .addGroup(userDataPaneLayout.createSequentialGroup()1567 userDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1568 .addGroup(userDataPaneLayout.createSequentialGroup() 1450 1569 .addContainerGap() 1451 1570 .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1452 .addGap(28, 28, 28)) 1453 ); 1571 .addGap(28, 28, 28))); 1454 1572 1455 1573 attachmentsPane.setPreferredSize(new java.awt.Dimension(809, 300)); 1456 1574 1457 1575 attachmentsTable.setModel(new javax.swing.table.DefaultTableModel( 1458 null,new String [] { 1459 "Data", "Attachment Type", "Size", "Description"} 1460 )); 1576 null, new String[] 1577 { 1578 "Data", "Attachment Type", "Size", "Description" 1579 })); 1461 1580 jScrollPane12.setViewportView(attachmentsTable); 1462 1581 … … 1466 1585 1467 1586 attachmentsDescriptionField.setEditable(false); 1468 1587 1469 1588 attachmentsBrowseButton.setText("jButton38"); 1470 1589 attachmentsBrowseButton.setEnabled(false); 1471 1590 1472 1591 descriptionLabel.setText("Description:"); 1473 1592 … … 1487 1606 attachmentsPane.setLayout(attachmentsPaneLayout); 1488 1607 attachmentsPaneLayout.setHorizontalGroup( 1489 attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1490 .addGroup(attachmentsPaneLayout.createSequentialGroup()1608 attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1609 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1491 1610 .addContainerGap() 1492 1611 .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE) 1493 1612 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1494 1613 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1495 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1496 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1497 .addComponent(fileNameLabel) 1498 .addComponent(descriptionLabel)) 1499 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1500 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1501 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1502 .addComponent(attachmentsFileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE) 1503 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1504 .addComponent(attachmentsBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 1505 .addGap(0, 27, Short.MAX_VALUE)) 1506 .addComponent(attachmentsDescriptionField))) 1507 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1508 .addComponent(attachmentsAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1509 .addGap(0, 0, 0) 1510 .addComponent(attachmentsDeleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1511 .addGap(0, 0, 0) 1512 .addComponent(attachmentsCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1513 .addGap(0, 0, 0) 1514 .addComponent(attachmentsSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1515 .addGap(0, 0, Short.MAX_VALUE))) 1516 .addContainerGap()) 1517 ); 1614 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1615 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1616 .addComponent(fileNameLabel) 1617 .addComponent(descriptionLabel)) 1618 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1619 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1620 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1621 .addComponent(attachmentsFileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE) 1622 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1623 .addComponent(attachmentsBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 1624 .addGap(0, 27, Short.MAX_VALUE)) 1625 .addComponent(attachmentsDescriptionField))) 1626 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1627 .addComponent(attachmentsAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1628 .addGap(0, 0, 0) 1629 .addComponent(attachmentsDeleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1630 .addGap(0, 0, 0) 1631 .addComponent(attachmentsCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1632 .addGap(0, 0, 0) 1633 .addComponent(attachmentsSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) 1634 .addGap(0, 0, Short.MAX_VALUE))) 1635 .addContainerGap())); 1518 1636 attachmentsPaneLayout.setVerticalGroup( 1519 attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1520 .addGroup(attachmentsPaneLayout.createSequentialGroup()1637 attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1638 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1521 1639 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1522 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1523 .addContainerGap() 1524 .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)) 1525 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1526 .addGap(37, 37, 37) 1527 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1528 .addComponent(fileNameLabel) 1529 .addComponent(attachmentsFileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1530 .addComponent(attachmentsBrowseButton)) 1531 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1532 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1533 .addComponent(descriptionLabel) 1534 .addComponent(attachmentsDescriptionField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) 1535 .addGap(36, 36, 36) 1536 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1537 .addComponent(attachmentsAddButton) 1538 .addComponent(attachmentsDeleteButton) 1539 .addComponent(attachmentsCancelButton) 1540 .addComponent(attachmentsSaveButton)))) 1541 .addGap(48, 48, 48)) 1542 ); 1640 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1641 .addContainerGap() 1642 .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)) 1643 .addGroup(attachmentsPaneLayout.createSequentialGroup() 1644 .addGap(37, 37, 37) 1645 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1646 .addComponent(fileNameLabel) 1647 .addComponent(attachmentsFileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1648 .addComponent(attachmentsBrowseButton)) 1649 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1650 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1651 .addComponent(descriptionLabel) 1652 .addComponent(attachmentsDescriptionField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) 1653 .addGap(36, 36, 36) 1654 .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1655 .addComponent(attachmentsAddButton) 1656 .addComponent(attachmentsDeleteButton) 1657 .addComponent(attachmentsCancelButton) 1658 .addComponent(attachmentsSaveButton)))) 1659 .addGap(48, 48, 48))); 1543 1660 1544 1661 bottomTabbedPane.addTab("Additional Information", callBacksPane); … … 1552 1669 bottomTabbedPane.addTab("User Data", userDataPane); 1553 1670 bottomTabbedPane.addTab("Attachments", attachmentsPane); 1554 1671 1555 1672 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 1556 1673 getContentPane().setLayout(layout); 1557 1674 layout.setHorizontalGroup( 1558 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1559 .addGroup(layout.createSequentialGroup()1675 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1676 .addGroup(layout.createSequentialGroup() 1560 1677 .addContainerGap() 1561 1678 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1562 .addGroup(layout.createSequentialGroup() 1563 .addGap(10, 10, 10) 1564 .addComponent(lawLabel) 1565 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1566 .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) 1567 .addGap(26, 26, 26) 1568 .addComponent(fireLabel) 1569 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1570 .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE) 1571 .addGap(18, 18, 18) 1572 .addComponent(emsLabel) 1573 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1574 .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE) 1575 .addGap(47, 47, 47)) 1576 .addGroup(layout.createSequentialGroup() 1577 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1578 .addGroup(layout.createSequentialGroup() 1579 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1580 .addGroup(layout.createSequentialGroup() 1581 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1582 .addComponent(jLabel8) 1583 .addComponent(mediaLabel) 1584 .addComponent(agencyLabel) 1585 .addComponent(locationLabel) 1586 .addComponent(mapLocLabel)) 1587 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1588 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1589 .addGroup(layout.createSequentialGroup() 1590 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1591 .addGroup(layout.createSequentialGroup() 1592 .addComponent(agencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1593 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1594 .addComponent(typeCodeLabel) 1595 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1596 .addComponent(typeCodeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE) 1597 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1598 .addComponent(priLabel) 1599 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1600 .addComponent(priComboBox, 0, 1, Short.MAX_VALUE)) 1601 .addGroup(layout.createSequentialGroup() 1602 .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE) 1603 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1604 .addComponent(aptLabel) 1605 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1606 .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1607 .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE) 1608 .addGroup(layout.createSequentialGroup() 1609 .addComponent(mediaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE) 1610 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1611 .addComponent(confidentialCommentCheckBox))) 1612 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1613 .addComponent(rightOfPriButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) 1614 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 373, javax.swing.GroupLayout.PREFERRED_SIZE))) 1615 .addGroup(layout.createSequentialGroup() 1616 .addGap(35, 35, 35) 1617 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1618 .addComponent(addFspChpButton) 1619 .addComponent(hubXterButton)) 1620 .addGap(32, 32, 32) 1621 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1622 .addComponent(aniAliButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) 1623 .addComponent(unitRecButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)) 1624 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1625 .addComponent(updateMapLocButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) 1626 .addComponent(showAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)) 1627 .addGap(51, 51, 51) 1628 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1629 .addGroup(layout.createSequentialGroup() 1630 .addComponent(sentToQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) 1631 .addGap(0, 0, 0) 1632 .addComponent(fileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)) 1633 .addComponent(exitSendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))) 1634 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1635 .addGroup(layout.createSequentialGroup() 1636 .addGap(20, 20, 20) 1637 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1638 .addComponent(crossStLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1639 .addComponent(cityLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1640 .addComponent(rpLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1641 .addComponent(phoneLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1642 .addComponent(aliLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1643 .addComponent(rpTypeLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1644 .addComponent(sectorLabel, javax.swing.GroupLayout.Alignment.TRAILING)) 1645 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1646 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1647 .addComponent(crossStField) 1648 .addGroup(layout.createSequentialGroup() 1649 .addComponent(cityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) 1650 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1651 .addComponent(countyLabel) 1652 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1653 .addComponent(countyComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1654 .addComponent(rpField) 1655 .addGroup(layout.createSequentialGroup() 1656 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1657 .addGroup(layout.createSequentialGroup() 1658 .addComponent(sectorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE) 1659 .addGap(18, 18, 18) 1660 .addComponent(beatLabel)) 1661 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1662 .addGroup(layout.createSequentialGroup() 1663 .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE) 1664 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1665 .addComponent(extLabel) 1666 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1667 .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1668 .addComponent(rpTypeComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1669 .addComponent(aliField, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE))) 1670 .addGap(0, 0, Short.MAX_VALUE)))) 1671 .addGroup(layout.createSequentialGroup() 1672 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1673 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1674 .addGroup(layout.createSequentialGroup() 1675 .addComponent(informationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1676 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1677 .addComponent(carButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1678 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1679 .addComponent(personButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1680 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1681 .addComponent(towRotationButton)) 1682 .addGroup(layout.createSequentialGroup() 1683 .addComponent(mapButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1684 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1685 .addComponent(premiseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1686 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1687 .addComponent(historyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1688 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1689 .addComponent(cautionButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))) 1690 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1691 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 1692 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1693 .addComponent(addButton) 1694 .addGap(45, 45, 45)) 1695 .addGroup(layout.createSequentialGroup() 1696 .addGap(6, 6, 6) 1697 .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)) 1698 .addGroup(layout.createSequentialGroup() 1699 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1700 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1701 .addComponent(licensePlateInfoLabel) 1702 .addGroup(layout.createSequentialGroup() 1703 .addGap(30, 30, 30) 1704 .addComponent(beatComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))))) 1705 .addComponent(bottomTabbedPane, javax.swing.GroupLayout.Alignment.TRAILING)) 1706 .addContainerGap()))) 1707 ); 1679 .addGroup(layout.createSequentialGroup() 1680 .addGap(10, 10, 10) 1681 .addComponent(lawLabel) 1682 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1683 .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) 1684 .addGap(26, 26, 26) 1685 .addComponent(fireLabel) 1686 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1687 .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE) 1688 .addGap(18, 18, 18) 1689 .addComponent(emsLabel) 1690 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1691 .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE) 1692 .addGap(47, 47, 47)) 1693 .addGroup(layout.createSequentialGroup() 1694 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1695 .addGroup(layout.createSequentialGroup() 1696 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1697 .addGroup(layout.createSequentialGroup() 1698 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1699 .addComponent(jLabel8) 1700 .addComponent(mediaLabel) 1701 .addComponent(agencyLabel) 1702 .addComponent(locationLabel) 1703 .addComponent(mapLocLabel)) 1704 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1705 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1706 .addGroup(layout.createSequentialGroup() 1707 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1708 .addGroup(layout.createSequentialGroup() 1709 .addComponent(agencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1710 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1711 .addComponent(typeCodeLabel) 1712 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1713 .addComponent(typeCodeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE) 1714 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1715 .addComponent(priLabel) 1716 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1717 .addComponent(priComboBox, 0, 1, Short.MAX_VALUE)) 1718 .addGroup(layout.createSequentialGroup() 1719 .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE) 1720 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1721 .addComponent(aptLabel) 1722 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1723 .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1724 .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE) 1725 .addGroup(layout.createSequentialGroup() 1726 .addComponent(mediaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE) 1727 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1728 .addComponent(confidentialCommentCheckBox))) 1729 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1730 .addComponent(rightOfPriButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) 1731 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 373, javax.swing.GroupLayout.PREFERRED_SIZE))) 1732 .addGroup(layout.createSequentialGroup() 1733 .addGap(35, 35, 35) 1734 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1735 .addComponent(addFspChpButton) 1736 .addComponent(hubXterButton)) 1737 .addGap(32, 32, 32) 1738 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1739 .addComponent(aniAliButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) 1740 .addComponent(unitRecButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)) 1741 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1742 .addComponent(updateMapLocButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) 1743 .addComponent(showAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)) 1744 .addGap(51, 51, 51) 1745 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1746 .addGroup(layout.createSequentialGroup() 1747 .addComponent(sentToQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) 1748 .addGap(0, 0, 0) 1749 .addComponent(fileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)) 1750 .addComponent(exitSendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))) 1751 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1752 .addGroup(layout.createSequentialGroup() 1753 .addGap(20, 20, 20) 1754 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1755 .addComponent(crossStLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1756 .addComponent(cityLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1757 .addComponent(rpLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1758 .addComponent(phoneLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1759 .addComponent(aliLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1760 .addComponent(rpTypeLabel, javax.swing.GroupLayout.Alignment.TRAILING) 1761 .addComponent(sectorLabel, javax.swing.GroupLayout.Alignment.TRAILING)) 1762 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1763 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1764 .addComponent(crossStField) 1765 .addGroup(layout.createSequentialGroup() 1766 .addComponent(cityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) 1767 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1768 .addComponent(countyLabel) 1769 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1770 .addComponent(countyComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1771 .addComponent(rpField) 1772 .addGroup(layout.createSequentialGroup() 1773 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1774 .addGroup(layout.createSequentialGroup() 1775 .addComponent(sectorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE) 1776 .addGap(18, 18, 18) 1777 .addComponent(beatLabel)) 1778 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 1779 .addGroup(layout.createSequentialGroup() 1780 .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE) 1781 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1782 .addComponent(extLabel) 1783 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1784 .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1785 .addComponent(rpTypeComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1786 .addComponent(aliField, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE))) 1787 .addGap(0, 0, Short.MAX_VALUE)))) 1788 .addGroup(layout.createSequentialGroup() 1789 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1790 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1791 .addGroup(layout.createSequentialGroup() 1792 .addComponent(informationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1793 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1794 .addComponent(carButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1795 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1796 .addComponent(personButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1797 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1798 .addComponent(towRotationButton)) 1799 .addGroup(layout.createSequentialGroup() 1800 .addComponent(mapButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1801 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1802 .addComponent(premiseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1803 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1804 .addComponent(historyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1805 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1806 .addComponent(cautionButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))) 1807 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1808 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 1809 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 1810 .addComponent(addButton) 1811 .addGap(45, 45, 45)) 1812 .addGroup(layout.createSequentialGroup() 1813 .addGap(6, 6, 6) 1814 .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)) 1815 .addGroup(layout.createSequentialGroup() 1816 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 1817 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1818 .addComponent(licensePlateInfoLabel) 1819 .addGroup(layout.createSequentialGroup() 1820 .addGap(30, 30, 30) 1821 .addComponent(beatComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))))) 1822 .addComponent(bottomTabbedPane, javax.swing.GroupLayout.Alignment.TRAILING)) 1823 .addContainerGap())))); 1708 1824 layout.setVerticalGroup( 1709 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1710 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()1825 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1826 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 1711 1827 .addContainerGap() 1712 1828 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1713 .addComponent(mapLocLabel)1714 .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1715 .addComponent(aptLabel)1716 .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1717 .addComponent(crossStLabel)1718 .addComponent(crossStField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))1829 .addComponent(mapLocLabel) 1830 .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1831 .addComponent(aptLabel) 1832 .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1833 .addComponent(crossStLabel) 1834 .addComponent(crossStField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1719 1835 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1720 1836 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1721 .addComponent(locationLabel)1722 .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1723 .addComponent(cityLabel)1724 .addComponent(cityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1725 .addComponent(countyLabel)1726 .addComponent(countyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))1837 .addComponent(locationLabel) 1838 .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1839 .addComponent(cityLabel) 1840 .addComponent(cityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1841 .addComponent(countyLabel) 1842 .addComponent(countyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1727 1843 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1728 1844 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1729 .addGroup(layout.createSequentialGroup()1730 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1731 .addComponent(agencyLabel)1732 .addComponent(agencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1733 .addComponent(typeCodeLabel)1734 .addComponent(typeCodeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1735 .addComponent(priLabel)1736 .addComponent(priComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))1737 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1738 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1739 .addComponent(mediaLabel)1740 .addComponent(mediaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1741 .addComponent(confidentialCommentCheckBox)))1742 .addGroup(layout.createSequentialGroup()1743 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1744 .addComponent(rpLabel)1745 .addComponent(rpField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))1746 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1747 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1748 .addComponent(phoneLabel)1749 .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1750 .addComponent(extLabel)1751 .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))1752 .addComponent(rightOfPriButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))1845 .addGroup(layout.createSequentialGroup() 1846 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1847 .addComponent(agencyLabel) 1848 .addComponent(agencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1849 .addComponent(typeCodeLabel) 1850 .addComponent(typeCodeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1851 .addComponent(priLabel) 1852 .addComponent(priComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1853 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1854 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1855 .addComponent(mediaLabel) 1856 .addComponent(mediaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1857 .addComponent(confidentialCommentCheckBox))) 1858 .addGroup(layout.createSequentialGroup() 1859 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1860 .addComponent(rpLabel) 1861 .addComponent(rpField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1862 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1863 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1864 .addComponent(phoneLabel) 1865 .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1866 .addComponent(extLabel) 1867 .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 1868 .addComponent(rightOfPriButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) 1753 1869 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1754 1870 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1755 .addGroup(layout.createSequentialGroup()1756 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1757 .addComponent(aliField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1758 .addComponent(aliLabel))1759 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1760 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1761 .addComponent(rpTypeLabel)1762 .addComponent(rpTypeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))1763 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1764 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1765 .addComponent(sectorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1766 .addComponent(beatLabel)1767 .addComponent(beatComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1768 .addComponent(sectorLabel))1769 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1770 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1771 .addGroup(layout.createSequentialGroup()1772 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1773 .addComponent(carButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1774 .addComponent(informationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1775 .addComponent(personButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1776 .addComponent(towRotationButton))1777 .addGap(15, 15, 15)1778 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1779 .addComponent(mapButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)1780 .addComponent(premiseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)1781 .addComponent(historyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)1782 .addComponent(cautionButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)))1783 .addGroup(layout.createSequentialGroup()1784 .addComponent(licensePlateInfoLabel)1785 .addGap(4, 4, 4)1786 .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)1787 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)1788 .addComponent(addButton))))1789 .addGroup(layout.createSequentialGroup()1790 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)1791 .addGroup(layout.createSequentialGroup()1792 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1793 .addComponent(jLabel8)1794 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))1795 .addGap(0, 0, 0)1796 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1797 .addComponent(aniAliButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1798 .addComponent(updateMapLocButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1799 .addComponent(hubXterButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))1800 .addComponent(exitSendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))1801 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)1802 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1803 .addComponent(unitRecButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1804 .addComponent(showAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1805 .addComponent(sentToQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)1806 .addComponent(fileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))1807 .addComponent(addFspChpButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))))1871 .addGroup(layout.createSequentialGroup() 1872 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1873 .addComponent(aliField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1874 .addComponent(aliLabel)) 1875 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1876 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1877 .addComponent(rpTypeLabel) 1878 .addComponent(rpTypeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1879 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1880 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1881 .addComponent(sectorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1882 .addComponent(beatLabel) 1883 .addComponent(beatComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1884 .addComponent(sectorLabel)) 1885 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1886 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1887 .addGroup(layout.createSequentialGroup() 1888 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1889 .addComponent(carButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1890 .addComponent(informationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1891 .addComponent(personButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1892 .addComponent(towRotationButton)) 1893 .addGap(15, 15, 15) 1894 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1895 .addComponent(mapButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1896 .addComponent(premiseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1897 .addComponent(historyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 1898 .addComponent(cautionButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))) 1899 .addGroup(layout.createSequentialGroup() 1900 .addComponent(licensePlateInfoLabel) 1901 .addGap(4, 4, 4) 1902 .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE) 1903 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1904 .addComponent(addButton)))) 1905 .addGroup(layout.createSequentialGroup() 1906 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 1907 .addGroup(layout.createSequentialGroup() 1908 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1909 .addComponent(jLabel8) 1910 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) 1911 .addGap(0, 0, 0) 1912 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1913 .addComponent(aniAliButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1914 .addComponent(updateMapLocButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1915 .addComponent(hubXterButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))) 1916 .addComponent(exitSendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) 1917 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1918 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1919 .addComponent(unitRecButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1920 .addComponent(showAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1921 .addComponent(sentToQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) 1922 .addComponent(fileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) 1923 .addComponent(addFspChpButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))) 1808 1924 .addGap(5, 5, 5) 1809 1925 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 1810 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1811 .addComponent(lawLabel)1812 .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))1813 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)1814 .addComponent(fireLabel)1815 .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)1816 .addComponent(emsLabel)1817 .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))1926 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1927 .addComponent(lawLabel) 1928 .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 1929 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 1930 .addComponent(fireLabel) 1931 .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 1932 .addComponent(emsLabel) 1933 .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 1818 1934 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 1819 1935 .addComponent(bottomTabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 330, Short.MAX_VALUE) 1820 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 1821 ); 1936 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); 1822 1937 1823 1938 pack(); 1824 }// </editor-fold> 1825 1826 public JButton makeButton(ImageIcon image, ActionListener listener){ 1939 }// </editor-fold> 1940 1941 public JButton makeButton(ImageIcon image, ActionListener listener) 1942 { 1827 1943 JButton button = new JButton(image); 1828 1944 Dimension size = new Dimension(image.getImage().getWidth(null), image.getImage().getHeight(null)); … … 1834 1950 return button; 1835 1951 } 1836 1952 1837 1953 /* 1838 1954 * Updates the data stored in the incidents class upon exit. 1839 1955 */ 1840 public void saveInformation(int incidentId) { 1841 try { 1956 public void saveInformation() 1957 { 1958 try 1959 { 1842 1960 ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.ADDRESS, 1843 1961 incidentId, addressField.getText()); … … 1881 1999 ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.BEAT, 1882 2000 incidentId, (String) beatComboBox.getSelectedItem()); 1883 } catch (RemoteException e) { 2001 } catch (RemoteException e) 2002 { 1884 2003 e.printStackTrace(); 1885 2004 } … … 1888 2007 /* 1889 2008 * Updates all the strings. 1890 * 2009 * 1891 2010 * @see tmcsimulator.cadclient.data.cadData.vectorForIncidentViewer(String 1892 2011 * incidentId) for matching up strings. 1893 2012 */ 1894 public void refreshInformation(int incidentId) { 1895 this.incidentId = incidentId; 1896 try { 2013 public void refreshInformation() 2014 { 2015 try 2016 { 1897 2017 addressField.setText(ScreenManager.theCoordinator.getCadDataIncLoc( 1898 2018 INC_LOC.ADDRESS, incidentId)); … … 1919 2039 addInfoIncidentNumField 1920 2040 .setText((String) ScreenManager.theCoordinator 1921 .getCadDataIncVal(INC_VAL.MASTER_INC, incidentId));2041 .getCadDataIncVal(INC_VAL.MASTER_INC, incidentId)); 1922 2042 addInfoIncidentTypeField.setText(ScreenManager.theCoordinator 1923 2043 .getCadDataIncAddInfo(INC_ADD_INFO.TYPE, incidentId)); … … 1928 2048 addInfoCallTakerPhoneExtField.setText(ScreenManager.theCoordinator 1929 2049 .getCadDataIncAddInfo(INC_ADD_INFO.CALL_TAKER_EXT, 1930 incidentId));2050 incidentId)); 1931 2051 addInfoCallStatusField 1932 2052 .setText(ScreenManager.theCoordinator.getCadDataIncAddInfo( 1933 INC_ADD_INFO.CALL_STATUS, incidentId));2053 INC_ADD_INFO.CALL_STATUS, incidentId)); 1934 2054 addInfoAlarmLevelField 1935 2055 .setText(ScreenManager.theCoordinator.getCadDataIncAddInfo( 1936 INC_ADD_INFO.ALARM_LEVEL, incidentId));2056 INC_ADD_INFO.ALARM_LEVEL, incidentId)); 1937 2057 addInfoRotationProviderAreaField 1938 2058 .setText(ScreenManager.theCoordinator.getCadDataIncAddInfo( 1939 INC_ADD_INFO.ROTATION_PROVIDER_AREA, incidentId));2059 INC_ADD_INFO.ROTATION_PROVIDER_AREA, incidentId)); 1940 2060 addInfoCommentsField.setText(ScreenManager.theCoordinator 1941 2061 .getCadDataIncAddInfo(INC_ADD_INFO.COMMENT, incidentId)); … … 1965 2085 rpTypeComboBox 1966 2086 .setSelectedItem((String) ScreenManager.theCoordinator 1967 .getCadDataIncVal(INC_VAL.RP_TYPE, incidentId));2087 .getCadDataIncVal(INC_VAL.RP_TYPE, incidentId)); 1968 2088 sectorComboBox.setSelectedItem(ScreenManager.theCoordinator 1969 2089 .getCadDataIncLoc(INC_LOC.SECTOR, incidentId)); … … 1972 2092 1973 2093 // callBackCommentTable.setModel(cadData.getIncident(incidentId).getCallBackCommentTable()); 1974 } catch (RemoteException e) { 2094 } catch (RemoteException e) 2095 { 1975 2096 e.printStackTrace(); 1976 2097 } … … 1982 2103 * Displays the information of the latest incident clicked. 1983 2104 */ 1984 public void open(int incidentId) { 1985 try { 2105 public void open() 2106 { 2107 try 2108 { 1986 2109 if (!ScreenManager.theCoordinator 1987 .checkForValidIncidentID(incidentId)) { 2110 .checkForValidIncidentID(incidentId)) 2111 { 1988 2112 return; 1989 2113 } 1990 2114 1991 stack.push(incidentId);1992 refreshInformation( incidentId);2115 // stack.push(incidentId); JD removed stack, it was broken 2116 refreshInformation(); 1993 2117 setTitle("Incident Viewer- Incident ID [" 1994 2118 + ScreenManager.theCoordinator.getCadDataIncVal( 1995 INC_VAL.LOG_NUM, incidentId)2119 INC_VAL.LOG_NUM, incidentId) 1996 2120 + "] Master Incident ID[" 1997 2121 + ScreenManager.theCoordinator.getCadDataIncVal( 1998 INC_VAL.MASTER_INC, incidentId) + "]");2122 INC_VAL.MASTER_INC, incidentId) + "]"); 1999 2123 setVisible(true); 2000 2124 bottomTabbedPane.setSelectedIndex(4); 2001 2125 commentsNotesTable.setModel(ScreenManager.theCoordinator 2002 2126 .getCadDataIncidentTable(INC_TABLE.COMMENTS_NOTES, 2003 incidentId));2127 incidentId)); 2004 2128 commentsNotesTable.getColumnModel().getColumn(0).setPreferredWidth(50); 2005 2129 commentsNotesTable.getColumnModel().getColumn(1).setPreferredWidth(50); … … 2007 2131 commentsNotesTable.getColumnModel().getColumn(3).setPreferredWidth(15); 2008 2132 commentsNotesTable.getColumnModel().getColumn(4).setPreferredWidth(400); 2133 commentsNotesTable.getColumnModel().getColumn(4).setCellRenderer(new LogEntryCellRenderer()); 2134 2009 2135 commentsNotesField.setText(""); 2010 2136 commentsNotesField.setEditable(false); 2137 commentsNotesField.setBackground(java.awt.Color.LIGHT_GRAY); // JD 2011 2138 commentsNotesAddButton.setEnabled(true); 2012 2139 commentsNotesCancelButton.setEnabled(false); 2013 2140 commentsNotesSaveButton.setEnabled(false); 2014 } catch (RemoteException e) { 2141 2142 } catch (RemoteException e) 2143 { 2015 2144 e.printStackTrace(); 2016 2145 } 2017 2146 } 2018 2147 2148 // JD Invoked by timer every 5 seconds. 2149 public void refreshCommentsNotesTable() 2150 { 2151 try 2152 { 2153 commentsNotesTable.setModel(ScreenManager.theCoordinator 2154 .getCadDataIncidentTable(INC_TABLE.COMMENTS_NOTES, 2155 incidentId)); 2156 //Set up tool tips for the comments column 2157 commentsNotesTable.getColumnModel().getColumn(4).setCellRenderer(new LogEntryCellRenderer()); 2158 2159 // resets the column widths to preferred width 2160 // this will essentially mean any user changes are reset 2161 commentsNotesTable.getColumnModel().getColumn(0).setPreferredWidth(50); 2162 commentsNotesTable.getColumnModel().getColumn(1).setPreferredWidth(50); 2163 commentsNotesTable.getColumnModel().getColumn(2).setPreferredWidth(15); 2164 commentsNotesTable.getColumnModel().getColumn(3).setPreferredWidth(15); 2165 commentsNotesTable.getColumnModel().getColumn(4).setPreferredWidth(400); 2166 } catch (RemoteException e) 2167 { 2168 e.printStackTrace(); 2169 } 2170 } 2019 2171 /* 2020 2172 * Closes the information of the latest incident clicked. Closes screen if 2021 2173 * there were no previous incidents in the stack. 2022 2174 */ 2023 public void close() { 2024 saveInformation(stack.peek()); 2025 stack.pop(); 2026 if (stack.empty()) { 2027 setVisible(false); 2028 } else { 2029 refreshInformation(stack.peek()); 2030 try { 2031 setTitle("Incident Viewer- Incident ID [" 2032 + ScreenManager.theCoordinator.getCadDataIncVal( 2033 INC_VAL.LOG_NUM, incidentId) 2034 + "] Master Incident ID[" 2035 + ScreenManager.theCoordinator.getCadDataIncVal( 2036 INC_VAL.MASTER_INC, incidentId) + "]"); 2037 } catch (RemoteException e) { 2038 e.printStackTrace(); 2039 } 2040 } 2175 2176 public void close() 2177 { // JD got rid of the stack, since it was broken anyway. 2178 saveInformation(); 2179 setVisible(false); 2180 2181 /* saveInformation(stack.peek()); 2182 stack.pop(); 2183 setVisible(false); 2184 refreshInformation(stack.peek()); 2185 // Is there a defect that this line wasn't coded? Because when the 2186 // incident is closed, all info is refreshed EXCEPT the comments table 2187 // commentsNotesTable.setModel(ScreenManager.theCoordinator 2188 // .getCadDataIncidentTable(INC_TABLE.COMMENTS_NOTES, 2189 // incidentId)); 2190 try 2191 { 2192 setTitle("Incident Viewer- Incident ID [" 2193 + ScreenManager.theCoordinator.getCadDataIncVal( 2194 INC_VAL.LOG_NUM, incidentId) 2195 + "] Master Incident ID[" 2196 + ScreenManager.theCoordinator.getCadDataIncVal( 2197 INC_VAL.MASTER_INC, incidentId) + "]"); 2198 } catch (RemoteException e) 2199 { 2200 e.printStackTrace(); 2201 } 2202 */ 2203 2041 2204 ScreenManager.refreshScreens(); 2042 2205 ScreenManager.refreshIncidentEditor(); 2043 2206 } 2044 2045 2207 // Variables declaration - do not modify//GEN-BEGIN:variables 2046 2208 private javax.swing.JPanel activitiesPane; … … 2104 2266 private javax.swing.JButton commentsNotesCancelButton; 2105 2267 private javax.swing.JCheckBox commentsNotesConfidentialCommentCheckBox; 2106 private javax.swing.JText Field commentsNotesField;2268 private javax.swing.JTextArea commentsNotesField; // JD 2107 2269 private javax.swing.JButton commentsNotesNotifyButton; 2108 2270 private javax.swing.JPanel commentsNotesPane; -
trunk/src/tmcsim/client/cadclientgui/screens/Login.java
r3 r59 2 2 3 3 import java.awt.Color; 4 import static java.awt.Component.LEFT_ALIGNMENT; 4 5 import java.awt.Dimension; 5 6 import java.awt.Font; 6 7 import java.awt.event.ActionEvent; 7 8 import java.awt.event.ActionListener; 8 9 9 import javax.swing.Box; 10 10 import javax.swing.BoxLayout; … … 16 16 import javax.swing.SwingConstants; 17 17 18 19 18 /** 20 * This class contains the view and controller for the Login screen. The view was not built using a GUI builder plug-in 21 * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 22 * 19 * This class contains the view and controller for the Login screen. The view 20 * was not built using a GUI builder plug-in (but may want to consider doing so 21 * in the future), and the controller uses listeners to control how the view and 22 * data act. 23 * 23 24 * @author Vincent 24 25 */ 25 26 public class Login extends JFrame { 27 26 public class Login extends JFrame 27 { 28 28 private Box login; 29 29 private JTextField userNameField; 30 30 private JTextField passwordField; 31 32 public Login() { 31 public static String kNamePrompt = "Enter your name"; 32 33 public Login() 34 { 33 35 initView(); 34 36 } 35 36 private ActionListener newEnterActionListener(){ 37 return new ActionListener() { 38 public void actionPerformed(ActionEvent e) { 37 38 private ActionListener newEnterActionListener() 39 { 40 return new ActionListener() 41 { 42 public void actionPerformed(ActionEvent e) 43 { 39 44 setVisible(false); 40 ScreenManager.setUserName(userNameField.getText()); 45 // Check if user provided a username JD 46 String userEntry = userNameField.getText(); 47 if (userEntry.equals(kNamePrompt)) 48 { 49 ScreenManager.setUserName("Anonymous Trainee"); 50 } 51 else 52 { 53 ScreenManager.setUserName(userEntry); 54 } 41 55 ScreenManager.openCADMenu(); 42 56 ScreenManager.openAssignedIncidents(); … … 44 58 ScreenManager.openPendingIncidents(); 45 59 ScreenManager.openPowerlineUI(); 46 if (!passwordField.getText().equals("Dispatcher")) { 60 if (!passwordField.getText().equals("Dispatcher")) 61 { 47 62 ScreenManager.setDispatcherAuthority(false); 48 63 } … … 50 65 }; 51 66 } 52 53 private ActionListener newExitActionListener(){ 54 return new ActionListener() { 55 public void actionPerformed(ActionEvent e) { 67 68 private ActionListener newExitActionListener() 69 { 70 return new ActionListener() 71 { 72 public void actionPerformed(ActionEvent e) 73 { 56 74 System.exit(0); 57 75 } 58 76 }; 59 77 } 60 61 private void initView(){ 78 79 private void initView() 80 { 62 81 login = new Box(BoxLayout.Y_AXIS); 63 82 login.setAlignmentX(LEFT_ALIGNMENT); … … 78 97 79 98 JLabel title = new JLabel(); 80 title.setText("Inform CAD 5.3 Patch 5"); 99 // Check if we are running from a jar to put message from manifest into title 100 Package clientpkg = Login.class.getPackage(); 101 String builddate = clientpkg.getImplementationVersion(); 102 String version = ""; 103 if (builddate != null) 104 { 105 version = " (build " + builddate + ")"; 106 } 107 else // We're running from a dev environment 108 { 109 version = " 00-00-00 00:00"; 110 } 111 112 title.setText("Inform CAD 5.3 Patch 5 "); 81 113 title.setHorizontalAlignment(SwingConstants.CENTER); 82 114 title.setFont(new Font("Arial", Font.PLAIN, 22)); … … 87 119 blueBackground.add(title); 88 120 121 JLabel builddateLabel = new JLabel(version); 122 builddateLabel.setForeground(Color.WHITE); 123 builddateLabel.setHorizontalAlignment(SwingConstants.CENTER); 124 blueBackground.add(builddateLabel); 125 89 126 Box leftBox = new Box(BoxLayout.Y_AXIS); 90 127 leftBox.setMaximumSize(new Dimension(350, 50)); … … 95 132 JLabel userNameLabel = new JLabel("User name "); 96 133 userNameLabel.setForeground(Color.WHITE); 97 userNameField = new JTextField( "Enter your name");134 userNameField = new JTextField(kNamePrompt); 98 135 Box userNameBox = new Box(BoxLayout.X_AXIS); 99 136 userNameBox.setAlignmentX(LEFT_ALIGNMENT); … … 105 142 JLabel passwordLabel = new JLabel("Password "); 106 143 passwordLabel.setForeground(Color.WHITE); 107 passwordField = new JTextField(" Does not matter");144 passwordField = new JTextField("Not required"); 108 145 Box passwordBox = new Box(BoxLayout.X_AXIS); 109 146 passwordBox.setAlignmentX(LEFT_ALIGNMENT); -
trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java
r3 r59 4 4 import java.awt.Component; 5 5 import java.awt.Dimension; 6 import java.awt.Point; 6 7 import java.awt.Toolkit; 7 8 import java.awt.datatransfer.DataFlavor; … … 14 15 import java.rmi.RemoteException; 15 16 import java.util.List; 16 17 17 import javax.swing.Box; 18 18 import javax.swing.BoxLayout; … … 23 23 import javax.swing.JTable; 24 24 import javax.swing.ListSelectionModel; 25 import javax.swing.RowSorter.SortKey; 25 26 import javax.swing.SwingUtilities; 26 27 import javax.swing.TransferHandler; 27 import javax.swing.RowSorter.SortKey;28 28 import javax.swing.table.DefaultTableModel; 29 29 import javax.swing.table.TableCellRenderer; 30 31 30 import tmcsim.client.cadclientgui.enums.CADDataEnums; 31 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_VAL; 32 import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS; 32 33 import tmcsim.client.cadclientgui.enums.IncidentEnums; 33 34 import tmcsim.client.cadclientgui.enums.TableHeaders; 34 35 import tmcsim.client.cadclientgui.enums.UnitStatusEnums; 35 import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_VAL;36 import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS;37 36 38 37 /** 39 * This class contains the view and controller for the PendingIncidents screen. The view was not built using a GUI builder plug-in 40 * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 41 * 38 * This class contains the view and controller for the PendingIncidents screen. 39 * The view was not built using a GUI builder plug-in (but may want to consider 40 * doing so in the future), and the controller uses listeners to control how the 41 * view and data act. 42 * 42 43 * @author Vincent 43 44 */ 44 45 public class PendingIncidents extends JFrame { 46 45 public class PendingIncidents extends JFrame 46 { 47 47 private final String SCREEN_TITLE = "(Shift + F2) Pending Incidents"; 48 49 private final Dimension SCREEN_DIMENSIONS = new Dimension(1400,250); 50 51 private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension(170,20); 52 53 private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170,180); 54 48 private final Dimension SCREEN_DIMENSIONS = new Dimension(1400, 250); 49 private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension(170, 20); 50 private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170, 180); 55 51 private final int COLUMN_WIDTH = 120; 56 57 private final String[] LABELS = {"Recommend...", "Add Resources...", "Open", "Recall Incident", 58 "Cancel", "Link/Append", "Map", "Recall Linked Incidents", "Read Notes", "Mail...", "Fax..."}; 59 52 private final String[] LABELS = 53 { 54 "Recommend...", "Add Resources...", "Open", "Recall Incident", 55 "Cancel", "Link/Append", "Map", "Recall Linked Incidents", "Read Notes", "Mail...", "Fax..." 56 }; 60 57 private final String LABEL_SPACING = " "; 61 62 58 private JTable pendingIncidentsTable; 63 59 private JFrame pendingIncidentsMenu; 64 65 60 //labels for the drop down menu 66 61 private JLabel[] dropDownLabels = new JLabel[LABELS.length]; 67 68 62 private long lastLeftClick;//used for double clicking feature 69 70 public PendingIncidents(){ 63 64 public PendingIncidents() 65 { 71 66 initComponents(); 72 67 } 73 74 private void initComponents() { 68 69 private void initComponents() 70 { 75 71 initializeTable(); 76 72 initControllers(); 77 73 initializeDropDownMenu(); 78 79 JScrollPane scrollpane = new JScrollPane(pendingIncidentsTable );74 75 JScrollPane scrollpane = new JScrollPane(pendingIncidentsTable); 80 76 scrollpane.getViewport().setBackground(Color.WHITE); 81 77 82 78 setTitle(SCREEN_TITLE); 83 79 setPreferredSize(SCREEN_DIMENSIONS); … … 86 82 pack(); 87 83 Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); 88 setLocation(0, (int) (dim.getHeight() *3/4));84 setLocation(0, (int) (dim.getHeight() * 3 / 4)); 89 85 setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); 90 setVisible(false); 91 } 92 86 setVisible(false); 87 } 88 93 89 /* 94 90 * Initializes the table and prepares the cell renderer for color management. It initializes the default settings 95 91 * and handles the drag and drop feature. 96 92 */ 97 private void initializeTable(){ 98 pendingIncidentsTable = new JTable(){ 93 private void initializeTable() 94 { 95 pendingIncidentsTable = new JTable() 96 { 99 97 /* 100 98 * Custom renderer to set different background/foreground colors 101 99 * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, int, int) 102 100 */ 103 public Component prepareRenderer(TableCellRenderer renderer, int row, int column){ 101 public Component prepareRenderer(TableCellRenderer renderer, int row, int column) 102 { 104 103 Component comp = super.prepareRenderer(renderer, row, column); 105 104 106 105 comp.setForeground(Color.BLACK); 107 106 comp.setBackground(Color.CYAN); 108 109 if (getSelectedRow() == row){ 107 108 if (getSelectedRow() == row) 109 { 110 110 comp.setForeground(Color.WHITE); 111 111 comp.setBackground(Color.BLUE); 112 112 } 113 113 114 114 return comp; 115 115 } 116 117 public Class getColumnClass(int c) { 116 117 public Class getColumnClass(int c) 118 { 118 119 return getValueAt(0, c).getClass(); 119 120 } 120 121 }; 121 122 122 123 pendingIncidentsTable.setOpaque(true); 123 124 pendingIncidentsTable.setIntercellSpacing(new Dimension(1, 0)); … … 127 128 pendingIncidentsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 128 129 pendingIncidentsTable.setAutoCreateRowSorter(true); 129 130 130 131 pendingIncidentsTable.setModel(new DefaultTableModel()); 131 132 ((DefaultTableModel) pendingIncidentsTable.getModel()).setColumnIdentifiers(TableHeaders.PENDING_INCIDENTS_HEADERS); 132 133 pendingIncidentsTable.setTransferHandler(new TransferHandler(){ 134 135 public boolean canImport(TransferHandler.TransferSupport info) { 133 134 pendingIncidentsTable.setTransferHandler(new TransferHandler() 135 { 136 public boolean canImport(TransferHandler.TransferSupport info) 137 { 136 138 // Check for String flavor 137 if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) { 139 if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) 140 { 138 141 return false; 139 142 } 140 143 return true; 141 } 142 143 public boolean importData(TransferHandler.TransferSupport info) { 144 if (!info.isDrop()) { 144 } 145 146 public boolean importData(TransferHandler.TransferSupport info) 147 { 148 if (!info.isDrop()) 149 { 145 150 return false; 146 151 } 147 148 DefaultTableModel tableModel = (DefaultTableModel) pendingIncidentsTable.getModel();149 JTable.DropLocation dl = (JTable.DropLocation) info.getDropLocation();152 153 DefaultTableModel tableModel = (DefaultTableModel) pendingIncidentsTable.getModel(); 154 JTable.DropLocation dl = (JTable.DropLocation) info.getDropLocation(); 150 155 int index = dl.getRow(); 151 156 152 157 // Get the string that is being dropped. 153 158 Transferable t = info.getTransferable(); 154 159 String data; 155 try { 156 data = (String)t.getTransferData(DataFlavor.stringFlavor); 157 } 158 catch (Exception e) { return false; } 159 160 try 161 { 162 data = (String) t.getTransferData(DataFlavor.stringFlavor); 163 } catch (Exception e) 164 { 165 return false; 166 } 167 160 168 // Perform the actual import 161 169 // TODO 162 int incidentId = (Integer)pendingIncidentsTable.getValueAt(dl.getRow(), 0); 163 try { 164 String masterInc = (String) ScreenManager.theCoordinator. 165 getCadDataIncVal(INC_VAL.MASTER_INC, incidentId); 166 ScreenManager.theCoordinator.setCadDataUnitValue(data, 167 UNIT_TAGS.MASTER_INC_NUM, masterInc); 168 169 ScreenManager.theCoordinator.setCadDataUnitAssignedId(data, incidentId); 170 ScreenManager.theCoordinator.setCadDataUnitValue(data, 171 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived); 172 ScreenManager.theCoordinator.addCadDataIncidentAssignedUnitNum(incidentId, data); 173 ScreenManager.theCoordinator.setCadDataIncidentStatus(incidentId, IncidentEnums.Assigned); 174 } catch (RemoteException e) { 175 e.printStackTrace(); 176 } 170 int incidentId = (Integer) pendingIncidentsTable.getValueAt(dl.getRow(), 0); 171 try 172 { 173 String masterInc = (String) ScreenManager.theCoordinator. 174 getCadDataIncVal(INC_VAL.MASTER_INC, incidentId); 175 ScreenManager.theCoordinator.setCadDataUnitValue(data, 176 UNIT_TAGS.MASTER_INC_NUM, masterInc); 177 178 ScreenManager.theCoordinator.setCadDataUnitAssignedId(data, incidentId); 179 ScreenManager.theCoordinator.setCadDataUnitValue(data, 180 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived); 181 ScreenManager.theCoordinator.addCadDataIncidentAssignedUnitNum(incidentId, data); 182 ScreenManager.theCoordinator.setCadDataIncidentStatus(incidentId, IncidentEnums.Assigned); 183 } catch (RemoteException e) 184 { 185 e.printStackTrace(); 186 } 177 187 return true; 178 188 } 179 189 }); 180 for(int i = 0; i < pendingIncidentsTable.getColumnCount(); i++){ 190 for (int i = 0; i < pendingIncidentsTable.getColumnCount(); i++) 191 { 181 192 pendingIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(120); 182 193 } 183 194 } 184 185 /* 195 196 /* 186 197 * Adds the key and mouse listeners for the table and component listener for screen. 187 198 */ 188 private void initControllers(){ 189 pendingIncidentsTable.addMouseListener(new MouseListener(){ 190 public void mouseClicked(MouseEvent e) { 191 if(SwingUtilities.isLeftMouseButton(e)){ 192 if(System.currentTimeMillis() - lastLeftClick < 1000){ 199 private void initControllers() 200 { 201 pendingIncidentsTable.addMouseListener(new MouseListener() 202 { 203 public void mouseClicked(MouseEvent e) 204 { 205 if (SwingUtilities.isLeftMouseButton(e)) 206 { 207 if (System.currentTimeMillis() - lastLeftClick < 1000) 208 { 193 209 int idColumn = 0; 194 ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt(pendingIncidentsTable.getSelectedRow(),idColumn)); 195 }else{ 210 ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt(pendingIncidentsTable.getSelectedRow(), idColumn)); 211 } 212 else 213 { 196 214 lastLeftClick = System.currentTimeMillis(); 197 215 } 198 216 } 199 if(SwingUtilities.isRightMouseButton(e)){ 217 if (SwingUtilities.isRightMouseButton(e)) 218 { 219 // Fixed to force right click to cause the row to be selected. JD 220 // get the coordinates of the mouse click 221 Point p = e.getPoint(); 222 // get the row index that contains that coordinate 223 int rowNumber = pendingIncidentsTable.rowAtPoint(p); 224 // Get the ListSelectionModel of the JTable 225 ListSelectionModel model = pendingIncidentsTable.getSelectionModel(); 226 // set the selected interval of rows. Using the "rowNumber" 227 // variable for the beginning and end selects only that one row. 228 model.setSelectionInterval(rowNumber, rowNumber); 229 // go open the drop down menu 200 230 openDropDownMenu(e); 201 }else{ 231 } 232 else 233 { 202 234 closeDropDownMenu(); 203 235 } 204 236 } 205 public void mouseEntered(MouseEvent e) {} 206 public void mouseExited(MouseEvent e) {} 207 public void mousePressed(MouseEvent e) {} 208 public void mouseReleased(MouseEvent e) {} 237 238 public void mouseEntered(MouseEvent e) 239 { 240 } 241 242 public void mouseExited(MouseEvent e) 243 { 244 } 245 246 public void mousePressed(MouseEvent e) 247 { 248 } 249 250 public void mouseReleased(MouseEvent e) 251 { 252 } 209 253 }); 210 211 addComponentListener( new ComponentListener(){ 212 public void componentHidden(ComponentEvent e) {} 213 public void componentMoved(ComponentEvent e) { 254 255 addComponentListener(new ComponentListener() 256 { 257 public void componentHidden(ComponentEvent e) 258 { 259 } 260 261 public void componentMoved(ComponentEvent e) 262 { 214 263 closeDropDownMenu(); 215 264 } 216 public void componentResized(ComponentEvent e) {} 217 public void componentShown(ComponentEvent e) {} 265 266 public void componentResized(ComponentEvent e) 267 { 268 } 269 270 public void componentShown(ComponentEvent e) 271 { 272 } 218 273 }); 219 274 } 220 275 221 276 /* 222 277 * Creates the drop down menu that appears when a right click is performed on the table. 223 278 */ 224 private void initializeDropDownMenu(){ 279 private void initializeDropDownMenu() 280 { 225 281 Box menu = new Box(BoxLayout.Y_AXIS); 226 282 initializeDropDownLabels(); 227 283 addLabelsToBox(menu); 228 284 229 285 //Sets the highlighted background color, note that it does not become "Highlighted" until opaque(true) is called 230 286 setMenuHighlightedBackground(Color.BLUE); 231 287 232 288 pendingIncidentsMenu = new JFrame(); 233 289 pendingIncidentsMenu.getContentPane().add(menu); … … 237 293 pendingIncidentsMenu.setVisible(false); 238 294 } 239 295 240 296 /* 241 297 * Sets the text and size and adds a listener to each label. 242 298 */ 243 private void initializeDropDownLabels(){ 244 for(int i = 0; i < dropDownLabels.length; i++){ 299 private void initializeDropDownLabels() 300 { 301 for (int i = 0; i < dropDownLabels.length; i++) 302 { 245 303 dropDownLabels[i] = new JLabel(LABEL_SPACING + LABELS[i]); 246 304 dropDownLabels[i].setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS); … … 252 310 addMouseListenersToLabel(dropDownLabels[8]); 253 311 } 254 255 /* 256 * Add the labels to the box in order with separators and spacings in between. 257 */ 258 private void addLabelsToBox(Box menu){ 312 313 /* 314 * Add the labels to the box in order with separators and spacings in between. 315 */ 316 private void addLabelsToBox(Box menu) 317 { 259 318 menu.add(dropDownLabels[0]); 260 319 menu.add(dropDownLabels[1]); 261 320 262 321 menu.add(Box.createVerticalStrut(5)); 263 322 menu.add(new JSeparator()); 264 323 menu.add(Box.createVerticalStrut(5)); 265 324 266 325 menu.add(dropDownLabels[2]); 267 326 menu.add(dropDownLabels[3]); 268 327 menu.add(dropDownLabels[4]); 269 328 menu.add(dropDownLabels[5]); 270 329 271 330 menu.add(Box.createVerticalStrut(5)); 272 331 menu.add(new JSeparator()); 273 332 menu.add(Box.createVerticalStrut(5)); 274 333 275 334 menu.add(dropDownLabels[6]); 276 335 menu.add(dropDownLabels[7]); 277 336 menu.add(dropDownLabels[8]); 278 337 279 338 menu.add(Box.createVerticalStrut(5)); 280 339 menu.add(new JSeparator()); 281 340 menu.add(Box.createVerticalStrut(5)); 282 341 283 342 menu.add(dropDownLabels[9]); 284 343 menu.add(dropDownLabels[10]); 285 286 menu.add(Box.createVerticalStrut(5)); 287 } 288 344 345 menu.add(Box.createVerticalStrut(5)); 346 } 347 289 348 /* 290 349 * Sets the highlighted color(when the mouse is over it) of the JLabels. … … 292 351 * @param color the highlighted color 293 352 */ 294 public void setMenuHighlightedBackground(Color color){ 295 for(int i = 0; i < dropDownLabels.length; i++){ 353 public void setMenuHighlightedBackground(Color color) 354 { 355 for (int i = 0; i < dropDownLabels.length; i++) 356 { 296 357 dropDownLabels[i].setBackground(color); 297 358 } 298 359 } 299 360 300 361 /* 301 362 * Sets all JLabels to not display a highlighted background 302 363 */ 303 public void unSelectAllLabels(){ 304 for(int i = 0; i < dropDownLabels.length; i++){ 364 public void unSelectAllLabels() 365 { 366 for (int i = 0; i < dropDownLabels.length; i++) 367 { 305 368 dropDownLabels[i].setOpaque(false); 306 369 } … … 311 374 * @param label the label that is selected/highlighted 312 375 */ 313 public void selectLabel(Object label){ 314 ((JLabel)label).setOpaque(true); 315 } 316 376 public void selectLabel(Object label) 377 { 378 ((JLabel) label).setOpaque(true); 379 } 380 317 381 /* 318 382 * Performs the label action depending on which label was clicked. 319 383 */ 320 public void performLabelAction(Object label){ 321 if(label.equals(dropDownLabels[0])){//Recommend 322 323 }else if(label.equals(dropDownLabels[1])){//Add Resources 324 325 }else if(label.equals(dropDownLabels[2])){//Open 326 int idColumn = 0; 384 public void performLabelAction(Object label) 385 { 386 if (label.equals(dropDownLabels[0])) 387 {//Recommend 388 } 389 else if (label.equals(dropDownLabels[1])) 390 {//Add Resources 391 } 392 else if (label.equals(dropDownLabels[2])) 393 {//Open 394 int idColumn = 0; 327 395 ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt( 328 pendingIncidentsTable.getSelectedRow(),idColumn)); 329 }else if(label.equals(dropDownLabels[3])){//Recall Incident 330 331 }else if(label.equals(dropDownLabels[4])){//Cancel 332 }else if(label.equals(dropDownLabels[5])){//Link Append 333 334 }else if(label.equals(dropDownLabels[6])){//Map 335 336 }else if(label.equals(dropDownLabels[7])){//Recall Linked Incidents 337 338 }else if(label.equals(dropDownLabels[8])){//Read Notes 339 int idColumn = 0; 396 pendingIncidentsTable.getSelectedRow(), idColumn)); 397 } 398 else if (label.equals(dropDownLabels[3])) 399 {//Recall Incident 400 } 401 else if (label.equals(dropDownLabels[4])) 402 {//Cancel 403 } 404 else if (label.equals(dropDownLabels[5])) 405 {//Link Append 406 } 407 else if (label.equals(dropDownLabels[6])) 408 {//Map 409 } 410 else if (label.equals(dropDownLabels[7])) 411 {//Recall Linked Incidents 412 } 413 else if (label.equals(dropDownLabels[8])) 414 {//Read Notes 415 int idColumn = 0; 340 416 ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt( 341 pendingIncidentsTable.getSelectedRow(),idColumn)); 342 }else if(label.equals(dropDownLabels[9])){//Mail 343 344 }else if(label.equals(dropDownLabels[10])){//Fax 345 346 } 347 } 348 349 /* 350 * Factory method. Adds a mouse listeners to the label. The MouseMotionListener detects 417 pendingIncidentsTable.getSelectedRow(), idColumn)); 418 } 419 else if (label.equals(dropDownLabels[9])) 420 {//Mail 421 } 422 else if (label.equals(dropDownLabels[10])) 423 {//Fax 424 } 425 } 426 427 /* 428 * Factory method. Adds a mouse listeners to the label. The MouseMotionListener detects 351 429 * the mouse's location to highlight the label. The MouseListener detects 352 430 * for clicks and performs the action of the label designates. 353 431 */ 354 public void addMouseListenersToLabel(JLabel label){ 355 label.addMouseMotionListener(new MouseMotionListener(){ 356 public void mouseDragged(MouseEvent e) {} 357 public void mouseMoved(MouseEvent e) { 432 public void addMouseListenersToLabel(JLabel label) 433 { 434 label.addMouseMotionListener(new MouseMotionListener() 435 { 436 public void mouseDragged(MouseEvent e) 437 { 438 } 439 440 public void mouseMoved(MouseEvent e) 441 { 358 442 unSelectAllLabels(); 359 443 selectLabel(e.getSource()); … … 362 446 } 363 447 }); 364 label.addMouseListener(new MouseListener() { 365 public void mouseClicked(MouseEvent e) { 448 label.addMouseListener(new MouseListener() 449 { 450 public void mouseClicked(MouseEvent e) 451 { 366 452 performLabelAction(e.getSource()); 367 453 unSelectAllLabels(); … … 370 456 pendingIncidentsMenu.setVisible(false); 371 457 } 372 public void mouseEntered(MouseEvent e) {} 373 public void mouseExited(MouseEvent e) {} 374 public void mousePressed(MouseEvent e) {} 375 public void mouseReleased(MouseEvent e) {} 458 459 public void mouseEntered(MouseEvent e) 460 { 461 } 462 463 public void mouseExited(MouseEvent e) 464 { 465 } 466 467 public void mousePressed(MouseEvent e) 468 { 469 } 470 471 public void mouseReleased(MouseEvent e) 472 { 473 } 376 474 }); 377 475 } 378 476 379 477 /* 380 478 * Displays the menu where the right click occurred. 381 479 */ 382 public void openDropDownMenu(MouseEvent e){ 480 public void openDropDownMenu(MouseEvent e) 481 { 383 482 pendingIncidentsMenu.setLocation(e.getX() + this.getX(), e.getY() + this.getY()); 384 483 pendingIncidentsMenu.setVisible(true); 385 484 } 386 485 387 486 /* 388 487 * Hides the menu. 389 488 */ 390 public void closeDropDownMenu(){ 489 public void closeDropDownMenu() 490 { 391 491 unSelectAllLabels(); 392 492 pendingIncidentsMenu.revalidate(); … … 394 494 pendingIncidentsMenu.setVisible(false); 395 495 } 396 496 397 497 /* 398 498 * Refreshes the data in the table by updating all data and repainting the 399 * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 499 * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 400 500 * and applies them to the updated model it receives from the server. 401 501 */ 402 public void refreshTable(){ 403 404 if(pendingIncidentsTable.getTableHeader().getResizingColumn() == null){//only update info if resize not in progress 405 try { 406 int index = pendingIncidentsTable.getSelectedRow(); 407 int[] columnWidths = new int[20]; 408 List<? extends SortKey> keys = pendingIncidentsTable.getRowSorter().getSortKeys(); 409 for(int i = 0; i < pendingIncidentsTable.getColumnCount(); i++){ 410 columnWidths[i] = pendingIncidentsTable.getColumnModel().getColumn(i).getWidth(); 411 } 412 413 pendingIncidentsTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.PENDING_INCIDENTS)); 414 415 for(int i = 0; i < pendingIncidentsTable.getColumnCount(); i++){ 416 pendingIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]); 417 } 418 pendingIncidentsTable.getRowSorter().setSortKeys(keys); 419 pendingIncidentsTable.getSelectionModel().setSelectionInterval(index, index); 420 } catch (RemoteException e) { 502 public void refreshTable() 503 { 504 505 if (pendingIncidentsTable.getTableHeader().getResizingColumn() == null) 506 {//only update info if resize not in progress 507 try 508 { 509 int index = pendingIncidentsTable.getSelectedRow(); 510 int[] columnWidths = new int[20]; 511 List<? extends SortKey> keys = pendingIncidentsTable.getRowSorter().getSortKeys(); 512 for (int i = 0; i < pendingIncidentsTable.getColumnCount(); i++) 513 { 514 columnWidths[i] = pendingIncidentsTable.getColumnModel().getColumn(i).getWidth(); 515 } 516 517 pendingIncidentsTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.PENDING_INCIDENTS)); 518 519 for (int i = 0; i < pendingIncidentsTable.getColumnCount(); i++) 520 { 521 pendingIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]); 522 } 523 pendingIncidentsTable.getRowSorter().setSortKeys(keys); 524 pendingIncidentsTable.getSelectionModel().setSelectionInterval(index, index); 525 } catch (RemoteException e) 526 { 421 527 e.printStackTrace(); 422 528 } 423 529 revalidate(); 424 530 repaint(); 425 }426 } 427 428 /* 531 } 532 } 533 534 /* 429 535 * Makes screen visible. 430 536 */ 431 public void open(){ 537 public void open() 538 { 432 539 setVisible(true); 433 540 } 434 541 435 542 /* 436 543 * Hides screen. 437 544 */ 438 public void close(){ 545 public void close() 546 { 439 547 setVisible(false); 440 548 } 441 442 549 } -
trunk/src/tmcsim/client/cadclientgui/screens/ScreenManager.java
r3 r59 1 1 package tmcsim.client.cadclientgui.screens; 2 3 import javax.swing.InputMap;4 import javax.swing.JComponent;5 import javax.swing.Timer;6 import javax.swing.table.DefaultTableModel;7 8 import tmcsim.cadsimulator.Coordinator;9 import tmcsim.client.cadclientgui.data.CADData;10 import tmcsim.client.cadclientgui.data.Unit;11 import tmcsim.interfaces.CoordinatorInterface;12 2 13 3 import java.awt.KeyEventDispatcher; … … 19 9 import java.awt.event.WindowEvent; 20 10 import java.awt.event.WindowListener; 21 import java.rmi.RemoteException; 22 import java.util.Vector; 11 import java.util.HashMap; 12 import javax.swing.Timer; 13 import tmcsim.interfaces.CoordinatorInterface; 23 14 24 15 /** 25 * This class contains a reference to every single view-able component as well as a reference to the coordinator(which serves as the database). 26 * All commands to access data or manipulate a screen outside of the individual screen should be done through this ScreenManager. 27 * 16 * This class contains a reference to every single view-able component as well 17 * as a reference to the coordinator(which serves as the database). All commands 18 * to access data or manipulate a screen outside of the individual screen should 19 * be done through this ScreenManager. 20 * 28 21 * @author Stuart 29 22 */ 30 31 public class ScreenManager { 32 23 public class ScreenManager 24 { 33 25 private final static int ONE_SECOND = 1000; 34 26 private final static int FIVE_SECONDS = 5000; 35 27 private static ActivityLogViewer activityLogViewer; 36 28 private static AssignedIncidents assignedIncidents; … … 41 33 private static IncidentInfo incidentInfo; 42 34 //private static IncidentSupplementPersonForm incidentSupplementPersonForm; 43 private static IncidentViewer incidentViewer;35 private static HashMap<Integer, IncidentViewer> incidentViewMap = new HashMap<Integer, IncidentViewer>(); //JD 44 36 private static Login login; 45 37 private static PendingIncidents pendingIncidents; … … 54 46 private static UnitStatus unitStatus; 55 47 //private static VehicleInformationEntry vehicleInformationEntry; 56 57 48 //Reference to the Coordinator to use RMI methods 58 49 protected static CoordinatorInterface theCoordinator; 59 60 public ScreenManager(CoordinatorInterface theCoor){ 50 51 private String username; // The login name entered by the trainee 52 53 public ScreenManager(CoordinatorInterface theCoor) 54 { 61 55 theCoordinator = theCoor; 62 56 activityLogViewer = new ActivityLogViewer(); 63 57 64 58 assignedIncidents = new AssignedIncidents(); 65 59 assignedIncidents.addWindowListener(createWindowListener()); … … 67 61 //boloEntry = new BOLOEntry(); 68 62 //boloEntry.addWindowListener(createWindowListener()); 69 63 70 64 cadMenu = new CADMenu(); 71 65 cadMenu.addWindowListener(createWindowListener()); 72 66 73 67 cardfile = new Cardfile(); 74 68 cardfile.addWindowListener(createWindowListener()); 75 69 76 70 incidentEditor = new IncidentEditor(); 77 71 incidentEditor.addWindowListener(createWindowListener()); 78 72 79 73 incidentInfo = new IncidentInfo(); 80 74 incidentInfo.addWindowListener(createWindowListener()); 81 75 82 76 //incidentSupplementPersonForm = new IncidentSupplementPersonForm(); 83 77 //incidentSupplementPersonForm.addWindowListener(createWindowListener()); 84 85 incidentViewer = new IncidentViewer(); 86 incidentViewer.addWindowListener(createWindowListener()); 87 78 79 incidentViewMap = new HashMap<Integer, IncidentViewer>(); //JD 80 88 81 pendingIncidents = new PendingIncidents(); 89 82 pendingIncidents.addWindowListener(createWindowListener()); … … 91 84 powerlineUI1 = new PowerlineUI(false, 1); 92 85 powerlineUI1.addWindowListener(createWindowListener()); 93 86 94 87 powerlineUI2 = new PowerlineUI(false, 2); 95 88 powerlineUI2.addWindowListener(createWindowListener()); 96 89 97 90 powerlineUI3 = new PowerlineUI(false, 3); 98 91 powerlineUI3.addWindowListener(createWindowListener()); 99 92 100 93 powerlineUI4 = new PowerlineUI(false, 4); 101 94 powerlineUI4.addWindowListener(createWindowListener()); 102 95 103 96 powerlineUI5 = new PowerlineUI(false, 5); 104 97 powerlineUI5.addWindowListener(createWindowListener()); 105 98 106 99 //rotationServiceRequest = new RotationServiceRequest(); 107 100 //rotationServiceRequest.addWindowListener(createWindowListener()); 108 101 109 102 search = new Search(); 110 103 search.addWindowListener(createWindowListener()); 111 104 unitStatus = new UnitStatus(); 112 105 unitStatus.addWindowListener(createWindowListener()); 113 106 114 107 //vehicleInformationEntry = new VehicleInformationEntry(); 115 108 //vehicleInformationEntry.addWindowListener(createWindowListener()); 116 109 117 110 KeyboardFocusManager.getCurrentKeyboardFocusManager() 118 .addKeyEventDispatcher(new KeyEventDispatcher(){ 119 public boolean dispatchKeyEvent(KeyEvent e) { 120 if(e.getKeyCode() == KeyEvent.VK_F2 && e.getID() == KeyEvent.KEY_PRESSED 121 && e.getModifiers() == InputEvent.SHIFT_MASK){ 111 .addKeyEventDispatcher(new KeyEventDispatcher() 112 { 113 public boolean dispatchKeyEvent(KeyEvent e) 114 { 115 if (e.getKeyCode() == KeyEvent.VK_F2 && e.getID() == KeyEvent.KEY_PRESSED 116 && e.getModifiers() == InputEvent.SHIFT_MASK) 117 { 122 118 openPendingIncidents(); 123 119 return true; 124 120 } 125 if(e.getKeyCode() == KeyEvent.VK_F3 && e.getID() == KeyEvent.KEY_PRESSED 126 && e.getModifiers() == InputEvent.SHIFT_MASK){ 121 if (e.getKeyCode() == KeyEvent.VK_F3 && e.getID() == KeyEvent.KEY_PRESSED 122 && e.getModifiers() == InputEvent.SHIFT_MASK) 123 { 127 124 openAssignedIncidents(); 128 125 return true; 129 126 } 130 if(e.getKeyCode() == KeyEvent.VK_F4 && e.getID() == KeyEvent.KEY_PRESSED 131 && e.getModifiers() == InputEvent.SHIFT_MASK){ 127 if (e.getKeyCode() == KeyEvent.VK_F4 && e.getID() == KeyEvent.KEY_PRESSED 128 && e.getModifiers() == InputEvent.SHIFT_MASK) 129 { 132 130 openUnitStatus(); 133 131 return true; 134 132 } 135 if(e.getKeyCode() == KeyEvent.VK_F4 && e.getID() == KeyEvent.KEY_PRESSED){ 133 if (e.getKeyCode() == KeyEvent.VK_F4 && e.getID() == KeyEvent.KEY_PRESSED) 134 { 136 135 cyclePowerlineUI(); 137 136 return true; 138 137 } 139 if(e.getKeyCode() == KeyEvent.VK_F5 && e.getID() == KeyEvent.KEY_PRESSED){ 138 if (e.getKeyCode() == KeyEvent.VK_F5 && e.getID() == KeyEvent.KEY_PRESSED) 139 { 140 140 openPowerlineUI(); 141 141 return true; 142 142 } 143 if(e.getKeyCode() == KeyEvent.VK_F9 && e.getID() == KeyEvent.KEY_PRESSED){ 143 if (e.getKeyCode() == KeyEvent.VK_F9 && e.getID() == KeyEvent.KEY_PRESSED) 144 { 144 145 openCardfile(); 145 146 return true; 146 147 } 147 if(e.getKeyCode() == KeyEvent.VK_F10 && e.getID() == KeyEvent.KEY_PRESSED){ 148 if (e.getKeyCode() == KeyEvent.VK_F10 && e.getID() == KeyEvent.KEY_PRESSED) 149 { 148 150 putRCARDinPL(); 149 151 return true; … … 152 154 } 153 155 }); 154 155 handleUpdateTimes(); 156 } 157 158 public WindowListener createWindowListener(){ 159 return new WindowListener(){ 160 public void windowActivated(WindowEvent e) { 156 157 launchUpdateTimers(); 158 } 159 160 public WindowListener createWindowListener() 161 { 162 return new WindowListener() 163 { 164 public void windowActivated(WindowEvent e) 165 { 161 166 closeDropDownMenus(); 162 167 } 163 public void windowClosed(WindowEvent e) { 168 169 public void windowClosed(WindowEvent e) 170 { 164 171 closeDropDownMenus(); 165 172 } 166 public void windowClosing(WindowEvent e) { 173 174 public void windowClosing(WindowEvent e) 175 { 167 176 closeDropDownMenus(); 168 177 } 169 public void windowDeactivated(WindowEvent e) {} 170 public void windowDeiconified(WindowEvent e) {} 171 public void windowIconified(WindowEvent e) { 178 179 public void windowDeactivated(WindowEvent e) 180 { 181 } 182 183 public void windowDeiconified(WindowEvent e) 184 { 185 } 186 187 public void windowIconified(WindowEvent e) 188 { 172 189 closeDropDownMenus(); 173 190 } 174 public void windowOpened(WindowEvent e) {} 191 192 public void windowOpened(WindowEvent e) 193 { 194 } 175 195 }; 176 196 } 177 178 public static void openActivityLogViewer(){ activityLogViewer.open(); } 179 public static void closeActivityLogViewer(){ activityLogViewer.close(); } 180 181 public static void openAssignedIncidents(){ assignedIncidents.open(); } 182 public static void closeAssignedIncidents(){ assignedIncidents.close(); } 183 197 198 public static void openActivityLogViewer() 199 { 200 activityLogViewer.open(); 201 } 202 203 public static void closeActivityLogViewer() 204 { 205 activityLogViewer.close(); 206 } 207 208 public static void openAssignedIncidents() 209 { 210 assignedIncidents.open(); 211 } 212 213 public static void closeAssignedIncidents() 214 { 215 assignedIncidents.close(); 216 } 217 184 218 //public static void openBOLOEntry(){ boloEntry.open(); } 185 219 //public static void closeBOLOEntry(){ boloEntry.close(); } 186 187 public static void openCADMenu(){ cadMenu.open(); } 188 public static void closeCADMenu(){ cadMenu.close(); } 189 190 public static void openCardfile(){ cardfile.open(); } 191 public static void closeCardfile(){ cardfile.close(); } 192 193 public static void openIncidentEditor(){ incidentEditor.open(); } 194 public static void closeIncidentEditor(){ incidentEditor.close(); } 195 public static void refreshIncidentEditor(){ incidentEditor.refreshInformation(); } 196 197 public static void openIncidentInfo(int incidentId){ incidentInfo.open(incidentId); } 198 public static void closeIncidentInfo(){ incidentInfo.close(); } 199 220 public static void openCADMenu() 221 { 222 cadMenu.open(); 223 } 224 225 public static void closeCADMenu() 226 { 227 cadMenu.close(); 228 } 229 230 public static void openCardfile() 231 { 232 cardfile.open(); 233 } 234 235 public static void closeCardfile() 236 { 237 cardfile.close(); 238 } 239 240 public static void openIncidentEditor() 241 { 242 incidentEditor.open(); 243 } 244 245 public static void closeIncidentEditor() 246 { 247 incidentEditor.close(); 248 } 249 250 public static void refreshIncidentEditor() 251 { 252 incidentEditor.refreshInformation(); 253 } 254 255 public static void openIncidentInfo(int incidentId) 256 { 257 incidentInfo.open(incidentId); 258 } 259 260 public static void closeIncidentInfo() 261 { 262 incidentInfo.close(); 263 } 264 200 265 //public static void openIncidentSupplementPersonForm(){ incidentSupplementPersonForm.open(); } 201 266 //public static void closeIncidentSupplementPersonForm(){ incidentSupplementPersonForm.close(); } 202 203 public static void openIncidentViewer(int incidentId){ incidentViewer.open(incidentId); } 204 public static void closeIncidentViewer(){ incidentViewer.close(); } 205 206 public static void openPendingIncidents(){ pendingIncidents.open(); } 207 public static void closePendingIncidents(){ pendingIncidents.close(); } 208 209 public static void openPowerlineUI(){ 210 if(!powerlineUI1.isVisible()){ 267 //JD public static void openIncidentViewer(int incidentId){ incidentViewer.open(incidentId); } 268 public static void openIncidentViewer(int incidentId) 269 { 270 if (incidentViewMap.containsKey(new Integer(incidentId))) 271 { 272 // if incident viewer already open for this incident ... 273 // make it visible 274 incidentViewMap.get(new Integer(incidentId)).setVisible(true); 275 } 276 else // there's no viewer open for this incident, so create it 277 { 278 // Just pass the incident ID to the constructor, not open() 279 IncidentViewer currIV = new IncidentViewer(incidentId); 280 currIV.open(); 281 // Don't put the item in the map until AFTER we've opened it, 282 // to avoid the possibility that the refresh timer happens to fire 283 // before we've opened the viewer. 284 incidentViewMap.put(new Integer(incidentId), currIV); 285 // Doesn't seem necessary, as this viewer has no drop down menus 286 // currIV.addWindowListener(createWindowListener()); 287 } 288 } 289 290 // JD Seems obsolete, never used. 291 // public static void closeIncidentViewer() 292 // { 293 // incidentViewer.close(); 294 // } 295 public static void openPendingIncidents() 296 { 297 pendingIncidents.open(); 298 } 299 300 public static void closePendingIncidents() 301 { 302 pendingIncidents.close(); 303 } 304 305 public static void openPowerlineUI() 306 { 307 if (!powerlineUI1.isVisible()) 308 { 211 309 powerlineUI1.open(); 212 }else if(!powerlineUI2.isVisible()){ 310 } 311 else if (!powerlineUI2.isVisible()) 312 { 213 313 powerlineUI2.open(); 214 }else if(!powerlineUI3.isVisible()){ 314 } 315 else if (!powerlineUI3.isVisible()) 316 { 215 317 powerlineUI3.open(); 216 }else if(!powerlineUI4.isVisible()){ 318 } 319 else if (!powerlineUI4.isVisible()) 320 { 217 321 powerlineUI4.open(); 218 }else if(!powerlineUI5.isVisible()){ 322 } 323 else if (!powerlineUI5.isVisible()) 324 { 219 325 powerlineUI5.open(); 220 } 221 } 222 223 public static void cyclePowerlineUI(){ 224 if(currPowerlineFocus == 1){ 326 } 327 } 328 329 public static void cyclePowerlineUI() 330 { 331 if (currPowerlineFocus == 1) 332 { 225 333 currPowerlineFocus = 2; 226 334 powerlineUI1.setVisible(true); … … 228 336 powerlineUI1.clearText(); 229 337 } 230 else if(currPowerlineFocus == 2){ 338 else if (currPowerlineFocus == 2) 339 { 231 340 currPowerlineFocus = 3; 232 341 powerlineUI2.setVisible(true); … … 234 343 powerlineUI2.clearText(); 235 344 } 236 else if(currPowerlineFocus == 3){ 345 else if (currPowerlineFocus == 3) 346 { 237 347 currPowerlineFocus = 4; 238 348 powerlineUI3.setVisible(true); … … 240 350 powerlineUI3.clearText(); 241 351 } 242 else if(currPowerlineFocus == 4){ 352 else if (currPowerlineFocus == 4) 353 { 243 354 currPowerlineFocus = 5; 244 355 powerlineUI4.setVisible(true); … … 246 357 powerlineUI4.clearText(); 247 358 } 248 else if(currPowerlineFocus == 5){ 359 else if (currPowerlineFocus == 5) 360 { 249 361 currPowerlineFocus = 1; 250 362 powerlineUI5.setVisible(true); … … 253 365 } 254 366 } 255 256 public static void putRCARDinPL(){ 257 if(powerlineUI2.hasFocus()){ 367 368 public static void putRCARDinPL() 369 { 370 if (powerlineUI2.hasFocus()) 371 { 258 372 powerlineUI2.putRCARD(); 259 373 } 260 else if(powerlineUI3.hasFocus()){ 374 else if (powerlineUI3.hasFocus()) 375 { 261 376 powerlineUI3.putRCARD(); 262 377 } 263 else if(powerlineUI4.hasFocus()){ 378 else if (powerlineUI4.hasFocus()) 379 { 264 380 powerlineUI4.putRCARD(); 265 381 } 266 else if(powerlineUI5.hasFocus()){ 382 else if (powerlineUI5.hasFocus()) 383 { 267 384 powerlineUI5.putRCARD(); 268 385 } 269 else{ 386 else 387 { 270 388 powerlineUI1.setVisible(true); 271 389 powerlineUI1.putRCARD(); 272 390 } 273 391 } 274 392 275 393 //public static void openRotationServiceRequest(){ rotationServiceRequest.open(); } 276 394 //public static void closeRotationServiceRequest(){ rotationServiceRequest.close(); } 277 278 public static void openSearch(){ search.open(); } 279 public static void closeSearch(){ search.close(); } 280 281 public static void openUnitStatus(){ unitStatus.open(); } 282 public static void closeUnitStatus(){ unitStatus.close(); } 283 395 public static void openSearch() 396 { 397 search.open(); 398 } 399 400 public static void closeSearch() 401 { 402 search.close(); 403 } 404 405 public static void openUnitStatus() 406 { 407 unitStatus.open(); 408 } 409 410 public static void closeUnitStatus() 411 { 412 unitStatus.close(); 413 } 414 284 415 //public static void openVehicleInformationEntry(){ vehicleInformationEntry.open(); } 285 416 //public static void closeVehicleInformationEntry(){ vehicleInformationEntry.close(); } 286 287 public static void createPowerlineSearch(String search){417 public static void createPowerlineSearch(String search) 418 { 288 419 new PowerlineSearch(search); 289 420 } 290 291 public static void closeDropDownMenus(){ 421 422 public static void closeDropDownMenus() 423 { 292 424 cadMenu.closeMoreMenu(); 293 425 cadMenu.closeToolMenu(); … … 297 429 pendingIncidents.closeDropDownMenu(); 298 430 } 299 300 public static void refreshScreens(){ 431 432 public static void refreshScreens() 433 { 301 434 assignedIncidents.refreshTable(); 302 435 unitStatus.refreshTable(); 303 436 pendingIncidents.refreshTable(); 304 437 } 305 306 public static void setUserName(String username){ 438 439 public static void setUserName(String username) 440 { 307 441 cadMenu.setName(username); 308 442 } 309 443 public static String getUserName() 444 { 445 return cadMenu.getName(); 446 } 447 310 448 /** 311 449 * This method calls CADMenu's and UnitStatus's update time method. 312 450 */ 313 public static void handleUpdateTimes(){ 314 Timer timer = new Timer(ONE_SECOND, new ActionListener(){ 315 public void actionPerformed(ActionEvent e) { 451 public static void launchUpdateTimers() 452 { 453 Timer timer = new Timer(ONE_SECOND, new ActionListener() 454 { 455 public void actionPerformed(ActionEvent e) 456 { 316 457 refreshScreens(); 317 458 cadMenu.handleUpdateTime(); 318 unitStatus.handleUpdateTime(); 459 // Don't need this? Because refreshScreens already does it JD 460 //unitStatus.handleUpdateTime(); 319 461 } 320 462 }); 321 463 timer.start(); 322 } 323 464 465 //JD refresh the info in all the incident viewers 466 Timer timer2 = new Timer(FIVE_SECONDS, new ActionListener() 467 { 468 public void actionPerformed(ActionEvent e) 469 { 470 // for each incident viewer that we've created 471 for (Integer key : incidentViewMap.keySet()) 472 { 473 // Fetch the viewer 474 IncidentViewer viewer = incidentViewMap.get(key); 475 // is the viewer visible? 476 if (viewer.isVisible()) 477 { 478 // refresh the comments 479 viewer.refreshCommentsNotesTable(); 480 } 481 } 482 } 483 }); 484 timer2.start(); 485 } 486 324 487 /** 325 * Removes drag and drop/button clicking in unitStatus panel if bool is false.326 * This method should only be called from Login.java488 * Removes drag and drop/button clicking in unitStatus panel if bool is 489 * false. This method should only be called from Login.java 327 490 */ 328 public static void setDispatcherAuthority(boolean bool){ 329 if (!bool){ 491 public static void setDispatcherAuthority(boolean bool) 492 { 493 if (!bool) 494 { 330 495 unitStatus.removeDispatcherAuthority(); 331 496 cadMenu.removeDispatcherStatus(); -
trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java
r3 r59 4 4 import java.awt.Component; 5 5 import java.awt.Dimension; 6 import java.awt.Point; 6 7 import java.awt.Toolkit; 7 8 import java.awt.datatransfer.DataFlavor; … … 17 18 import java.rmi.RemoteException; 18 19 import java.util.List; 19 20 20 import javax.swing.Box; 21 21 import javax.swing.BoxLayout; … … 28 28 import javax.swing.JTable; 29 29 import javax.swing.ListSelectionModel; 30 import javax.swing.RowSorter;31 30 import javax.swing.RowSorter.SortKey; 32 31 import javax.swing.SwingUtilities; … … 34 33 import javax.swing.table.DefaultTableModel; 35 34 import javax.swing.table.TableCellRenderer; 36 37 35 import tmcsim.client.cadclientgui.enums.CADDataEnums; 38 36 import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS; … … 41 39 42 40 /** 43 * This class contains the view and controller for the UnitStatus screen. The view was not built using a GUI builder plug-in 44 * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 45 * 41 * This class contains the view and controller for the UnitStatus screen. The 42 * view was not built using a GUI builder plug-in (but may want to consider 43 * doing so in the future), and the controller uses listeners to control how the 44 * view and data act. 45 * 46 46 * @author Vincent 47 47 */ 48 49 public class UnitStatus extends JFrame { 50 48 public class UnitStatus extends JFrame 49 { 51 50 private final int ONE_SECOND = 1000; 52 53 51 private final String SCREEN_TITLE = "(Shift + F4) Unit Status"; 54 55 52 private final Dimension SCREEN_DIMENSIONS = new Dimension(1400, 250); 56 57 53 private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension( 58 54 170, 20); 59 60 55 private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170, 300); 61 62 56 private final Dimension BUTTON_DIMENSIONS = new Dimension(100, 25); 63 64 57 private final int COLUMN_WIDTH = 120; 65 66 private final String[] LABELS = { "10-8", "OFC", "OOS", 67 "Open Unit Details", "Open Unit Activity Log", "Map", 68 "Change Vehicle", "Unit Poll", "Quick Note...", 69 "Activate User Timer...", "Filters", "Page...", "Roster System", 70 "10-10" }; 71 72 private final String[] WITH_ASSIGNED_INC_LABELS = { "STAGE", "10-97", 73 "10-8", "ASSIGNED ALT...", "ENRT ALT...", "10-97 ALT...", 74 "Open Incident", "Recall Incident", "Open Unit Details", 75 "Open Unit Activity Log", "Map", "Recall Linked Incidents", 76 "Cancel", "Reassign", "Duplicate", "Unit Poll", "Quick Note...", 77 "Activate User Timer...", "Filters", "Page...", "Fax..." }; 78 58 private final String[] LABELS = 59 { 60 "10-8", "OFC", "OOS", 61 "Open Unit Details", "Open Unit Activity Log", "Map", 62 "Change Vehicle", "Unit Poll", "Quick Note...", 63 "Activate User Timer...", "Filters", "Page...", "Roster System", 64 "10-10" 65 }; 66 private final String[] WITH_ASSIGNED_INC_LABELS = 67 { 68 "STAGE", "10-97", 69 "10-8", "ASSIGNED ALT...", "ENRT ALT...", "10-97 ALT...", 70 "Open Incident", "Recall Incident", "Open Unit Details", 71 "Open Unit Activity Log", "Map", "Recall Linked Incidents", 72 "Cancel", "Reassign", "Duplicate", "Unit Poll", "Quick Note...", 73 "Activate User Timer...", "Filters", "Page...", "Fax..." 74 }; 79 75 private final String LABEL_SPACING = " "; 80 81 76 // this box holds both the table and the buttons below 82 77 private Box unitStatusFrame; 83 84 78 private JTable unitStatusTable; 85 79 private JFrame unitStatusMenu; 86 80 private JFrame unitStatusWithAssignedIncMenu; 87 88 81 // labels for the drop down menu 89 82 private JLabel[] dropDownLabels = new JLabel[LABELS.length]; 90 83 private JLabel[] dropDownWithAssignedIncLabels = new JLabel[WITH_ASSIGNED_INC_LABELS.length]; 91 92 84 private JButton buttonEnrt; 93 85 private JButton buttonStage; … … 101 93 private JButton buttonOOS; 102 94 103 public UnitStatus() { 95 public UnitStatus() 96 { 104 97 initComponents(); 105 98 } 106 99 107 private void initComponents() { 100 private void initComponents() 101 { 108 102 initializeTable(); 109 103 initControllers(); … … 138 132 * drop feature. 139 133 */ 140 private void initializeTable() { 141 unitStatusTable = new JTable() { 134 private void initializeTable() 135 { 136 unitStatusTable = new JTable() 137 { 142 138 /** 143 139 * Custom renderer to set different background/foreground colors 144 * 145 * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, 146 * int, int) 140 * 141 * @see 142 * javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, 143 * int, int) 147 144 */ 148 145 public Component prepareRenderer(TableCellRenderer renderer, 149 int row, int column) { 146 int row, int column) 147 { 150 148 Component comp = super.prepareRenderer(renderer, row, column); 151 149 152 150 int unitNumColumn = 2; 153 try { 151 try 152 { 154 153 switch (ScreenManager.theCoordinator 155 154 .getCadDataUnitStatus((String) unitStatusTable 156 .getValueAt(row, unitNumColumn))) { 157 case Assignable: 158 comp.setForeground(Color.GREEN); 159 comp.setBackground(Color.BLACK); 160 break; 161 case Arrived: 162 comp.setForeground(Color.YELLOW); 163 comp.setBackground(Color.BLACK); 164 break; 165 case NotAssignable: 166 comp.setForeground(Color.BLACK); 167 comp.setBackground(Color.GRAY); 168 break; 169 case Enroute: 170 comp.setForeground(Color.CYAN); 171 comp.setBackground(Color.BLACK); 172 break; 155 .getValueAt(row, unitNumColumn))) 156 { 157 case Assignable: 158 comp.setForeground(Color.GREEN); 159 comp.setBackground(Color.BLACK); 160 break; 161 case Arrived: 162 comp.setForeground(Color.YELLOW); 163 comp.setBackground(Color.BLACK); 164 break; 165 case NotAssignable: 166 comp.setForeground(Color.BLACK); 167 comp.setBackground(Color.GRAY); 168 break; 169 case Enroute: 170 comp.setForeground(Color.CYAN); 171 comp.setBackground(Color.BLACK); 172 break; 173 173 } 174 } catch (RemoteException e) { 174 } catch (RemoteException e) 175 { 175 176 e.printStackTrace(); 176 177 } 177 178 178 if (getSelectedRow() == row) { 179 if (getSelectedRow() == row) 180 { 179 181 comp.setForeground(Color.WHITE); 180 182 comp.setBackground(Color.BLUE); … … 198 200 .setColumnIdentifiers(TableHeaders.UNIT_STATUS_HEADERS); 199 201 200 unitStatusTable.setTransferHandler(new TransferHandler() { 201 202 public boolean canImport(TransferHandler.TransferSupport info) { 203 if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) { 202 unitStatusTable.setTransferHandler(new TransferHandler() 203 { 204 public boolean canImport(TransferHandler.TransferSupport info) 205 { 206 if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) 207 { 204 208 return false; 205 209 } … … 207 211 } 208 212 209 public int getSourceActions(JComponent c) { 213 public int getSourceActions(JComponent c) 214 { 210 215 return TransferHandler.COPY_OR_MOVE; 211 216 } 212 217 213 protected Transferable createTransferable(JComponent c) { 218 protected Transferable createTransferable(JComponent c) 219 { 214 220 return new StringSelection((String) unitStatusTable.getValueAt( 215 221 unitStatusTable.getSelectedRow(), 2)); 216 222 } 217 218 223 }); 219 224 220 for (int i = 0; i < unitStatusTable.getColumnCount(); i++) { 225 for (int i = 0; i < unitStatusTable.getColumnCount(); i++) 226 { 221 227 unitStatusTable.getColumnModel().getColumn(i) 222 228 .setPreferredWidth(COLUMN_WIDTH); … … 228 234 * screen. 229 235 */ 230 private void initControllers() { 231 unitStatusTable.addMouseListener(new MouseListener() { 232 public void mouseClicked(MouseEvent e) { 236 //TODO: JD If one unit has been selected, but you right-click on a different one. 237 //Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Invalid index 238 // at javax.swing.DefaultRowSorter.convertRowIndexToModel(DefaultRowSorter.java:514) 239 // at javax.swing.JTable.convertRowIndexToModel(JTable.java:2642) 240 // at javax.swing.JTable.getValueAt(JTable.java:2717) 241 // at tmcsim.client.cadclientgui.screens.UnitStatus$3.mouseClicked(UnitStatus.java:234) 242 private void initControllers() 243 { 244 unitStatusTable.addMouseListener(new MouseListener() 245 { 246 public void mouseClicked(MouseEvent e) 247 { 233 248 int unitColumn = 2; 249 // Fixed to force right click to cause the row to be selected. JD 250 // get the coordinates of the mouse click 251 Point p = e.getPoint(); 252 // get the row index that contains that coordinate 253 int rowNumber = unitStatusTable.rowAtPoint(p); 254 // Get the ListSelectionModel of the JTable 255 ListSelectionModel model = unitStatusTable.getSelectionModel(); 256 // set the selected interval of rows. Using the "rowNumber" 257 // variable for the beginning and end selects only that one row. 258 model.setSelectionInterval(rowNumber, rowNumber); 259 234 260 String unitNum = (String) unitStatusTable.getValueAt( 235 unitStatusTable.getSelectedRow(), unitColumn); 236 if (SwingUtilities.isRightMouseButton(e)) { 237 try { 261 rowNumber, unitColumn); 262 // Validity check for non-empty unit number 263 if (unitNum.equals("")) 264 { 265 return; 266 } 267 if (SwingUtilities.isRightMouseButton(e)) 268 { 269 try 270 { 238 271 if (ScreenManager.theCoordinator 239 272 .getCadDataUnitStatus(unitNum) == UnitStatusEnums.Enroute 240 273 || ScreenManager.theCoordinator 241 .getCadDataUnitStatus(unitNum) == UnitStatusEnums.Arrived) { 274 .getCadDataUnitStatus(unitNum) == UnitStatusEnums.Arrived) 275 { 242 276 openDropDownWithAssignedIncMenu(e); 243 } else { 277 } 278 else 279 { 244 280 openDropDownMenu(e); 245 281 } 246 } catch (RemoteException e1) { 282 } catch (RemoteException e1) 283 { 247 284 e1.printStackTrace(); 248 285 } 249 } else { 286 } 287 else 288 { 250 289 closeDropDownMenu(); 251 290 closeDropDownWithAssignedIncMenu(); … … 253 292 } 254 293 255 public void mouseEntered(MouseEvent e) { 256 } 257 258 public void mouseExited(MouseEvent e) { 259 } 260 261 public void mousePressed(MouseEvent e) { 262 } 263 264 public void mouseReleased(MouseEvent e) { 294 public void mouseEntered(MouseEvent e) 295 { 296 } 297 298 public void mouseExited(MouseEvent e) 299 { 300 } 301 302 public void mousePressed(MouseEvent e) 303 { 304 } 305 306 public void mouseReleased(MouseEvent e) 307 { 265 308 } 266 309 }); 267 310 268 addComponentListener(new ComponentListener() { 269 public void componentHidden(ComponentEvent e) { 270 } 271 272 public void componentMoved(ComponentEvent e) { 311 addComponentListener(new ComponentListener() 312 { 313 public void componentHidden(ComponentEvent e) 314 { 315 } 316 317 public void componentMoved(ComponentEvent e) 318 { 273 319 closeDropDownMenu(); 274 320 } 275 321 276 public void componentResized(ComponentEvent e) { 277 } 278 279 public void componentShown(ComponentEvent e) { 322 public void componentResized(ComponentEvent e) 323 { 324 } 325 326 public void componentShown(ComponentEvent e) 327 { 280 328 } 281 329 }); … … 286 334 * on the table. 287 335 */ 288 private void initializeDropDownMenus() { 336 private void initializeDropDownMenus() 337 { 289 338 Box menu = new Box(BoxLayout.Y_AXIS); 290 339 initializeDropDownLabels(); … … 319 368 * labels are not implemented so no listeners are added. 320 369 */ 321 private void initializeDropDownLabels() { 322 for (int i = 0; i < dropDownLabels.length; i++) { 370 private void initializeDropDownLabels() 371 { 372 for (int i = 0; i < dropDownLabels.length; i++) 373 { 323 374 dropDownLabels[i] = new JLabel(LABEL_SPACING + LABELS[i]); 324 375 dropDownLabels[i].setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS); … … 330 381 * Sets the text and size and adds a listener to each activated label. 331 382 */ 332 private void initializeDropDownWithAssignedIncLabels() { 333 for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) { 383 private void initializeDropDownWithAssignedIncLabels() 384 { 385 for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) 386 { 334 387 dropDownWithAssignedIncLabels[i] = new JLabel(LABEL_SPACING 335 388 + WITH_ASSIGNED_INC_LABELS[i]); … … 347 400 * between. 348 401 */ 349 private void addLabelsToBox(Box menu) { 402 private void addLabelsToBox(Box menu) 403 { 350 404 menu.add(dropDownLabels[0]); 351 405 menu.add(dropDownLabels[1]); … … 400 454 * between. 401 455 */ 402 private void addWithAssignedIncLabelsToBox(Box menu) { 456 private void addWithAssignedIncLabelsToBox(Box menu) 457 { 403 458 menu.add(dropDownWithAssignedIncLabels[0]); 404 459 menu.add(dropDownWithAssignedIncLabels[1]); … … 454 509 * Creates each button and handles the action performed by the button. 455 510 */ 456 public void initializeBottomButtons(Box bottomButtons) { 457 bottomButtons.add(buttonEnrt = makeButton("ENRT", new ActionListener() { 458 public void actionPerformed(ActionEvent arg0) { 459 try { 511 public void initializeBottomButtons(Box bottomButtons) 512 { 513 bottomButtons.add(buttonEnrt = makeButton("ENRT", new ActionListener() 514 { 515 public void actionPerformed(ActionEvent arg0) 516 { 517 try 518 { 460 519 ScreenManager.theCoordinator.setCadDataUnitValue( 461 520 (String) unitStatusTable.getValueAt( 462 unitStatusTable.getSelectedRow(), 2),521 unitStatusTable.getSelectedRow(), 2), 463 522 UNIT_TAGS.STATUS, "ENRT"); 464 523 ScreenManager.theCoordinator.setCadDataUnitValue( 465 524 (String) unitStatusTable.getValueAt( 466 unitStatusTable.getSelectedRow(), 2),525 unitStatusTable.getSelectedRow(), 2), 467 526 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Enroute); 468 } catch (RemoteException e) { 527 } catch (RemoteException e) 528 { 469 529 e.printStackTrace(); 470 530 } … … 473 533 })); 474 534 bottomButtons.add(buttonStage = makeButton("STAGE", 475 new ActionListener() { 476 public void actionPerformed(ActionEvent arg0) { 477 try { 478 ScreenManager.theCoordinator.setCadDataUnitValue( 479 (String) unitStatusTable 480 .getValueAt(unitStatusTable 481 .getSelectedRow(), 2), 482 UNIT_TAGS.STATUS, "STAGE"); 483 } catch (RemoteException e) { 484 e.printStackTrace(); 485 } 486 refreshTable(); 487 } 488 })); 535 new ActionListener() 536 { 537 public void actionPerformed(ActionEvent arg0) 538 { 539 try 540 { 541 ScreenManager.theCoordinator.setCadDataUnitValue( 542 (String) unitStatusTable 543 .getValueAt(unitStatusTable 544 .getSelectedRow(), 2), 545 UNIT_TAGS.STATUS, "STAGE"); 546 } catch (RemoteException e) 547 { 548 e.printStackTrace(); 549 } 550 refreshTable(); 551 } 552 })); 489 553 bottomButtons.add(button1097 = makeButton("10-97", 490 new ActionListener() { 491 public void actionPerformed(ActionEvent arg0) { 492 try { 493 ScreenManager.theCoordinator.setCadDataUnitValue( 494 (String) unitStatusTable 495 .getValueAt(unitStatusTable 496 .getSelectedRow(), 2), 497 UNIT_TAGS.STATUS, "10-97"); 498 ScreenManager.theCoordinator.setCadDataUnitValue( 499 (String) unitStatusTable 500 .getValueAt(unitStatusTable 501 .getSelectedRow(), 2), 502 UNIT_TAGS.UNIT_STATUS, 503 UnitStatusEnums.Arrived); 504 } catch (RemoteException e) { 505 e.printStackTrace(); 506 } 507 refreshTable(); 508 } 509 })); 554 new ActionListener() 555 { 556 public void actionPerformed(ActionEvent arg0) 557 { 558 try 559 { 560 ScreenManager.theCoordinator.setCadDataUnitValue( 561 (String) unitStatusTable 562 .getValueAt(unitStatusTable 563 .getSelectedRow(), 2), 564 UNIT_TAGS.STATUS, "10-97"); 565 ScreenManager.theCoordinator.setCadDataUnitValue( 566 (String) unitStatusTable 567 .getValueAt(unitStatusTable 568 .getSelectedRow(), 2), 569 UNIT_TAGS.UNIT_STATUS, 570 UnitStatusEnums.Arrived); 571 } catch (RemoteException e) 572 { 573 e.printStackTrace(); 574 } 575 refreshTable(); 576 } 577 })); 510 578 bottomButtons.add(buttonCode4 = makeButton("CODE 4", 511 new ActionListener() { 512 public void actionPerformed(ActionEvent arg0) { 513 try { 514 ScreenManager.theCoordinator.setCadDataUnitValue( 515 (String) unitStatusTable 516 .getValueAt(unitStatusTable 517 .getSelectedRow(), 2), 518 UNIT_TAGS.STATUS, "CODE 4"); 519 } catch (RemoteException e) { 520 e.printStackTrace(); 521 } 522 refreshTable(); 523 } 524 })); 579 new ActionListener() 580 { 581 public void actionPerformed(ActionEvent arg0) 582 { 583 try 584 { 585 ScreenManager.theCoordinator.setCadDataUnitValue( 586 (String) unitStatusTable 587 .getValueAt(unitStatusTable 588 .getSelectedRow(), 2), 589 UNIT_TAGS.STATUS, "CODE 4"); 590 } catch (RemoteException e) 591 { 592 e.printStackTrace(); 593 } 594 refreshTable(); 595 } 596 })); 525 597 bottomButtons.add(buttonDash1 = makeButton("-", null)); 526 598 bottomButtons.add(buttonDash2 = makeButton("-", null)); 527 599 bottomButtons.add(buttonDash3 = makeButton("-", null)); 528 bottomButtons.add(button108 = makeButton("10-8", new ActionListener() { 529 public void actionPerformed(ActionEvent arg0) { 530 try { 600 bottomButtons.add(button108 = makeButton("10-8", new ActionListener() 601 { 602 public void actionPerformed(ActionEvent arg0) 603 { 604 try 605 { 531 606 ScreenManager.theCoordinator.setCadDataUnitValue( 532 607 (String) unitStatusTable.getValueAt( 533 unitStatusTable.getSelectedRow(), 2),608 unitStatusTable.getSelectedRow(), 2), 534 609 UNIT_TAGS.STATUS, "10-8"); 535 610 ScreenManager.theCoordinator.setCadDataUnitValue( 536 611 (String) unitStatusTable.getValueAt( 537 unitStatusTable.getSelectedRow(), 2),612 unitStatusTable.getSelectedRow(), 2), 538 613 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Assignable); 539 } catch (RemoteException e) { 614 } catch (RemoteException e) 615 { 540 616 e.printStackTrace(); 541 617 } … … 543 619 } 544 620 })); 545 bottomButtons.add(buttonOFC = makeButton("OFC", new ActionListener() { 546 public void actionPerformed(ActionEvent arg0) { 547 try { 621 bottomButtons.add(buttonOFC = makeButton("OFC", new ActionListener() 622 { 623 public void actionPerformed(ActionEvent arg0) 624 { 625 try 626 { 548 627 ScreenManager.theCoordinator.setCadDataUnitValue( 549 628 (String) unitStatusTable.getValueAt( 550 unitStatusTable.getSelectedRow(), 2),629 unitStatusTable.getSelectedRow(), 2), 551 630 UNIT_TAGS.STATUS, "OFC"); 552 631 ScreenManager.theCoordinator.setCadDataUnitValue( 553 632 (String) unitStatusTable.getValueAt( 554 unitStatusTable.getSelectedRow(), 2),633 unitStatusTable.getSelectedRow(), 2), 555 634 UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived); 556 } catch (RemoteException e) { 635 } catch (RemoteException e) 636 { 557 637 e.printStackTrace(); 558 638 } … … 560 640 } 561 641 })); 562 bottomButtons.add(buttonOOS = makeButton("OOS", new ActionListener() { 563 public void actionPerformed(ActionEvent arg0) { 564 try { 642 bottomButtons.add(buttonOOS = makeButton("OOS", new ActionListener() 643 { 644 public void actionPerformed(ActionEvent arg0) 645 { 646 try 647 { 565 648 ScreenManager.theCoordinator.setCadDataUnitValue( 566 649 (String) unitStatusTable.getValueAt( 567 unitStatusTable.getSelectedRow(), 2),650 unitStatusTable.getSelectedRow(), 2), 568 651 UNIT_TAGS.STATUS, "OOS"); 569 652 ScreenManager.theCoordinator.setCadDataUnitValue( 570 653 (String) unitStatusTable.getValueAt( 571 unitStatusTable.getSelectedRow(), 2),654 unitStatusTable.getSelectedRow(), 2), 572 655 UNIT_TAGS.UNIT_STATUS, 573 656 UnitStatusEnums.NotAssignable); 574 } catch (RemoteException e) { 657 } catch (RemoteException e) 658 { 575 659 e.printStackTrace(); 576 660 } … … 582 666 /* 583 667 * Makes a JButton with an text and listener. 584 * 668 * 585 669 * @param text the text to be displayed 586 * 670 * 587 671 * @param listener the action listener for this button. 588 * 672 * 589 673 * @return the JButton. 590 674 */ 591 public JButton makeButton(String text, ActionListener listener) { 675 public JButton makeButton(String text, ActionListener listener) 676 { 592 677 JButton button = new JButton(text); 593 678 button.setBackground(Color.GRAY); … … 606 691 * Sets the highlighted color(when the mouse is over it) of the JLabels. 607 692 * Note: the color is not shown until .setOpaque(true) is called. 608 * 693 * 609 694 * @param color the highlighted color 610 695 */ 611 public void setMenuHighlightedBackground(Color color) { 612 for (int i = 0; i < dropDownLabels.length; i++) { 696 public void setMenuHighlightedBackground(Color color) 697 { 698 for (int i = 0; i < dropDownLabels.length; i++) 699 { 613 700 dropDownLabels[i].setBackground(color); 614 701 } … … 618 705 * Sets the highlighted color(when the mouse is over it) of the JLabels. 619 706 * Note: the color is not shown until .setOpaque(true) is called. 620 * 707 * 621 708 * @param color the highlighted color 622 709 */ 623 public void setWithAssignedIncMenuHighlightedBackground(Color color) { 624 for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) { 710 public void setWithAssignedIncMenuHighlightedBackground(Color color) 711 { 712 for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) 713 { 625 714 dropDownWithAssignedIncLabels[i].setBackground(color); 626 715 } … … 630 719 * Sets all JLabels to not display a highlighted background 631 720 */ 632 public void unSelectAllLabels() { 633 for (int i = 0; i < dropDownLabels.length; i++) { 721 public void unSelectAllLabels() 722 { 723 for (int i = 0; i < dropDownLabels.length; i++) 724 { 634 725 dropDownLabels[i].setOpaque(false); 635 726 } … … 639 730 * Sets all JLabels to not display a highlighted background 640 731 */ 641 public void unSelectAllWithAssignedIncLabels() { 642 for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) { 732 public void unSelectAllWithAssignedIncLabels() 733 { 734 for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) 735 { 643 736 dropDownWithAssignedIncLabels[i].setOpaque(false); 644 737 } … … 647 740 /* 648 741 * Sets the label to have a highlighted background. 649 * 742 * 650 743 * @param label the label that is selected/highlighted 651 744 */ 652 public void selectLabel(Object label) { 745 public void selectLabel(Object label) 746 { 653 747 ((JLabel) label).setOpaque(true); 654 748 } … … 657 751 * Performs the label action depending on which label was clicked. 658 752 */ 659 public void performLabelAction(Object label) { 660 if (label.equals(dropDownLabels[0])) { // 10-8 661 662 } else if (label.equals(dropDownLabels[1])) { // OFC 663 664 } else if (label.equals(dropDownLabels[2])) { // OOS 665 666 } else if (label.equals(dropDownLabels[3])) { // Open Unit Details 667 668 } else if (label.equals(dropDownLabels[4])) { // Open Unit Activity Log 669 670 } else if (label.equals(dropDownLabels[5])) { // Map 671 672 } else if (label.equals(dropDownLabels[6])) { // Change Vehicle 673 674 } else if (label.equals(dropDownLabels[7])) { // Unit Poll 675 676 } else if (label.equals(dropDownLabels[8])) { // Quick Notes 677 678 } else if (label.equals(dropDownLabels[9])) { // Activate User Timer 679 680 } else if (label.equals(dropDownLabels[10])) { // Filters 681 682 } else if (label.equals(dropDownLabels[11])) { // Page 683 684 } else if (label.equals(dropDownLabels[12])) { // Roster System 685 686 } else if (label.equals(dropDownLabels[13])) { // 10-10 687 753 public void performLabelAction(Object label) 754 { 755 if (label.equals(dropDownLabels[0])) 756 { // 10-8 757 } 758 else if (label.equals(dropDownLabels[1])) 759 { // OFC 760 } 761 else if (label.equals(dropDownLabels[2])) 762 { // OOS 763 } 764 else if (label.equals(dropDownLabels[3])) 765 { // Open Unit Details 766 } 767 else if (label.equals(dropDownLabels[4])) 768 { // Open Unit Activity Log 769 } 770 else if (label.equals(dropDownLabels[5])) 771 { // Map 772 } 773 else if (label.equals(dropDownLabels[6])) 774 { // Change Vehicle 775 } 776 else if (label.equals(dropDownLabels[7])) 777 { // Unit Poll 778 } 779 else if (label.equals(dropDownLabels[8])) 780 { // Quick Notes 781 } 782 else if (label.equals(dropDownLabels[9])) 783 { // Activate User Timer 784 } 785 else if (label.equals(dropDownLabels[10])) 786 { // Filters 787 } 788 else if (label.equals(dropDownLabels[11])) 789 { // Page 790 } 791 else if (label.equals(dropDownLabels[12])) 792 { // Roster System 793 } 794 else if (label.equals(dropDownLabels[13])) 795 { // 10-10 688 796 } 689 797 } … … 692 800 * Performs the label action depending on which label was clicked. 693 801 */ 694 public void performWithAssignedIncLabelAction(Object label) { 695 if (label.equals(dropDownWithAssignedIncLabels[0])) { // STAGE 696 697 } else if (label.equals(dropDownWithAssignedIncLabels[1])) { // 10-97 698 699 } else if (label.equals(dropDownWithAssignedIncLabels[2])) { // 10-8 700 701 } else if (label.equals(dropDownWithAssignedIncLabels[3])) { // ASSIGN 702 // ALT... 703 704 } else if (label.equals(dropDownWithAssignedIncLabels[4])) { // ENRT 705 // ALT... 706 707 } else if (label.equals(dropDownWithAssignedIncLabels[5])) { // 10-97 708 // ALT... 709 710 } else if (label.equals(dropDownWithAssignedIncLabels[6])) { // Open 711 // Incident 802 public void performWithAssignedIncLabelAction(Object label) 803 { 804 if (label.equals(dropDownWithAssignedIncLabels[0])) 805 { // STAGE 806 } 807 else if (label.equals(dropDownWithAssignedIncLabels[1])) 808 { // 10-97 809 } 810 else if (label.equals(dropDownWithAssignedIncLabels[2])) 811 { // 10-8 812 } 813 else if (label.equals(dropDownWithAssignedIncLabels[3])) 814 { // ASSIGN 815 // ALT... 816 } 817 else if (label.equals(dropDownWithAssignedIncLabels[4])) 818 { // ENRT 819 // ALT... 820 } 821 else if (label.equals(dropDownWithAssignedIncLabels[5])) 822 { // 10-97 823 // ALT... 824 } 825 else if (label.equals(dropDownWithAssignedIncLabels[6])) 826 { // Open 827 // Incident 712 828 int idColumn = 0; 713 829 ScreenManager.openIncidentViewer(Integer 714 830 .parseInt((String) unitStatusTable.getValueAt( 715 unitStatusTable.getSelectedRow(), idColumn))); 716 } else if (label.equals(dropDownWithAssignedIncLabels[7])) { // Recall 717 // Incident 718 719 } else if (label.equals(dropDownWithAssignedIncLabels[8])) { // Open 720 // Unit 721 // Details 722 723 } else if (label.equals(dropDownWithAssignedIncLabels[9])) { // Open 724 // Unit 725 // Activity 726 // Log 727 728 } else if (label.equals(dropDownWithAssignedIncLabels[10])) { // Map 729 730 } else if (label.equals(dropDownWithAssignedIncLabels[11])) { // Recall 731 // Linked 732 // Incidents 733 734 } else if (label.equals(dropDownWithAssignedIncLabels[12])) { // Cancel 735 736 } else if (label.equals(dropDownWithAssignedIncLabels[13])) { // Reassign 737 738 } else if (label.equals(dropDownWithAssignedIncLabels[14])) { // Duplicate 739 740 } else if (label.equals(dropDownWithAssignedIncLabels[15])) { // Unit 741 // Poll 742 743 } else if (label.equals(dropDownWithAssignedIncLabels[16])) { // Quick 744 // Note... 745 746 } else if (label.equals(dropDownWithAssignedIncLabels[17])) { // Activate 747 // User 748 // Timer... 749 750 } else if (label.equals(dropDownWithAssignedIncLabels[18])) { // Filters 751 752 } else if (label.equals(dropDownWithAssignedIncLabels[19])) { // Page... 753 754 } else if (label.equals(dropDownWithAssignedIncLabels[20])) { // Fax... 755 831 unitStatusTable.getSelectedRow(), idColumn))); 832 } 833 else if (label.equals(dropDownWithAssignedIncLabels[7])) 834 { // Recall 835 // Incident 836 } 837 else if (label.equals(dropDownWithAssignedIncLabels[8])) 838 { // Open 839 // Unit 840 // Details 841 } 842 else if (label.equals(dropDownWithAssignedIncLabels[9])) 843 { // Open 844 // Unit 845 // Activity 846 // Log 847 } 848 else if (label.equals(dropDownWithAssignedIncLabels[10])) 849 { // Map 850 } 851 else if (label.equals(dropDownWithAssignedIncLabels[11])) 852 { // Recall 853 // Linked 854 // Incidents 855 } 856 else if (label.equals(dropDownWithAssignedIncLabels[12])) 857 { // Cancel 858 } 859 else if (label.equals(dropDownWithAssignedIncLabels[13])) 860 { // Reassign 861 } 862 else if (label.equals(dropDownWithAssignedIncLabels[14])) 863 { // Duplicate 864 } 865 else if (label.equals(dropDownWithAssignedIncLabels[15])) 866 { // Unit 867 // Poll 868 } 869 else if (label.equals(dropDownWithAssignedIncLabels[16])) 870 { // Quick 871 // Note... 872 } 873 else if (label.equals(dropDownWithAssignedIncLabels[17])) 874 { // Activate 875 // User 876 // Timer... 877 } 878 else if (label.equals(dropDownWithAssignedIncLabels[18])) 879 { // Filters 880 } 881 else if (label.equals(dropDownWithAssignedIncLabels[19])) 882 { // Page... 883 } 884 else if (label.equals(dropDownWithAssignedIncLabels[20])) 885 { // Fax... 756 886 } 757 887 } … … 763 893 * designates. 764 894 */ 765 public void addMouseListenersToLabel(JLabel label) { 766 label.addMouseMotionListener(new MouseMotionListener() { 767 public void mouseDragged(MouseEvent e) { 768 } 769 770 public void mouseMoved(MouseEvent e) { 895 public void addMouseListenersToLabel(JLabel label) 896 { 897 label.addMouseMotionListener(new MouseMotionListener() 898 { 899 public void mouseDragged(MouseEvent e) 900 { 901 } 902 903 public void mouseMoved(MouseEvent e) 904 { 771 905 unSelectAllLabels(); 772 906 selectLabel(e.getSource()); … … 775 909 } 776 910 }); 777 label.addMouseListener(new MouseListener() { 778 public void mouseClicked(MouseEvent e) { 911 label.addMouseListener(new MouseListener() 912 { 913 public void mouseClicked(MouseEvent e) 914 { 779 915 performLabelAction(e.getSource()); 780 916 unSelectAllLabels(); … … 784 920 } 785 921 786 public void mouseEntered(MouseEvent e) { 787 } 788 789 public void mouseExited(MouseEvent e) { 790 } 791 792 public void mousePressed(MouseEvent e) { 793 } 794 795 public void mouseReleased(MouseEvent e) { 922 public void mouseEntered(MouseEvent e) 923 { 924 } 925 926 public void mouseExited(MouseEvent e) 927 { 928 } 929 930 public void mousePressed(MouseEvent e) 931 { 932 } 933 934 public void mouseReleased(MouseEvent e) 935 { 796 936 } 797 937 }); … … 804 944 * designates. 805 945 */ 806 public void addMouseListenersToWithAssignedIncLabel(JLabel label) { 807 label.addMouseMotionListener(new MouseMotionListener() { 808 public void mouseDragged(MouseEvent e) { 809 } 810 811 public void mouseMoved(MouseEvent e) { 946 public void addMouseListenersToWithAssignedIncLabel(JLabel label) 947 { 948 label.addMouseMotionListener(new MouseMotionListener() 949 { 950 public void mouseDragged(MouseEvent e) 951 { 952 } 953 954 public void mouseMoved(MouseEvent e) 955 { 812 956 unSelectAllLabels(); 813 957 selectLabel(e.getSource()); … … 816 960 } 817 961 }); 818 label.addMouseListener(new MouseListener() { 819 public void mouseClicked(MouseEvent e) { 962 label.addMouseListener(new MouseListener() 963 { 964 public void mouseClicked(MouseEvent e) 965 { 820 966 performWithAssignedIncLabelAction(e.getSource()); 821 967 unSelectAllLabels(); … … 825 971 } 826 972 827 public void mouseEntered(MouseEvent e) { 828 } 829 830 public void mouseExited(MouseEvent e) { 831 } 832 833 public void mousePressed(MouseEvent e) { 834 } 835 836 public void mouseReleased(MouseEvent e) { 973 public void mouseEntered(MouseEvent e) 974 { 975 } 976 977 public void mouseExited(MouseEvent e) 978 { 979 } 980 981 public void mousePressed(MouseEvent e) 982 { 983 } 984 985 public void mouseReleased(MouseEvent e) 986 { 837 987 } 838 988 }); … … 842 992 * Displays the menu where the right click occurred. 843 993 */ 844 public void openDropDownMenu(MouseEvent e) { 994 public void openDropDownMenu(MouseEvent e) 995 { 845 996 unitStatusMenu.setLocation(e.getX() + this.getX(), 846 997 e.getY() + this.getY()); … … 851 1002 * Displays the menu where the right click occurred. 852 1003 */ 853 public void openDropDownWithAssignedIncMenu(MouseEvent e) { 1004 public void openDropDownWithAssignedIncMenu(MouseEvent e) 1005 { 854 1006 unitStatusWithAssignedIncMenu.setLocation(e.getX() + this.getX(), 855 1007 e.getY() + this.getY()); … … 860 1012 * Hides the menu. 861 1013 */ 862 public void closeDropDownMenu() { 1014 public void closeDropDownMenu() 1015 { 863 1016 unSelectAllLabels(); 864 1017 unitStatusMenu.revalidate(); … … 870 1023 * Hides the menu. 871 1024 */ 872 public void closeDropDownWithAssignedIncMenu() { 1025 public void closeDropDownWithAssignedIncMenu() 1026 { 873 1027 unSelectAllLabels(); 874 1028 unitStatusWithAssignedIncMenu.revalidate(); … … 879 1033 /* 880 1034 * Refreshes the data in the table by updating all data and repainting the 881 * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 1035 * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 882 1036 * and applies them to the updated model it receives from the server. 883 1037 */ 884 public void refreshTable() { 885 if(unitStatusTable.getTableHeader().getResizingColumn() == null){//only update info if resize not in progress 886 try { 1038 public void refreshTable() 1039 { 1040 if (unitStatusTable.getTableHeader().getResizingColumn() == null) 1041 {//only update info if resize not in progress 1042 try 1043 { 887 1044 int index = unitStatusTable.getSelectedRow(); 888 1045 List<? extends SortKey> keys = unitStatusTable.getRowSorter().getSortKeys(); 889 1046 int[] columnWidths = new int[20]; 890 for(int i = 0; i < unitStatusTable.getColumnCount(); i++){ 1047 for (int i = 0; i < unitStatusTable.getColumnCount(); i++) 1048 { 891 1049 columnWidths[i] = unitStatusTable.getColumnModel().getColumn(i).getWidth(); 892 1050 } 893 1051 894 1052 unitStatusTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.UNIT_STATUS)); 895 896 for(int i = 0; i < unitStatusTable.getColumnCount(); i++){ 1053 1054 for (int i = 0; i < unitStatusTable.getColumnCount(); i++) 1055 { 897 1056 unitStatusTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]); 898 1057 } 899 1058 unitStatusTable.getRowSorter().setSortKeys(keys); 900 1059 unitStatusTable.getSelectionModel().setSelectionInterval(index, index); 901 } catch (RemoteException e) { 902 e.printStackTrace(); 903 } 904 revalidate(); 905 repaint(); 906 } 1060 } catch (RemoteException e) 1061 { 1062 e.printStackTrace(); 1063 } 1064 revalidate(); 1065 repaint(); 1066 } 907 1067 } 908 1068 … … 910 1070 * Makes screen visible. 911 1071 */ 912 public void open() { 1072 public void open() 1073 { 913 1074 setVisible(true); 914 1075 } … … 917 1078 * Hides screen. 918 1079 */ 919 public void close() { 1080 public void close() 1081 { 920 1082 setVisible(false); 921 1083 } … … 923 1085 /** 924 1086 * This method is called every second in ScreenManger to update the display 925 * time every second. 926 */ 927 public void handleUpdateTime() { 928 int timerColumn = 13; 929 int unitColumn = 2; 930 for (int i = 0; i < unitStatusTable.getModel().getRowCount(); i++) { 931 try { 932 unitStatusTable.getModel().setValueAt( 933 ScreenManager.theCoordinator.getCadDataUnitValue( 934 (String) unitStatusTable.getModel().getValueAt( 935 i, unitColumn), UNIT_TAGS.TIMER), i, 936 timerColumn); 937 } catch (RemoteException e) { 938 e.printStackTrace(); 939 } 940 } 941 } 942 1087 * time every second. Seems redundant: refreshTable already takes care of 1088 * it. JD 1089 */ 1090 // public void handleUpdateTime() 1091 // { 1092 // int timerColumn = 13; 1093 // int unitColumn = 2; 1094 // for (int i = 0; i < unitStatusTable.getModel().getRowCount(); i++) 1095 // { 1096 // try 1097 // { 1098 // unitStatusTable.getModel().setValueAt( 1099 // ScreenManager.theCoordinator.getCadDataUnitValue( 1100 // (String) unitStatusTable.getModel().getValueAt( 1101 // i, unitColumn), UNIT_TAGS.TIMER), i, 1102 // timerColumn); 1103 // } catch (RemoteException e) 1104 // { 1105 // e.printStackTrace(); 1106 // } 1107 // } 1108 // } 1109 // 1110 // /** 1111 // * Replaces handleUpdateTime 1112 // */ 1113 // public void updateTimeColumn() 1114 // { 1115 // int unitColumn = 2; 1116 // try 1117 // { 1118 // DefaultTableModel dm = ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.UNIT_STATUS); 1119 // int size = dm.getRowCount(); 1120 // for (int i = 0; i < size; i++) 1121 // { 1122 // String cell = (String) dm.getValueAt(i, unitColumn); 1123 // String currTime = ScreenManager.theCoordinator.getCadDataUnitValue(cell, UNIT_TAGS.TIMER); 1124 // } 1125 // } catch (RemoteException e) 1126 // { 1127 // e.printStackTrace(); 1128 // } 1129 // } 943 1130 /** 944 1131 * Removes drag and drop feature/button clicking. 945 1132 */ 946 public void removeDispatcherAuthority() { 1133 public void removeDispatcherAuthority() 1134 { 947 1135 unitStatusTable.setTransferHandler(new TransferHandler("")); 948 1136 buttonEnrt.setEnabled(false); … … 957 1145 buttonOOS.setEnabled(false); 958 1146 } 959 960 1147 } -
trunk/src/tmcsim/simulationmanager/model/LogEntryCellRenderer.java
r2 r59 1 1 package tmcsim.simulationmanager.model; 2 2 3 import java.awt.Color; 3 4 import java.awt.Component; 4 5 import java.util.Enumeration; … … 6 7 import java.util.Iterator; 7 8 import java.util.Map; 8 9 9 import javax.swing.JTable; 10 10 import javax.swing.JTextArea; … … 16 16 /** 17 17 * TableCellRender to display a multi-line cell. 18 * 18 * 19 19 * http://www.roseindia.net/javatutorials/JTable_in_JDK.shtml 20 * 20 21 * @author Dr. Heinz M. Kabutz 21 22 */ 22 23 @SuppressWarnings("serial") 23 24 public class LogEntryCellRenderer extends JTextArea implements 24 TableCellRenderer { 25 26 /** DefaultTableCellRenderer for displaying multi line cells*/ 25 TableCellRenderer 26 { 27 /** 28 * DefaultTableCellRenderer for displaying multi line cells 29 */ 27 30 private final DefaultTableCellRenderer adaptee; 28 29 /** map from table to map of rows to map of column heights */ 31 /** 32 * map from table to map of rows to map of column heights 33 */ 30 34 private final Map<JTable, Map<Integer, Map<Integer, Integer>>> cellSizes; 31 35 32 public LogEntryCellRenderer() { 36 public LogEntryCellRenderer() 37 { 33 38 34 adaptee = new DefaultTableCellRenderer();39 adaptee = new DefaultTableCellRenderer(); 35 40 cellSizes = new HashMap<JTable, Map<Integer, Map<Integer, Integer>>>(); 36 41 37 42 setLineWrap(true); 38 43 setWrapStyleWord(true); … … 40 45 41 46 public Component getTableCellRendererComponent(JTable table, Object obj, 42 boolean isSelected, boolean hasFocus, int row, int column) { 47 boolean isSelected, boolean hasFocus, int row, int column) 48 { 43 49 44 50 // set the colours, etc. using the standard for that platform 45 51 adaptee.getTableCellRendererComponent(table, obj, isSelected, hasFocus, 46 52 row, column); 47 setForeground(adaptee.getForeground()); 48 setBackground(adaptee.getBackground()); 53 // FIXES defect where cell text disappears when selected 54 // TODO: Better would be to make table not selectable 55 // http://stackoverflow.com/questions/8291329/set-all-jtable-cells-unselectable 56 if (isSelected) 57 { 58 setForeground(Color.WHITE); 59 setBackground(Color.GRAY); 60 } 61 else 62 { 63 setForeground(adaptee.getForeground()); 64 setBackground(adaptee.getBackground()); 65 } 49 66 setBorder(adaptee.getBorder()); 50 67 setFont(adaptee.getFont()); … … 57 74 addSize(table, row, column, height_wanted); 58 75 height_wanted = findTotalMaximumRowSize(table, row); 59 if (height_wanted != table.getRowHeight(row)) { 76 if (height_wanted != table.getRowHeight(row)) 77 { 60 78 table.setRowHeight(row, height_wanted); 61 79 } 62 80 63 81 return this; 64 82 } 65 83 66 private void addSize(JTable table, int row, int column, int height) { 84 private void addSize(JTable table, int row, int column, int height) 85 { 67 86 Map<Integer, Map<Integer, Integer>> rows = cellSizes.get(table); 68 if (rows == null) { 87 if (rows == null) 88 { 69 89 cellSizes.put(table, rows = new HashMap<Integer, Map<Integer, Integer>>()); 70 90 } 71 91 72 92 Map<Integer, Integer> rowheights = rows.get(new Integer(row)); 73 if (rowheights == null) { 93 if (rowheights == null) 94 { 74 95 rows.put(new Integer(row), rowheights = new HashMap<Integer, Integer>()); 75 96 } … … 78 99 79 100 /** 80 * Look through all columns and get the renderer. If it is81 * also a TextAreaRenderer, we look at the maximum height in82 * its hash table forthis row.101 * Look through all columns and get the renderer. If it is also a 102 * TextAreaRenderer, we look at the maximum height in its hash table for 103 * this row. 83 104 */ 84 private int findTotalMaximumRowSize(JTable table, int row) { 105 private int findTotalMaximumRowSize(JTable table, int row) 106 { 85 107 int maximum_height = 0; 86 108 Enumeration columns = table.getColumnModel().getColumns(); 87 while (columns.hasMoreElements()) { 109 while (columns.hasMoreElements()) 110 { 88 111 TableColumn tc = (TableColumn) columns.nextElement(); 89 112 TableCellRenderer cellRenderer = tc.getCellRenderer(); 90 if (cellRenderer instanceof LogEntryCellRenderer) { 113 if (cellRenderer instanceof LogEntryCellRenderer) 114 { 91 115 LogEntryCellRenderer tar = (LogEntryCellRenderer) cellRenderer; 92 116 maximum_height = Math.max(maximum_height, tar … … 97 121 } 98 122 99 private int findMaximumRowSize(JTable table, int row) { 123 private int findMaximumRowSize(JTable table, int row) 124 { 100 125 Map<Integer, Map<Integer, Integer>> rows = cellSizes.get(table); 101 126 if (rows == null) 127 { 102 128 return 0; 103 129 } 130 104 131 Map<Integer, Integer> rowheights = rows.get(new Integer(row)); 105 132 if (rowheights == null) 133 { 106 134 return 0; 135 } 107 136 int maximum_height = 0; 108 109 for (Iterator it = rowheights.entrySet().iterator(); it.hasNext();) { 137 138 for (Iterator it = rowheights.entrySet().iterator(); it.hasNext();) 139 { 110 140 Map.Entry entry = (Map.Entry) it.next(); 111 141 int cellHeight = ((Integer) entry.getValue()).intValue();
Note: See TracChangeset
for help on using the changeset viewer.
