/// <summary> /// Responds to Window closing events; closes the window and marks it closed /// in StateMod_GUIUtil. </summary> /// <param name="e"> the WindowEvent that happened. </param> public virtual void windowClosing(WindowEvent e) { saveCurrentRecord(); int size = __riverNetworkNodesVector.Count; StateMod_RiverNetworkNode r = null; bool changed = false; for (int i = 0; i < size; i++) { r = (StateMod_RiverNetworkNode)__riverNetworkNodesVector[i]; if (!changed && r.changed()) { changed = true; } r.acceptChanges(); } if (changed) { __dataset.setDirty(StateMod_DataSet.COMP_RIVER_NETWORK, true); } if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_RIVER_NETWORK); } else { JGUIUtil.close(this); } }
/// <summary> /// Closes the window. /// </summary> protected internal virtual void closeWindow() { if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_QUERY_TOOL); } else { JGUIUtil.close(this); } }
/// <summary> /// Responds to Window closing events; closes the window and marks it closed /// in StateMod_GUIUtil. </summary> /// <param name="e"> the WindowEvent that happened. </param> public virtual void windowClosing(WindowEvent e) { if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_RUN_REPORT); } else { JGUIUtil.close(this); } }
/// <summary> /// Closes the window, using the data set window manager to handle all the closing operations. /// </summary> protected internal virtual void closeWindow() { if (__something_changed) { new ResponseJDialog(this, "Response File Contents", "Changing file names here will not actually save files.\n" + "Use the File...Save menu to save files, which will reflect data and file name changes.", ResponseJDialog.OK); } if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_RESPONSE); } else { JGUIUtil.close(this); } }
/// <summary> /// Closes the window. /// </summary> private void closeWindow() { if (checkInput() <= 0) { saveDelayTable(); __worksheetR.deselectAll(); } else { return; } int size = __delaysVector.Count; StateMod_DelayTable dt = null; bool changed = false; for (int i = 0; i < size; i++) { dt = (StateMod_DelayTable)__delaysVector[i]; if (!changed && dt.changed()) { changed = true; } dt.acceptChanges(); } if (changed) { __dataset.setDirty(__componentType, true); } if (__dataset_wm != null) { __dataset_wm.closeWindow(__window_type); } else { JGUIUtil.close(this); } }
/// <summary> /// Responds to action performed events. </summary> /// <param name="e"> the ActionEvent that happened. </param> public virtual void actionPerformed(ActionEvent e) { string routine = "StateMod_RunReport_JFrame.actionPerformed"; string action = e.getActionCommand(); if (action.Equals(__BUTTON_RUN_REPORT)) { JRadioButton cb = getSelectedJRadioButton(); if (cb == null) { return; } StringBuilder sb = new StringBuilder("-report "); sb.Append(cb.getText()); // now check if station id is needed; if so, append it if (cb == __xdgJRadioButton) { sb.Append(" -"); sb.Append(StringUtil.getToken(__xdgSimpleJComboBox.getSelected(), " ", 0, 0)); } else if (cb == __xrgJRadioButton) { sb.Append(" -"); sb.Append(StringUtil.getToken(__xrgSimpleJComboBox.getSelected(), " ", 0, 0)); } else if (cb == __xwgJRadioButton) { sb.Append(" -"); sb.Append(StringUtil.getToken(__xwgSimpleJComboBox.getSelected(), " ", 0, 0)); } string s = sb.ToString(); try { // Run the report using the process manager dialog. // Pass in the main GUI class so that the modal process // manager dialog is on top of that window. Message.printStatus(1, routine, "Running statemod " + "with command line options: '" + sb + "'"); StateMod_Util.runStateMod(__dataset, s, true, __dataset_wm.getWindow(StateMod_DataSet_WindowManager.WINDOW_MAIN)); } catch (Exception) { Message.printWarning(1, routine, "There was an error running: \n" + s, this); } } else if (action.Equals(__BUTTON_CANCEL)) { if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_RUN_REPORT); } else { JGUIUtil.close(this); } } else if (action.Equals(__BUTTON_HELP)) { // REVISIT HELP (JTS - 2003-08-21) } }
/// <summary> /// Responds to action performed events. </summary> /// <param name="e"> the ActionEvent that happened. </param> public virtual void actionPerformed(ActionEvent e) { string routine = "StateMod_RiverNetworkNode_JFrame.actionPerformed"; if (Message.isDebugOn) { Message.printDebug(1, routine, "In actionPerformed: " + e.getActionCommand()); } object source = e.getSource(); if (source == __closeJButton) { saveCurrentRecord(); int size = __riverNetworkNodesVector.Count; StateMod_RiverNetworkNode r = null; bool changed = false; for (int i = 0; i < size; i++) { r = __riverNetworkNodesVector[i]; if (!changed && r.changed()) { changed = true; } r.acceptChanges(); } if (changed) { __dataset.setDirty(StateMod_DataSet.COMP_RIVER_NETWORK, true); } if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_RIVER_NETWORK); } else { JGUIUtil.close(this); } } else if (source == __applyJButton) { saveCurrentRecord(); int size = __riverNetworkNodesVector.Count; StateMod_RiverNetworkNode r = null; bool changed = false; for (int i = 0; i < size; i++) { r = __riverNetworkNodesVector[i]; if (!changed && r.changed()) { changed = true; } r.createBackup(); } if (changed) { __dataset.setDirty(StateMod_DataSet.COMP_RIVER_NETWORK, true); } } else if (source == __cancelJButton) { int size = __riverNetworkNodesVector.Count; StateMod_RiverNetworkNode r = null; for (int i = 0; i < size; i++) { r = __riverNetworkNodesVector[i]; r.restoreOriginal(); } if (__dataset_wm != null) { __dataset_wm.closeWindow(StateMod_DataSet_WindowManager.WINDOW_RIVER_NETWORK); } else { JGUIUtil.close(this); } } else if (source == __helpJButton) { // REVISIT HELP (JTS - 2003-08-18) } else if (source == __searchIDJRadioButton) { __searchName.setEditable(false); __searchID.setEditable(true); } else if (source == __searchNameJRadioButton) { __searchName.setEditable(true); __searchID.setEditable(false); } else if (source == __showOnMap_JButton) { GeoRecord geoRecord = getSelectedRiverNetworkNode().getGeoRecord(); GRShape shape = geoRecord.getShape(); __dataset_wm.showOnMap(getSelectedRiverNetworkNode(), "Node: " + getSelectedRiverNetworkNode().getID() + " - " + getSelectedRiverNetworkNode().getName(), new GRLimits(shape.xmin, shape.ymin, shape.xmax, shape.ymax), geoRecord.getLayer().getProjection()); } else if (source == __showOnNetwork_JButton) { StateMod_Network_JFrame networkEditor = __dataset_wm.getNetworkEditor(); if (networkEditor != null) { HydrologyNode node = networkEditor.getNetworkJComponent().findNode(getSelectedRiverNetworkNode().getID(), false, false); if (node != null) { __dataset_wm.showOnNetwork(getSelectedRiverNetworkNode(), "Node: " + getSelectedRiverNetworkNode().getID() + " - " + getSelectedRiverNetworkNode().getName(), new GRLimits(node.getX(), node.getY(), node.getX(), node.getY())); } } } else if (source == __findNext) { searchWorksheet(__worksheet.getSelectedRow() + 1); } else if (source == __searchID || source == __searchName) { searchWorksheet(0); } }
/// <summary> /// Responds to action performed events. </summary> /// <param name="e"> the ActionEvent that happened. </param> public virtual void actionPerformed(ActionEvent e) { string routine = "StateMod_DelayTable_JFrame" + ".actionPerformed"; if (Message.isDebugOn) { Message.printDebug(1, routine, "In actionPerformed: " + e.getActionCommand()); } string action = e.getActionCommand(); if (action.Equals(__BUTTON_HELP)) { // REVISIT HELP (JTS - 2003-06-09) } else if (action.Equals(__BUTTON_CLOSE)) { closeWindow(); } else if (action.Equals(__BUTTON_APPLY)) { saveDelayTable(); int size = __delaysVector.Count; StateMod_DelayTable dt = null; bool changed = false; for (int i = 0; i < size; i++) { dt = (StateMod_DelayTable)__delaysVector[i]; if (!changed && dt.changed()) { changed = true; } dt.createBackup(); } if (changed) { __dataset.setDirty(__componentType, true); } } else if (action.Equals(__BUTTON_CANCEL)) { __worksheetR.deselectAll(); int size = __delaysVector.Count; StateMod_DelayTable dt = null; bool changed = false; for (int i = 0; i < size; i++) { dt = (StateMod_DelayTable)__delaysVector[i]; if (!changed && dt.changed()) { changed = true; } dt.restoreOriginal(); } if (__dataset_wm != null) { __dataset_wm.closeWindow(__window_type); } else { JGUIUtil.close(this); } } else if (action.Equals(__BUTTON_ADD_RETURN)) { int row = __worksheetR.getSelectedRow(); int total_num_rows = __worksheetR.getRowCount() - 1; if (row == -1) { row = total_num_rows; } if (row != -1) { if (row == total_num_rows) { int x = new ResponseJDialog(this, "Insert row", "Do you wish to add a new row above " + "the last row?\n" + "uniquetempvar.response(); if (x == ResponseJDialog.CANCEL) { return; } else if (x == ResponseJDialog.NO) { row += 1; } } __worksheetR.insertRowAt(new double?(0), row); __worksheetR.scrollToRow(row); __worksheetR.selectRow(row); } else { __worksheetR.addRow(new double?(0)); __worksheetR.scrollToRow(0); __worksheetR.selectRow(0); } __deleteReturn.setEnabled(true); } else if (action.Equals(__BUTTON_DELETE_RETURN)) { int row = __worksheetR.getSelectedRow(); if (row != -1) { int x = (new ResponseJDialog(this, "Delete Return", "Delete return?", ResponseJDialog.YES | ResponseJDialog.NO)).response(); if (x == ResponseJDialog.NO) { return; } //StateMod_DelayTable dt = (StateMod_DelayTable) //__worksheetL.getRowData( //__worksheetL.getSelectedRow()); __worksheetR.deleteRow(row); __deleteReturn.setEnabled(false); } else { Message.printWarning(1, routine, "Must select desired right to delete."); } } else if (e.getSource() == __findNextDelay) { searchLeftWorksheet(__worksheetL.getSelectedRow() + 1); } else if (e.getSource() == __searchID) { searchLeftWorksheet(); } else { if (__worksheetL.getSelectedRow() == -1) { new ResponseJDialog(this, "You must first select a delay from the list.", ResponseJDialog.OK); return; } else if (e.getSource() == __graphDelayJButton) { try { __worksheetR.deselectAll(); int index = __worksheetL.getSelectedRow(); if (index == -1) { return; } StateMod_DelayTable currentDelay = ((StateMod_DelayTable) __delaysVector[index]); int j; DateTime date; TSIdent tsident = new TSIdent(); tsident.setLocation(currentDelay.getID()); tsident.setSource("StateMod"); if (__monthly_data) { tsident.setInterval("Month"); } else { tsident.setInterval("Day"); } tsident.setType("Delay"); DateTime date1 = null; DateTime date2 = null; int interval_base; if (__monthly_data) { date1 = new DateTime(DateTime.PRECISION_MONTH); date2 = new DateTime(DateTime.PRECISION_MONTH); interval_base = TimeInterval.MONTH; } else { date1 = new DateTime(DateTime.PRECISION_DAY); date2 = new DateTime(DateTime.PRECISION_DAY); interval_base = TimeInterval.DAY; } date1.setMonth(1); date1.setYear(1); date2.setMonth(1); date2.setYear(1); date2.addInterval(interval_base, (currentDelay.getNdly() - 1)); TS ts = null; if (__monthly_data) { ts = new MonthTS(); } else { ts = new DayTS(); } ts.setDate1(date1); ts.setDate2(date2); ts.setIdentifier(tsident); if (__monthly_data) { ts.setDescription(ts.getLocation() + " Monthly Delay Table"); } else { ts.setDescription(ts.getLocation() + " Daily Delay Table"); } ts.setDataType("Delay"); ts.setDataUnits(currentDelay.getUnits()); ts.allocateDataSpace(); double max = 0.0; for (date = new DateTime(date1), j = 0; date.lessThanOrEqualTo(date2); date.addInterval(interval_base, 1), j++) { ts.setDataValue(date, currentDelay.getRet_val(j)); if (currentDelay.getRet_val(j) > max) { max = currentDelay.getRet_val(j); } } IList<TS> tslist = new List<TS>(); tslist.Add(ts); PropList graphProps = new PropList("TSView"); // If dealing with small values, use a high // of precision... if (max < 1.0) { graphProps.set("YAxisPrecision","6"); graphProps.set("OutputPrecision","6"); } else { graphProps.set("YAxisPrecision","3"); graphProps.set("OutputPrecision","3"); } graphProps.set("InitialView", "Graph"); graphProps.set("TotalWidth", "600"); graphProps.set("TotalHeight", "400"); if (__monthly_data) { graphProps.set("Title", ts.getLocation() + " Monthly Delay Table"); } else { graphProps.set("Title", ts.getLocation() + " Daily Delay Table"); } graphProps.set("DisplayFont", "Courier"); graphProps.set("DisplaySize", "11"); graphProps.set("PrintFont", "Courier"); graphProps.set("PrintSize", "7"); graphProps.set("PageLength", "100"); new TSViewJFrame(tslist, graphProps); } catch (Exception) { Message.printWarning(1, routine, "Unable to graph delay. "); } } } }