Exemplo n.º 1
0
    def __init__(self, dataset, plot_type, plot_title, window_icon, x_title,
                 y_title):
        """
        Constructor
        Args:
            dataset: time series data as pandas data frame
        """
        QMainWindow.__init__(self)
        self.helper = HelpHandler(self)
        self.setupUi(self)
        self.setWindowIcon(window_icon)

        self.actionPrint.setVisible(False)
        self.actionSave.setVisible(False)
        self.actionCopy.setVisible(False)
        self.menuFile.setEnabled(False)
        self.menuFile.setVisible(False)
        self.menuFile.deleteLater()

        self.dataset = dataset
        self.plot_title = plot_title
        self.x_title = x_title
        self.y_title = y_title
        if plot_type == 'time':
            self.plot_type = 'timeseries'
            self.help_topic = "swmm/src/src/timeserieseditordialog.htm"
        elif plot_type == 'xy':
            self.plot_type = 'xy'
            self.help_topic = "swmm/src/src/transecteditordialog.htm"
        elif plot_type == 'step':
            self.plot_type = 'step'
            self.help_topic = ''  # TODO
        # self.plot = CurvePlot(self.fraPlot, width=6, height=2, dpi=100)
        # layout = QVBoxLayout(self.fraPlot)
        # layout.setContentsMargins(0, 0, 0, 0)
        # layout.addWidget(self.plot)
        # self.fraPlot.setLayout(layout)
        self.helper = HelpHandler(self)

        self.Xunits = {}
        self.Yunits = {}
        self.Xlabel = ""
        self.Ylabel = ""
        self.Xunit = ""
        self.Yunit = ""
        self.TXT_OPEN_CURVE_TITLE = 'Open a Curve'
        self.TXT_SAVE_CURVE_TITLE = 'Save Curve As'
        self.TXT_CURVE_FILTER = 'Curve files (*.CRV)|*.CRV|All files|*.*'
        self.xvals = []
        self.yvals = []
        self.btnClose.clicked.connect(self.frm_close)
        self.btnHelp.clicked.connect(self.get_help)
        self.actionOpen.triggered.connect(self.open_datafile)
        self.actionCopy.triggered.connect(self.copy_plot)
        self.actionSave.triggered.connect(self.save_plot)
        self.actionPrint.triggered.connect(self.print_plot)
        # self.installEventFilter(self)
        self.do_plot()
 def __init__(self, main_form):
     QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/viewingastatisticsreport.htm"
     self.helper = HelpHandler(self)
     self.setupUi(self)
     self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
     # self.set_from(parent.project)
     self._main_form = main_form
     self.stats = None
     self.statsResult = None  #UStats.TStatsResults()
Exemplo n.º 3
0
    def __init__(self, main_form, calibrate_against, node_id):
        QtGui.QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "epanet/src/src/Cali0078.htm"
        self.setupUi(self)
        # QtCore.QObject.connect(self.cmdOK, QtCore.SIGNAL("clicked()"), self.cmdOK_Clicked)
        QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                               self.cmdCancel_Clicked)
        # self.set_from(parent.project)   # do after init to set control type CONTROLS or RULES
        self.setWindowTitle('EPANET Calibration Report - ' + calibrate_against)
        self._main_form = main_form

        heading = ' Calibration Statistics for ' + calibrate_against + '\n' \
                + '\n' \
                + '                Num    Observed    Computed    Mean     RMS' + '\n' \
                + '  Location      Obs        Mean        Mean   Error   Error' + '\n' \
                + '  ---------------------------------------------------------' + '\n' \
                + '  11              9        0.64      148.43 147.794 154.996' + '\n' \
                + '  ---------------------------------------------------------' + '\n' \
                + '  Network         9        0.64      148.43 147.794 154.996' + '\n' \
                + '\n' \
                + '  Correlation Between Means: -1.452'

        self.txtStatistics.setReadOnly(True)
        self.txtStatistics.setText(heading)

        # correlation plot tab
        correlation_plot = MyPlot(self.widgetPlot, width=6, height=2, dpi=100)
        self.setParent(self._main_form)
        self.widgetPlot = correlation_plot

        # mean comparisons tab
        mean_plot = MyPlot(self.widgetMean, width=6, height=2, dpi=100)
        self.setParent(self._main_form)
        self.widgetMean = mean_plot
Exemplo n.º 4
0
 def __init__(self, main_form=None):
     QMainWindow.__init__(self, main_form)
     self.setupUi(self)
     self.helper = HelpHandler(self)
     if main_form.model == "SWMM":
         self.help_topic = "swmm/src/src/settingprogrampreferences.htm"
     elif main_form.model == "EPANET":
         self.help_topic = "epanet/src/src/setting_.htm"
     self.local_subcatch_preferences = {}
     self.local_node_preferences = {}
     self.local_link_preferences = {}
     self.cmdOK.clicked.connect(self.cmdOK_Clicked)
     self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
     self._main_form = main_form
     self.set_from(main_form.project)
     self.icon = main_form.windowIcon()
     self.cboSubcatchment.currentIndexChanged.connect(
         self.cboSubcatchment_currentIndexChanged)
     self.cboNode.currentIndexChanged.connect(
         self.cboNode_currentIndexChanged)
     self.cboLink.currentIndexChanged.connect(
         self.cboLink_currentIndexChanged)
     self.spnSubcatchment.valueChanged.connect(
         self.spnSubcatchment_valueChanged)
     self.spnNode.valueChanged.connect(self.spnNode_valueChanged)
     self.spnLink.valueChanged.connect(self.spnLink_valueChanged)
    def __init__(self, session, project):
        QMainWindow.__init__(self, session)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/Submitti.htm"
        self.setupUi(self)
        self.session = session
        self.project = project

        self.selected_objects = {}

        self.model_attributes = {}
        self.model_attributes["subcatchment"] = ["Area", "Width", "% Slope", "% Impervious", "% LID Usage"]
        self.model_attributes["node"] = ["Invert"]
        self.model_attributes["link"] = ["Max. Depth", "Roughness", "% Slope"]
        self.model_attributes["lid"] = ["Any LIDs", "Bio-Retention Cell", "Rain Garden", "Green Roof",
                                   "Infiltration Trench", "Permeable Pavement", "Rain Barrel",
                                   "Rooftop Disconnected", "Vegetative Swale"]
        self.model_attributes["inflow_node"] = ["Direct Inflow", "DW Inflow", "RDII Inflow", "GW Inflow"]

        self.cboFind.currentIndexChanged.connect(self.cboFind_Changed)

        self.cboFind.addItem('Find Subcatchments with')
        self.cboFind.addItem('Find Nodes with')
        self.cboFind.addItem('Find Links with')
        self.cboFind.addItem('Find Subcatchments with LID')
        self.cboFind.addItem('Find Nodes with Inflow')

        self.cboAbove.addItem('Below')
        self.cboAbove.addItem('Equal To')
        self.cboAbove.addItem('Above')

        self.cmdSubmit.clicked.connect(self.cmdSubmit_Clicked)
    def __init__(self, main_form, subcatchment_name):
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/lidgroupeditor.htm"
        self.units = main_form.project.options.flow_units.value
        self.setupUi(self)
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.btnAdd.clicked.connect(self.btnAdd_Clicked)
        self.btnEdit.clicked.connect(self.btnEdit_Clicked)
        self.btnDelete.clicked.connect(self.btnDelete_Clicked)
        self._main_form = main_form
        # set for first subcatchment for now
        self.subcatchment_name = subcatchment_name
        self.set_subcatchment(main_form.project, subcatchment_name)

        if (main_form.program_settings.value("Geometry/" +
                                             "frmLIDControls_geometry")
                and main_form.program_settings.value("Geometry/" +
                                                     "frmLIDControls_state")):
            self.restoreGeometry(
                main_form.program_settings.value("Geometry/" +
                                                 "frmLIDControls_geometry",
                                                 self.geometry(),
                                                 type=QtCore.QByteArray))
            self.restoreState(
                main_form.program_settings.value("Geometry/" +
                                                 "frmLIDControls_state",
                                                 self.windowState(),
                                                 type=QtCore.QByteArray))
Exemplo n.º 7
0
    def __init__(self, main_form, subcatchment_name):
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/groundwater_equation_editor.htm"
        self._main_form = main_form
        self.setupUi(self)
        self.subcatchment_name = subcatchment_name
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.set_from(main_form.project)

        if (main_form.program_settings.value(
                "Geometry/" + "frmGroundwaterEquationDeep_geometry")
                and main_form.program_settings.value(
                    "Geometry/" + "frmGroundwaterEquationDeep_state")):
            self.restoreGeometry(
                main_form.program_settings.value(
                    "Geometry/" + "frmGroundwaterEquationDeep_geometry",
                    self.geometry(),
                    type=QtCore.QByteArray))
            self.restoreState(
                main_form.program_settings.value(
                    "Geometry/" + "frmGroundwaterEquationDeep_state",
                    self.windowState(),
                    type=QtCore.QByteArray))
    def __init__(self, main_form, edit_these, new_item, title):
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/groundwaterfloweditordialog.htm"
        self._main_form = main_form
        self.project = main_form.project
        self.new_item = new_item
        self.refresh_column = -1
        self.setupUi(self)
        self.setWindowTitle(title)
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.backend = PropertyEditorBackend(self.tblGeneric, self.lblNotes,
                                             main_form, edit_these, new_item)

        for column in range(0, self.tblGeneric.columnCount()):
            # for aquifers, show available aquifers
            aquifer_section = main_form.project.find_section("AQUIFERS")
            aquifer_list = aquifer_section.value[0:]
            combobox = QComboBox()
            combobox.addItem('')
            selected_index = 0
            for value in aquifer_list:
                combobox.addItem(value.name)
                if edit_these[column].aquifer == value.name:
                    selected_index = int(combobox.count()) - 1
            combobox.setCurrentIndex(selected_index)
            self.tblGeneric.setCellWidget(1, column, combobox)
            # also set special text plus button cells
            self.set_lateral_equation(column)
            self.set_deep_equation(column)

        self.installEventFilter(self)
Exemplo n.º 9
0
    def __init__(self, session):
        self.session = session
        QMainWindow.__init__(self, session)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/timeseriesplotdialog.htm"
        self.setupUi(self)
        self.rbnDate.clicked.connect(self.rbnDate_Clicked)
        self.rbnElapsed.clicked.connect(self.rbnDate_Clicked)
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.btnAdd.clicked.connect(self.btnAdd_Clicked)
        self.btnRemove.clicked.connect(self.btnRemove_Clicked)
        self.btnSave.clicked.connect(self.save_file)
        self.btnLoad.clicked.connect(self.load_file)
        self.btnScript.clicked.connect(self.save_script)
        self.cboStart.currentIndexChanged.connect(
            self.cboStart_currentIndexChanged)
        self.cboEnd.currentIndexChanged.connect(
            self.cboEnd_currentIndexChanged)

        self._main_form = session
        if (self._main_form.program_settings.value(
                "Geometry/" + "frmTimeSeriesPlot_geometry")
                and self._main_form.program_settings.value(
                    "Geometry/" + "frmTimeSeriesPlot_state")):
            self.restoreGeometry(
                self._main_form.program_settings.value(
                    "Geometry/" + "frmTimeSeriesPlot_geometry",
                    self.geometry(),
                    type=QtCore.QByteArray))
            self.restoreState(
                self._main_form.program_settings.value(
                    "Geometry/" + "frmTimeSeriesPlot_state",
                    self.windowState(),
                    type=QtCore.QByteArray))
 def __init__(self, main_form):
     QtGui.QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "epanet/src/src/Energy_R.htm"
     self.setupUi(self)
     QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                            self.cmdCancel_Clicked)
     QtCore.QObject.connect(self.rbnUtilization, QtCore.SIGNAL("clicked()"),
                            self.rbnUtilization_Clicked)
     QtCore.QObject.connect(self.rbnAverageKw, QtCore.SIGNAL("clicked()"),
                            self.rbnAverageKw_Clicked)
     QtCore.QObject.connect(self.rbnCost, QtCore.SIGNAL("clicked()"),
                            self.rbnCost_Clicked)
     QtCore.QObject.connect(self.rbnEfficiency, QtCore.SIGNAL("clicked()"),
                            self.rbnEfficiency_Clicked)
     QtCore.QObject.connect(self.rbnKwHr, QtCore.SIGNAL("clicked()"),
                            self.rbnKwHr_Clicked)
     QtCore.QObject.connect(self.rbnPeakKw, QtCore.SIGNAL("clicked()"),
                            self.rbnPeakKw_Clicked)
     self._main_form = main_form
     self.labels = []
     self.utilization_values = []
     self.efficiency_values = []
     self.kw_values = []
     self.average_kw_values = []
     self.peak_kw_values = []
     self.cost_values = []
 def __init__(self, main_form=None, *args):
     QDialog.__init__(self)
     self.helper = HelpHandler(self)
     if main_form.model == "SWMM":
         self.help_topic = "swmm/src/src/mapdimensionsdialog.htm"
     elif main_form.model == "EPANET":
         self.help_topic = "epanet/src/src/Map_Dime.htm"
     self.ui = Ui_frmMapDimensionsDesigner()
     self.ui.setupUi(self)
     self.session = main_form
     self.icon = main_form.windowIcon()
     self.map_widget = self.session.map_widget
     self.options = None
     if args is not None and len(args) > 0:
         self.options = args[0]
     self.ui.rdoUnitDegrees.toggled.connect(self.changeLinearMapUnit)
     self.ui.rdoUnitNone.toggled.connect(self.changeLinearMapUnit)
     self.ui.rdoUnitFeet.toggled.connect(self.changeLinearMapUnit)
     self.ui.rdoUnitMeters.toggled.connect(self.changeLinearMapUnit)
     self.ui.txtLLx.textChanged.connect(
         lambda: self.checkCoords(self.ui.txtLLx.text()))
     self.ui.txtLLy.textChanged.connect(
         lambda: self.checkCoords(self.ui.txtLLy.text()))
     self.ui.txtURx.textChanged.connect(
         lambda: self.checkCoords(self.ui.txtURx.text()))
     self.ui.txtURy.textChanged.connect(
         lambda: self.checkCoords(self.ui.txtURy.text()))
     self.ui.btnAutoSize.clicked.connect(self.autoSetMapDimensions)
     self.ui.buttonBox.accepted.connect(self.setExtent)
     self.ui.btnHelp.clicked.connect(self.show_help)
     self.setupOptions()
Exemplo n.º 12
0
    def __init__(self, main_form):
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/viewing_a_summary_report.htm"
        self.setupUi(self)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        # self.set_from(parent.project)   # do after init to set control type CONTROLS or RULES
        self._main_form = main_form
        self.label.setVisible(
            False)  # since sorting seems buggy, take this off for now
        self.tblSummary.setSortingEnabled(False)
        self.cboType.currentIndexChanged.connect(
            self.cboType_currentIndexChanged)
        self.tblSummary.setSortingEnabled(False)

        if (main_form.program_settings.value("Geometry/" +
                                             "frmSummaryReport_geometry") and
                main_form.program_settings.value("Geometry/" +
                                                 "frmSummaryReport_state")):
            self.restoreGeometry(
                main_form.program_settings.value("Geometry/" +
                                                 "frmSummaryReport_geometry",
                                                 self.geometry(),
                                                 type=QtCore.QByteArray))
            self.restoreState(
                main_form.program_settings.value("Geometry/" +
                                                 "frmSummaryReport_state",
                                                 self.windowState(),
                                                 type=QtCore.QByteArray))
Exemplo n.º 13
0
    def get_editor(self, edit_name):
        frm = None
        # First handle special cases where forms need more than simply being created

        if edit_name == self.tree_quality_Pollutants[0]:
            edit_these = []
            if self.project and self.project.pollutants:
                if not isinstance(self.project.pollutants.value, basestring):
                    if isinstance(self.project.pollutants.value, list):
                        edit_these.extend(self.project.pollutants.value)
                if len(edit_these) == 0:
                    new_item = Pollutant()
                    new_item.name = "NewPollutant"
                    edit_these.append(new_item)
                    self.project.pollutants.value = edit_these
            frm = frmGenericPropertyEditor(self, edit_these, "SWMM Pollutant Editor")
            frm.helper = HelpHandler(frm)
            frm.help_topic = "swmm/src/src/pollutanteditordialog.htm"
        elif edit_name in [item[0] for item in self.tree_items_using_id]:
            # in these cases the click on the tree diagram populates the lower left list, not directly to an editor
            return None
        # the following items will respond to a click on a conduit form, not the tree diagram
        # elif edit_name == tree_links_Conduits[0]:
        #     frm = frmCrossSection(self)

        # the following items will respond to a click on a node form, not the tree diagram
        # elif edit_name == "Outfalls" or edit_name == "Dividers" or edit_name == "Storage Units":
        #     frm = frmInflows(self)
        else:  # General-purpose case finds most editors from tree information
            frm = self.make_editor_from_tree(edit_name, self.tree_top_items)

        return frm
Exemplo n.º 14
0
 def make_editor_from_tree(self, search_for, tree_list):
     for tree_item in tree_list:
         if search_for == tree_item[
                 0]:  # If we found a matching tree item, return its editor
             if len(tree_item) > 0 and tree_item[1] and not (type(
                     tree_item[1]) is list):
                 args = [self]
                 if len(tree_item) > 2:
                     # We recommend this is a list, but if not, try to treat it as a single argument
                     if isinstance(tree_item[2],
                                   basestring) or not isinstance(
                                       tree_item[2], list):
                         args.append(str(tree_item[2]))
                     else:  # tree_item[2] is a list that is not a string
                         args.extend(tree_item[2])
                 edit_form = tree_item[1](
                     *args
                 )  # Create editor with first argument self, other args from tree_item
                 edit_form.helper = HelpHandler(edit_form)
                 return edit_form
             return None
         if len(tree_item) > 0 and type(
                 tree_item[1]
         ) is list:  # find whether there is a match in this sub-tree
             edit_form = self.make_editor_from_tree(search_for,
                                                    tree_item[1])
             if edit_form:
                 return edit_form
Exemplo n.º 15
0
    def __init__(self, main_form=None):
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/lidusageeditor.htm"
        self.units = main_form.project.options.flow_units.value
        self.setupUi(self)
        self._main_form = main_form
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.cboLIDControl.currentIndexChanged.connect(self.cboLIDControl_currentIndexChanged)
        self.spxUnits.valueChanged.connect(self.spxUnits_valueChanged)
        self.txtArea.textChanged.connect(self.txtArea_textChanged)
        self.cbxFull.stateChanged.connect(self.cbxFull_stateChanged)
        self.btnFile.clicked.connect(self.btnFile_clicked)
        self.btnClear.clicked.connect(self.btnClear_clicked)
        # self.set_from(parent.parent.project)
        self.subcatchment_name = ''
        self.row_id = -1
        self.project = ''

        if (main_form.program_settings.value("Geometry/" + "frmLIDUsage_geometry") and
                main_form.program_settings.value("Geometry/" + "frmLIDUsage_state")):
            self.restoreGeometry(main_form.program_settings.value("Geometry/" + "frmLIDUsage_geometry",
                                                                  self.geometry(), type=QtCore.QByteArray))
            self.restoreState(main_form.program_settings.value("Geometry/" + "frmLIDUsage_state",
                                                               self.windowState(), type=QtCore.QByteArray))
 def __init__(self, main_form, project, output):
     QtGui.QMainWindow.__init__(self, main_form)
     self.loaded = False
     self.helper = HelpHandler(self)
     self.help_topic = "epanet/src/src/Crea0079.htm"
     self.setupUi(self)
     QtCore.QObject.connect(self.cmdOK, QtCore.SIGNAL("clicked()"),
                            self.cmdOK_Clicked)
     QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                            self.cmdCancel_Clicked)
     QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemClicked(QListWidgetItem *)"), \
                            self.listWidget_clicked)
     self.project = project
     self.output = output
     # limit what shows up in the combo box to only those with calibration data
     self.comboBox.addItems(
         ['Demand', 'Head', 'Pressure', 'Quality', 'Flow', 'Velocity'])
     self._main_form = main_form
     self.listWidget.setSelectionMode(
         QtGui.QAbstractItemView.MultiSelection)
     #self.listWidget.setItemSelected(self.listWidget.item(0),True)
     self.currentECaliType = None
     self.selected_nodes = []
     self.selected_pipes = []
     self.isFlow = None
     self.set_from(project)
     QtCore.QObject.connect(self.comboBox, QtCore.SIGNAL("currentIndexChanged(int)"), \
                            self.comboBox_selChanged)
     self.loaded = True
 def __init__(self, main_form, title, curve_type, edit_these, new_item):
     QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/curveeditordialog.htm"
     self.setupUi(self)
     if title:
         self.setWindowTitle(title)
     self.cboCurveType.clear()
     ui.convenience.set_combo_items(core.swmm.curves.CurveType,
                                    self.cboCurveType)
     self.cmdOK.clicked.connect(self.cmdOK_Clicked)
     self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
     self.btnSave.clicked.connect(self.save_curve_data)
     self.btnLoad.clicked.connect(self.load_curve_data)
     self.btnHelp.clicked.connect(self.show_help)
     self.btnView.clicked.connect(self.btnView_Clicked)
     # self.cboCurveType.clicked.connect(self.cboCurveType_currentIndexChanged)
     self.cboCurveType.currentIndexChanged.connect(
         self.cboCurveType_currentIndexChanged)
     # self.set_from(main_form.project)   # do after init to set curve type
     self._main_form = main_form
     self.curve_type = curve_type
     self.project = main_form.project
     self.section = self.project.curves
     self.X = []
     self.Y = []
     self.new_item = new_item
     if new_item:
         self.set_from(new_item)
     elif edit_these:
         if isinstance(edit_these,
                       list):  # edit first transect if given a list
             self.set_from(edit_these[0])
         else:
             self.set_from(edit_these)
Exemplo n.º 18
0
    def __init__(self, main_form):
        QMainWindow.__init__(self, main_form)
        self._main_form = main_form
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/scatterplotdialog.htm"
        self.setupUi(self)
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.cboStart.currentIndexChanged.connect(
            self.cboStart_currentIndexChanged)
        self.cboEnd.currentIndexChanged.connect(
            self.cboEnd_currentIndexChanged)
        self.cboXCat.currentIndexChanged.connect(
            self.cboXCat_currentIndexChanged)
        self.cboYCat.currentIndexChanged.connect(
            self.cboYCat_currentIndexChanged)

        if (main_form.program_settings.value("Geometry/" +
                                             "frmScatterPlot_geometry")
                and main_form.program_settings.value("Geometry/" +
                                                     "frmScatterPlot_state")):
            self.restoreGeometry(
                main_form.program_settings.value("Geometry/" +
                                                 "frmScatterPlot_geometry",
                                                 self.geometry(),
                                                 type=QtCore.QByteArray))
            self.restoreState(
                main_form.program_settings.value("Geometry/" +
                                                 "frmScatterPlot_state",
                                                 self.windowState(),
                                                 type=QtCore.QByteArray))
    def __init__(self, parent, edit_these, new_item, title, **kwargs):
        QtGui.QMainWindow.__init__(self, parent)
        self.helper = HelpHandler(self)
        option_section = parent.project.find_section('OPTIONS')
        if option_section.infiltration=="HORTON" or option_section.infiltration=="MODIFIED_HORTON":
            self.help_topic = "swmm/src/src/hortoninfiltrationparameters.htm"
        elif option_section.infiltration=="GREEN_AMPT" or option_section.infiltration=="MODIFIED_GREEN_AMPT":
            self.help_topic = "swmm/src/src/green_amptinfiltrationparame.htm"
        elif option_section.infiltration=="CURVE_NUMBER":
            self.help_topic = "swmm/src/src/curvenumberinfiltrationpara.htm"
        self.setupUi(self)
        self.setWindowTitle(title)
        QtCore.QObject.connect(self.cmdOK, QtCore.SIGNAL("clicked()"), self.cmdOK_Clicked)
        QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"), self.cmdCancel_Clicked)
        QtCore.QObject.connect(self.cboInfilModel, QtCore.SIGNAL("currentIndexChanged(int)"),
                               self.cboInfilModel_currentIndexChanged)

        self.defaults = None
        if kwargs.has_key("defaults"):
            self.defaults = kwargs["defaults"]
        enum_val = E_InfilModel.HORTON
        if self.defaults is not None:
            enum_val = E_InfilModel[self.defaults.properties_sub_values[self.defaults.infil_model_key]]
            # self.infil_model = self.qsettings.value(self.default_key, None)
            # if self.infil_model is None:
            #     self.infil_model = HortonInfiltration()
            #     self.infil_model.set_defaults()
            # else:
            #     enum_val = self.infil_model.model_type()
            #     if enum_val == E_InfilModel.HORTON or \
            #        enum_val == E_InfilModel.MODIFIED_HORTON:
            #         self.infil_model_horton.__dict__.update(self.infil_model.__dict__)
            #     elif enum_val == E_InfilModel.GREEN_AMPT or \
            #          enum_val == E_InfilModel.MODIFIED_GREEN_AMPT:
            #         self.infil_model_ga.__dict__.update(self.infil_model.__dict__)
            #     elif enum_val == E_InfilModel.CURVE_NUMBER:
            #         self.infil_model_cn.__dict__.update(self.infil_model.__dict__)

            self.cboInfilModel.setEnabled(True)
            if self.lblNotes:
                self.tblGeneric.currentCellChanged.connect(self.table_currentCellChanged)
            self.tblGeneric.itemChanged.connect(self.table_itemChanged)
            pass
        else:
            self.backend = PropertyEditorBackend(self.tblGeneric, self.lblNotes, parent, edit_these, new_item)
            #self.lblTop.setText("Infiltration Method:  " + parent.project.find_section('OPTIONS').infiltration)
            proj_infilmodel = parent.project.find_section('OPTIONS').infiltration
            enum_val = E_InfilModel[proj_infilmodel.upper()]
            self.cboInfilModel.setEnabled(False)

        set_combo_items(type(enum_val), self.cboInfilModel)
        set_combo(self.cboInfilModel, enum_val)

        self.corner_label = QtGui.QLabel("Property", self.tblGeneric)
        self.corner_label.setAlignment(QtCore.Qt.AlignCenter)
        self.corner_label.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
        QtCore.QObject.connect(self.tblGeneric.verticalHeader(),
                               QtCore.SIGNAL("geometriesChanged()"), self.resizeCorner)
        QtCore.QObject.connect(self.tblGeneric.horizontalHeader(),
                               QtCore.SIGNAL("geometriesChanged()"), self.resizeCorner)
Exemplo n.º 20
0
 def __init__(self, main_form):
     self._main_form = main_form
     QtGui.QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/timeseriesplotdialog.htm"
     self.setupUi(self)
     QtCore.QObject.connect(self.rbnDate, QtCore.SIGNAL("clicked()"),
                            self.rbnDate_Clicked)
     QtCore.QObject.connect(self.rbnElapsed, QtCore.SIGNAL("clicked()"),
                            self.rbnDate_Clicked)
     QtCore.QObject.connect(self.cmdOK, QtCore.SIGNAL("clicked()"),
                            self.cmdOK_Clicked)
     QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                            self.cmdCancel_Clicked)
     QtCore.QObject.connect(self.btnAdd, QtCore.SIGNAL("clicked()"),
                            self.btnAdd_Clicked)
     QtCore.QObject.connect(self.btnRemove, QtCore.SIGNAL("clicked()"),
                            self.btnRemove_Clicked)
     QtCore.QObject.connect(self.btnSave, QtCore.SIGNAL("clicked()"),
                            self.save_file)
     QtCore.QObject.connect(self.btnLoad, QtCore.SIGNAL("clicked()"),
                            self.load_file)
     QtCore.QObject.connect(self.btnScript, QtCore.SIGNAL("clicked()"),
                            self.save_script)
     self.cboStart.currentIndexChanged.connect(
         self.cboStart_currentIndexChanged)
     self.cboEnd.currentIndexChanged.connect(
         self.cboEnd_currentIndexChanged)
    def __init__(self, main_form, subcatchment_name):
        # purposely not calling frmGenericPropertyEditor.__init__
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/initialbuildupeditor.htm"
        self.units = main_form.project.options.flow_units.value
        self.setupUi(self)
        self.subcatchment_name = subcatchment_name
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.setWindowTitle('SWMM Initial Buildup Editor for Subcatchment ' +
                            subcatchment_name)
        self.lblNotes.setText(
            "Enter initial buildup of pollutants on Subcatchment " +
            subcatchment_name)
        self.tblGeneric.setColumnCount(1)
        local_column_list = []
        if self.units < 4:
            local_column_list.append('Initial Buildup (lbs/ac)')
        else:
            local_column_list.append('Initial Buildup (kg/ha)')
        self.tblGeneric.setHorizontalHeaderLabels(local_column_list)
        self.tblGeneric.setColumnWidth(0, 200)
        self.local_pollutant_list = []
        pollutants_section = main_form.project.find_section("POLLUTANTS")
        row_count = 0
        for value in pollutants_section.value:
            row_count += 1
            self.local_pollutant_list.append(value.name)
        self.tblGeneric.setRowCount(row_count)
        self.tblGeneric.setVerticalHeaderLabels(self.local_pollutant_list)
        self.resize(300, 300)
        section = main_form.project.find_section("LOADINGS")
        loadings_list = section.value[0:]
        pollutant_count = -1
        for pollutant in self.local_pollutant_list:
            pollutant_count += 1
            for loading in loadings_list:
                if loading.subcatchment_name == subcatchment_name and loading.pollutant_name == pollutant:
                    led = QLineEdit(str(loading.initial_buildup))
                    self.tblGeneric.setItem(pollutant_count, 0,
                                            QTableWidgetItem(led.text()))
        self._main_form = main_form

        if (main_form.program_settings.value("Geometry/" +
                                             "frmInitialBuildup_geometry") and
                main_form.program_settings.value("Geometry/" +
                                                 "frmInitialBuildup_state")):
            self.restoreGeometry(
                main_form.program_settings.value("Geometry/" +
                                                 "frmInitialBuildup_geometry",
                                                 self.geometry(),
                                                 type=QtCore.QByteArray))
            self.restoreState(
                main_form.program_settings.value("Geometry/" +
                                                 "frmInitialBuildup_state",
                                                 self.windowState(),
                                                 type=QtCore.QByteArray))
 def __init__(self, main_form=None):
     QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/projectmenu.htm"
     self.setupUi(self)
     self._main_form = main_form
     self.lstCategory.clicked.connect(self.display_section)
     self.lstCategory.currentItemChanged.connect(self.display_section)
     self.set_from(main_form.project)
Exemplo n.º 23
0
 def __init__(self, main_form=None):
     QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/projectmenu.htm"
     self.setupUi(self)
     self.cmdOK.clicked.connect(self.cmdOK_Clicked)
     self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
     self.set_from(main_form.project)
     self._main_form = main_form
    def __init__(self, main_form):
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/viewingastatisticsreport.htm"
        self.helper = HelpHandler(self)
        self.setupUi(self)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        # self.set_from(parent.project)
        self._main_form = main_form
        self.stats = None
        self.statsResult = None #UStats.TStatsResults()

        if (main_form.program_settings.value("Geometry/" + "frmStatisticsReport_geometry") and
                main_form.program_settings.value("Geometry/" + "frmStatisticsReport_state")):
            self.restoreGeometry(main_form.program_settings.value("Geometry/" + "frmStatisticsReport_geometry",
                                                                  self.geometry(), type=QtCore.QByteArray))
            self.restoreState(main_form.program_settings.value("Geometry/" + "frmStatisticsReport_state",
                                                               self.windowState(), type=QtCore.QByteArray))
 def __init__(self, main_form):
     QtGui.QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "epanet/src/src/Energy_R.htm"
     self.setupUi(self)
     QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                            self.cmdCancel_Clicked)
     # self.set_from(parent.project)   # do after init to set control type CONTROLS or RULES
     self._main_form = main_form
Exemplo n.º 26
0
 def __init__(self, main_form, subcatchment_name):
     QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/groundwater_equation_editor.htm"
     self._main_form = main_form
     self.setupUi(self)
     self.subcatchment_name = subcatchment_name
     self.cmdOK.clicked.connect(self.cmdOK_Clicked)
     self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
     self.set_from(main_form.project)
 def __init__(self, main_form=None):
     QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "epanet/src/src/Source_Q.htm"
     self.setupUi(self)
     self.cmdOK.clicked.connect(self.cmdOK_Clicked)
     self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
     # self.set_from(parent.project)
     self._main_form = main_form
     self.node_name = ''
Exemplo n.º 28
0
    def __init__(self, main_form, node_name):
        # purposely not calling frmGenericPropertyEditor.__init__
        QMainWindow.__init__(self, main_form)
        self.helper = HelpHandler(self)
        self.help_topic = "swmm/src/src/green_amptinfiltrationparame.htm"
        self.setupUi(self)
        self.node_name = node_name
        self.cmdOK.clicked.connect(self.cmdOK_Clicked)
        self.cmdCancel.clicked.connect(self.cmdCancel_Clicked)
        self.setWindowTitle('Storage Seepage Editor for Node ' + node_name)

        self.section = main_form.project.find_section("STORAGE")
        self.storage_nodes_list = self.section.value[0:]

        self.tblGeneric.horizontalHeader().hide()
        self.tblGeneric.setRowCount(3)
        self.tblGeneric.setColumnCount(1)
        props = []
        props.append('Suction Head')
        props.append('Conductivity')
        props.append('Initial Deficit')
        self.tblGeneric.setVerticalHeaderLabels(props)

        found = False
        for storage_node in self.storage_nodes_list:
            if storage_node.name == node_name:
                found = True
                led = QLineEdit(str(storage_node.seepage_suction_head))
                self.tblGeneric.setItem(-1, 1, QTableWidgetItem(led.text()))
                led = QLineEdit(str(storage_node.seepage_hydraulic_conductivity))
                self.tblGeneric.setItem(0, 1, QTableWidgetItem(led.text()))
                led = QLineEdit(str(storage_node.seepage_initial_moisture_deficit))
                self.tblGeneric.setItem(1, 1, QTableWidgetItem(led.text()))
        if not found:
            led = QLineEdit(str(0))
            self.tblGeneric.setItem(-1, 1, QTableWidgetItem(led.text()))
            led = QLineEdit(str(1))
            self.tblGeneric.setItem(0, 1, QTableWidgetItem(led.text()))
            led = QLineEdit(str(2))
            self.tblGeneric.setItem(1, 1, QTableWidgetItem(led.text()))

        if self.lblNotes:
            self.tblGeneric.currentCellChanged.connect(self.table_currentCellChanged)

        # ## Soil capillary suction head (in or mm)
        # self.seepage_suction_head = '0'
        #
        # ## Soil saturated hydraulic conductivity (in/hr or mm/hr)
        # self.seepage_hydraulic_conductivity = '0'
        #
        # ## Initial soil moisture deficit (volume of voids / total volume)
        # self.seepage_initial_moisture_deficit = '0'

        self.resize(280,300)
        self._main_form = main_form
Exemplo n.º 29
0
 def __init__(self, main_form, subcatchment_name):
     QtGui.QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "swmm/src/src/groundwater_equation_editor.htm"
     self.setupUi(self)
     self.subcatchment_name = subcatchment_name
     QtCore.QObject.connect(self.cmdOK, QtCore.SIGNAL("clicked()"),
                            self.cmdOK_Clicked)
     QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                            self.cmdCancel_Clicked)
     self.set_from(main_form.project)
Exemplo n.º 30
0
 def __init__(self, main_form=None):
     QtGui.QMainWindow.__init__(self, main_form)
     self.helper = HelpHandler(self)
     self.help_topic = "epanet/src/src/Demand_E.htm"
     self.setupUi(self)
     QtCore.QObject.connect(self.cmdOK, QtCore.SIGNAL("clicked()"),
                            self.cmdOK_Clicked)
     QtCore.QObject.connect(self.cmdCancel, QtCore.SIGNAL("clicked()"),
                            self.cmdCancel_Clicked)
     # self.set_from(parent.project)
     self._main_form = main_form
     self.node_id = ''