def __init__(self, q_application): frmMain.__init__(self, q_application) self.model = "SWMM" self.model_path = '' # Set this only if needed later when running model self.output = None # Set this when model output is available self.status_suffix = "_status.txt" self.status_file_name = '' # Set this when model status is available self.output_filename = '' # Set this when model output is available self.project_type = Project # Use the model-specific Project as defined in core.swmm.project self.project = Project() self.assembly_path = os.path.dirname(os.path.abspath(__file__)) self.on_load(tree_top_item_list=self.tree_top_items) HelpHandler.init_class(os.path.join(self.assembly_path, "swmm.qhc")) self.helper = HelpHandler(self) self.help_topic = "swmm/src/src/swmmsmainwindow.htm" self.actionStatus_ReportMenu = QtGui.QAction(self) self.actionStatus_ReportMenu.setObjectName(from_utf8("actionStatus_ReportMenu")) self.actionStatus_ReportMenu.setText(transl8("frmMain", "Status", None)) self.actionStatus_ReportMenu.setToolTip(transl8("frmMain", "Display Simulation Status", None)) self.menuReport.addAction(self.actionStatus_ReportMenu) QtCore.QObject.connect(self.actionStatus_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_status) self.actionSummary_ReportMenu = QtGui.QAction(self) self.actionSummary_ReportMenu.setObjectName(from_utf8("actionSummary_ReportMenu")) self.actionSummary_ReportMenu.setText(transl8("frmMain", "Summary", None)) self.actionSummary_ReportMenu.setToolTip(transl8("frmMain", "Display Results Summary", None)) self.menuReport.addAction(self.actionSummary_ReportMenu) QtCore.QObject.connect(self.actionSummary_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_summary) menu = QtGui.QMenu() submenuGraph = QtGui.QMenu(self.menuReport) submenuGraph.setTitle("Graph") self.menuReport.addMenu(submenuGraph) self.actionGraph_ProfileMenu = QtGui.QAction(self) self.actionGraph_ProfileMenu.setObjectName(from_utf8("actionGraph_ProfileMenu")) self.actionGraph_ProfileMenu.setText(transl8("frmMain", "Profile", None)) self.actionGraph_ProfileMenu.setToolTip(transl8("frmMain", "Display Profile Plot", None)) submenuGraph.addAction(self.actionGraph_ProfileMenu) QtCore.QObject.connect(self.actionGraph_ProfileMenu, QtCore.SIGNAL('triggered()'), self.report_profile) self.actionGraph_TimeSeriesMenu = QtGui.QAction(self) self.actionGraph_TimeSeriesMenu.setObjectName(from_utf8("actionGraph_TimeSeriesMenu")) self.actionGraph_TimeSeriesMenu.setText(transl8("frmMain", "Time Series", None)) self.actionGraph_TimeSeriesMenu.setToolTip(transl8("frmMain", "Display Time Series Plot", None)) submenuGraph.addAction(self.actionGraph_TimeSeriesMenu) QtCore.QObject.connect(self.actionGraph_TimeSeriesMenu, QtCore.SIGNAL('triggered()'), self.report_timeseries) self.actionGraph_ScatterMenu = QtGui.QAction(self) self.actionGraph_ScatterMenu.setObjectName(from_utf8("actionGraph_ScatterMenu")) self.actionGraph_ScatterMenu.setText(transl8("frmMain", "Scatter", None)) self.actionGraph_ScatterMenu.setToolTip(transl8("frmMain", "Display Scatter Plot", None)) submenuGraph.addAction(self.actionGraph_ScatterMenu) QtCore.QObject.connect(self.actionGraph_ScatterMenu, QtCore.SIGNAL('triggered()'), self.report_scatter) self.actionTable_VariableMenu = QtGui.QAction(self) self.actionTable_VariableMenu.setObjectName(from_utf8("actionTable_VariableMenu")) self.actionTable_VariableMenu.setText(transl8("frmMain", "Table", None)) self.actionTable_VariableMenu.setToolTip(transl8("frmMain", "Display Table", None)) self.menuReport.addAction(self.actionTable_VariableMenu) QtCore.QObject.connect(self.actionTable_VariableMenu, QtCore.SIGNAL('triggered()'), self.report_variable) self.actionStatistics_ReportMenu = QtGui.QAction(self) self.actionStatistics_ReportMenu.setObjectName(from_utf8("actionStatistics_ReportMenu")) self.actionStatistics_ReportMenu.setText(transl8("frmMain", "Statistics", None)) self.actionStatistics_ReportMenu.setToolTip(transl8("frmMain", "Display Results Statistics", None)) self.menuReport.addAction(self.actionStatistics_ReportMenu) QtCore.QObject.connect(self.actionStatistics_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_statistics) self.Help_Topics_Menu = QtGui.QAction(self) self.Help_Topics_Menu.setObjectName(from_utf8("Help_Topics_Menu")) self.Help_Topics_Menu.setText(transl8("frmMain", "Help Topics", None)) self.Help_Topics_Menu.setToolTip(transl8("frmMain", "Display Help Topics", None)) self.menuHelp.addAction(self.Help_Topics_Menu) QtCore.QObject.connect(self.Help_Topics_Menu, QtCore.SIGNAL('triggered()'), self.help_topics) self.Help_About_Menu = QtGui.QAction(self) self.Help_About_Menu.setObjectName(from_utf8("Help_About_Menu")) self.Help_About_Menu.setText(transl8("frmMain", "About", None)) self.Help_About_Menu.setToolTip(transl8("frmMain", "About SWMM", None)) self.menuHelp.addAction(self.Help_About_Menu) QtCore.QObject.connect(self.Help_About_Menu, QtCore.SIGNAL('triggered()'), self.help_about)
def __init__(self, q_application): self.model = "EPANET" self.program_settings = QtCore.QSettings(QtCore.QSettings.IniFormat, QtCore.QSettings.UserScope, "EPA", self.model) print("Read program settings from " + self.program_settings.fileName()) self.model_path = '' # Set this only if needed later when running model self.output = None # Set this when model output is available self.status_suffix = "_status.txt" self.status_file_name = '' # Set this when model status is available self.output_filename = '' # Set this when model output is available self.project_type = Project # Use the model-specific Project as defined in core.epanet.project self.project_reader_type = ProjectReader self.project_writer_type = ProjectWriter self.project = Project() self.assembly_path = os.path.dirname(os.path.abspath(__file__)) frmMain.__init__(self, q_application) self.on_load(tree_top_item_list=self.tree_top_items) self.tree_types = { self.tree_Patterns[0]: Pattern, self.tree_Curves[0]: Curve, self.tree_Junctions[0]: Junction, self.tree_Reservoirs[0]: Reservoir, self.tree_Tanks[0]: Tank, self.tree_Pipes[0]: Pipe, self.tree_Pumps[0]: Pump, self.tree_Valves[0]: Valve, self.tree_Labels[0]: Label } self.section_types = { Pattern: "patterns", Curve: "curves", Junction: "junctions", Reservoir: "reservoirs", Tank: "tanks", Pipe: "pipes", Pump: "pumps", Valve: "valves", Label: "labels" } if self.map_widget: # initialize empty model map layers, ready to have model elements added self.model_layers = ModelLayersEPANET(self.map_widget) HelpHandler.init_class(os.path.join(self.assembly_path, "epanet.qhc")) self.help_topic = "" # TODO: specify topic to open when Help key is pressed on main form self.helper = HelpHandler(self) self.actionStdProjSummary.triggered.connect( lambda: self.show_edit_window(self.get_editor("Title/Notes"))) self.actionStatus_ReportMenu = QtGui.QAction(self) self.actionStatus_ReportMenu.setObjectName( from_utf8("actionStatus_ReportMenu")) self.actionStatus_ReportMenu.setText(transl8("frmMain", "Status", None)) self.actionStatus_ReportMenu.setToolTip( transl8("frmMain", "Display Simulation Status", None)) self.menuReport.addAction(self.actionStatus_ReportMenu) QtCore.QObject.connect(self.actionStatus_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_status) self.actionProjStatus.triggered.connect(self.report_status) self.actionEnergy_ReportMenu = QtGui.QAction(self) self.actionEnergy_ReportMenu.setObjectName( from_utf8("actionEnergy_ReportMenu")) self.actionEnergy_ReportMenu.setText(transl8("frmMain", "Energy", None)) self.actionEnergy_ReportMenu.setToolTip( transl8("frmMain", "Display Simulation Energy", None)) self.menuReport.addAction(self.actionEnergy_ReportMenu) QtCore.QObject.connect(self.actionEnergy_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_energy) self.actionCalibration_ReportMenu = QtGui.QAction(self) self.actionCalibration_ReportMenu.setObjectName( from_utf8("actionCalibration_ReportMenu")) self.actionCalibration_ReportMenu.setText( transl8("frmMain", "Calibration", None)) self.actionCalibration_ReportMenu.setToolTip( transl8("frmMain", "Display Simulation Calibration", None)) self.menuReport.addAction(self.actionCalibration_ReportMenu) QtCore.QObject.connect(self.actionCalibration_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_calibration) self.actionReaction_ReportMenu = QtGui.QAction(self) self.actionReaction_ReportMenu.setObjectName( from_utf8("actionReaction_ReportMenu")) self.actionReaction_ReportMenu.setText( transl8("frmMain", "Reaction", None)) self.actionReaction_ReportMenu.setToolTip( transl8("frmMain", "Display Simulation Reaction", None)) self.menuReport.addAction(self.actionReaction_ReportMenu) QtCore.QObject.connect(self.actionReaction_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_reaction) self.actionFull_ReportMenu = QtGui.QAction(self) self.actionFull_ReportMenu.setObjectName( from_utf8("actionFull_ReportMenu")) self.actionFull_ReportMenu.setText(transl8("frmMain", "Full...", None)) self.actionFull_ReportMenu.setToolTip( transl8("frmMain", "Save full report as text file", None)) self.menuReport.addAction(self.actionFull_ReportMenu) QtCore.QObject.connect(self.actionFull_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_full) self.actionGraph_ReportMenu = QtGui.QAction(self) self.actionGraph_ReportMenu.setObjectName( from_utf8("actionGraph_ReportMenu")) self.actionGraph_ReportMenu.setText( transl8("frmMain", "Graph...", None)) self.actionGraph_ReportMenu.setToolTip( transl8("frmMain", "Display graph selection options", None)) self.menuReport.addAction(self.actionGraph_ReportMenu) QtCore.QObject.connect(self.actionGraph_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_graph) self.actionProjPlotTimeseries.triggered.connect(self.report_graph) self.actionProjPlotScatter.triggered.connect(self.report_graph) self.actionProjPlotProfile.triggered.connect(self.report_graph) self.actionTable_ReportMenu = QtGui.QAction(self) self.actionTable_ReportMenu.setObjectName( from_utf8("actionTable_ReportMenu")) self.actionTable_ReportMenu.setText( transl8("frmMain", "Table...", None)) self.actionTable_ReportMenu.setToolTip( transl8("frmMain", "Display table selection options", None)) self.menuReport.addAction(self.actionTable_ReportMenu) QtCore.QObject.connect(self.actionTable_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_table) self.actionProjTableTimeseries.triggered.connect(self.report_table) self.Help_Topics_Menu = QtGui.QAction(self) self.Help_Topics_Menu.setObjectName(from_utf8("Help_Topics_Menu")) self.Help_Topics_Menu.setText(transl8("frmMain", "Help Topics", None)) self.Help_Topics_Menu.setToolTip( transl8("frmMain", "Display Help Topics", None)) self.menuHelp.addAction(self.Help_Topics_Menu) QtCore.QObject.connect(self.Help_Topics_Menu, QtCore.SIGNAL('triggered()'), self.help_topics) self.Help_About_Menu = QtGui.QAction(self) self.Help_About_Menu.setObjectName(from_utf8("Help_About_Menu")) self.Help_About_Menu.setText(transl8("frmMain", "About", None)) self.Help_About_Menu.setToolTip( transl8("frmMain", "About EPANET", None)) self.menuHelp.addAction(self.Help_About_Menu) QtCore.QObject.connect(self.Help_About_Menu, QtCore.SIGNAL('triggered()'), self.help_about) self.cbFlowUnits.clear() self.cbFlowUnits.addItems([ 'Flow Units: CFS', 'Flow Units: GPM', 'Flow Units: MGD', 'Flow Units: IMGD', 'Flow Units: AFD', 'Flow Units: LPS', 'Flow Units: LPM', 'Flow Units: MLD', 'Flow Units: CMH', 'Flow Units: CMD' ]) self.cbFlowUnits.currentIndexChanged.connect( self.cbFlowUnits_currentIndexChanged) self.cbOffset.setVisible(False) if self.map_widget: self.map_widget.applyLegend() self.map_widget.LegendDock.setVisible(False) self.cboMapSubcatchments.setVisible(False) self.lblMapSubcatchments.setVisible(False) self.set_thematic_controls() self.cboMapNodes.currentIndexChanged.connect( self.update_thematic_map) self.cboMapLinks.currentIndexChanged.connect( self.update_thematic_map) self.signalTimeChanged.connect(self.update_thematic_map_time)
def __init__(self, q_application): frmMain.__init__(self, q_application) self.model = "EPANET" self.model_path = '' # Set this only if needed later when running model self.output = None # Set this when model output is available self.status_suffix = "_status.txt" self.status_file_name = '' # Set this when model status is available self.output_filename = '' # Set this when model output is available self.project_type = Project # Use the model-specific Project as defined in core.epanet.project self.project = Project() self.assembly_path = os.path.dirname(os.path.abspath(__file__)) self.on_load(tree_top_item_list=self.tree_top_items) HelpHandler.init_class(os.path.join(self.assembly_path, "epanet.qhc")) self.help_topic = "" # TODO: specify topic to open when Help key is pressed on main form self.helper = HelpHandler(self) self.actionStatus_ReportMenu = QtGui.QAction(self) self.actionStatus_ReportMenu.setObjectName(from_utf8("actionStatus_ReportMenu")) self.actionStatus_ReportMenu.setText(transl8("frmMain", "Status", None)) self.actionStatus_ReportMenu.setToolTip(transl8("frmMain", "Display Simulation Status", None)) self.menuReport.addAction(self.actionStatus_ReportMenu) QtCore.QObject.connect(self.actionStatus_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_status) self.actionEnergy_ReportMenu = QtGui.QAction(self) self.actionEnergy_ReportMenu.setObjectName(from_utf8("actionEnergy_ReportMenu")) self.actionEnergy_ReportMenu.setText(transl8("frmMain", "Energy", None)) self.actionEnergy_ReportMenu.setToolTip(transl8("frmMain", "Display Simulation Energy", None)) self.menuReport.addAction(self.actionEnergy_ReportMenu) QtCore.QObject.connect(self.actionEnergy_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_energy) self.actionCalibration_ReportMenu = QtGui.QAction(self) self.actionCalibration_ReportMenu.setObjectName(from_utf8("actionCalibration_ReportMenu")) self.actionCalibration_ReportMenu.setText(transl8("frmMain", "Calibration", None)) self.actionCalibration_ReportMenu.setToolTip(transl8("frmMain", "Display Simulation Calibration", None)) self.menuReport.addAction(self.actionCalibration_ReportMenu) QtCore.QObject.connect(self.actionCalibration_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_calibration) self.actionReaction_ReportMenu = QtGui.QAction(self) self.actionReaction_ReportMenu.setObjectName(from_utf8("actionReaction_ReportMenu")) self.actionReaction_ReportMenu.setText(transl8("frmMain", "Reaction", None)) self.actionReaction_ReportMenu.setToolTip(transl8("frmMain", "Display Simulation Reaction", None)) self.menuReport.addAction(self.actionReaction_ReportMenu) QtCore.QObject.connect(self.actionReaction_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_reaction) self.actionFull_ReportMenu = QtGui.QAction(self) self.actionFull_ReportMenu.setObjectName(from_utf8("actionFull_ReportMenu")) self.actionFull_ReportMenu.setText(transl8("frmMain", "Full...", None)) self.actionFull_ReportMenu.setToolTip(transl8("frmMain", "Save full report as text file", None)) self.menuReport.addAction(self.actionFull_ReportMenu) QtCore.QObject.connect(self.actionFull_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_full) self.actionGraph_ReportMenu = QtGui.QAction(self) self.actionGraph_ReportMenu.setObjectName(from_utf8("actionGraph_ReportMenu")) self.actionGraph_ReportMenu.setText(transl8("frmMain", "Graph...", None)) self.actionGraph_ReportMenu.setToolTip(transl8("frmMain", "Display graph selection options", None)) self.menuReport.addAction(self.actionGraph_ReportMenu) QtCore.QObject.connect(self.actionGraph_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_graph) self.actionTable_ReportMenu = QtGui.QAction(self) self.actionTable_ReportMenu.setObjectName(from_utf8("actionTable_ReportMenu")) self.actionTable_ReportMenu.setText(transl8("frmMain", "Table...", None)) self.actionTable_ReportMenu.setToolTip(transl8("frmMain", "Display table selection options", None)) self.menuReport.addAction(self.actionTable_ReportMenu) QtCore.QObject.connect(self.actionTable_ReportMenu, QtCore.SIGNAL('triggered()'), self.report_table) self.Help_Topics_Menu = QtGui.QAction(self) self.Help_Topics_Menu.setObjectName(from_utf8("Help_Topics_Menu")) self.Help_Topics_Menu.setText(transl8("frmMain", "Help Topics", None)) self.Help_Topics_Menu.setToolTip(transl8("frmMain", "Display Help Topics", None)) self.menuHelp.addAction(self.Help_Topics_Menu) QtCore.QObject.connect(self.Help_Topics_Menu, QtCore.SIGNAL('triggered()'), self.help_topics) self.Help_About_Menu = QtGui.QAction(self) self.Help_About_Menu.setObjectName(from_utf8("Help_About_Menu")) self.Help_About_Menu.setText(transl8("frmMain", "About", None)) self.Help_About_Menu.setToolTip(transl8("frmMain", "About EPANET", None)) self.menuHelp.addAction(self.Help_About_Menu) QtCore.QObject.connect(self.Help_About_Menu, QtCore.SIGNAL('triggered()'), self.help_about)