Exemple #1
0
def update_all(gui):

    # update all collections of widget groups
    dyngui.update_collection(gui.atmos_collection, gui.atmos_list, aux.func_arg(atmos, gui))
    dyngui.update_collection(gui.galactic_collection, gui.galactic_list, aux.func_arg(galactic, gui))
    dyngui.update_collection(gui.mirror_collection, gui.mirror_list, aux.func_arg(mirror, gui))
    dyngui.update_collection(gui.zodiac_collection, gui.zodiac_list, aux.func_arg(zodiac, gui))
    dyngui.update_collection(gui.signal_collection, gui.signal_list, aux.func_arg(signal, gui))
    dyngui.update_tabcollect(gui.compos_collection, gui.compos_tabs, aux.func_arg(compos, gui))

    # update composite tab
    for group in gui.compos_collection:
        dyngui.update_list(group.inputs["n_atmos"].widget, gui.atmos_collection)
        dyngui.update_list(group.inputs["n_galactic"].widget, gui.galactic_collection)
        dyngui.update_list(group.inputs["n_mirror"].widget, gui.mirror_collection)
        dyngui.update_list(group.inputs["n_zodiac"].widget, gui.zodiac_collection)
        dyngui.update_list(group.inputs["signal"].widget, gui.signal_collection)

    # mark that project has been edited since last save
    gui.changed = True
Exemple #2
0
def compos(gui, fields = {"_label" : "", "is_plot" : False,
        "n_atmos" : 0, "n_galactic" : 0, "n_mirror" : 0, "n_zodiac" : 0,
        "o_cib" : False, "o_cmb" : False,
        "signal" : 0, "snr" : "", "specres" : ""}):

    inputs = {}

    # label for composite graph
    label = QtGui.QLineEdit()
    label.setText(str(fields["_label"]))
    conn_update(gui, label, "textChanged(QString)")

    # initialize drop down boxes
    atmos = QtGui.QComboBox()
    dyngui.update_list(atmos, gui.atmos_collection)
    atmos.setCurrentIndex(int(fields["n_atmos"]))
    conn_update(gui, atmos, "currentIndexChanged(int)")

    galactic = QtGui.QComboBox()
    dyngui.update_list(galactic, gui.galactic_collection)
    galactic.setCurrentIndex(int(fields["n_galactic"]))
    conn_update(gui, galactic, "currentIndexChanged(int)")

    mirror = QtGui.QComboBox()
    dyngui.update_list(mirror, gui.mirror_collection)
    mirror.setCurrentIndex(int(fields["n_mirror"]))
    conn_update(gui, mirror, "currentIndexChanged(int)")

    zodiac = QtGui.QComboBox()
    dyngui.update_list(zodiac, gui.zodiac_collection)
    zodiac.setCurrentIndex(int(fields["n_zodiac"]))
    conn_update(gui, zodiac, "currentIndexChanged(int)")

    signal = QtGui.QComboBox()
    dyngui.update_list(signal, gui.signal_collection)
    signal.setCurrentIndex(int(fields["signal"]))
    conn_update(gui, signal, "currentIndexChanged(int)")

    # initialize checkboxes
    cib = QtGui.QCheckBox("Cosmic Infrared Background")
    cib.setCheckState(fields["o_cib"] == "True" and QtCore.Qt.Checked or QtCore.Qt.Unchecked)
    conn_update(gui, cib, "stateChanged(int)")

    cmb = QtGui.QCheckBox("Cosmic Microwave Background")
    cmb.setCheckState(fields["o_cmb"] == "True" and QtCore.Qt.Checked or QtCore.Qt.Unchecked)
    conn_update(gui, cmb, "stateChanged(int)")

    isplot = QtGui.QCheckBox("Plot this data")
    isplot.setCheckState(fields["is_plot"] == "True" and QtCore.Qt.Checked or QtCore.Qt.Unchecked)
    conn_update(gui, isplot, "stateChanged(int)")

    # signal:noise ratio
    snr = QtGui.QLineEdit()
    snr.setText(str(fields["snr"]))
    conn_update(gui, snr, "textChanged(QString)")

    # spectral resolution
    specres = QtGui.QLineEdit()
    specres.setText(str(fields["specres"]))
    conn_update(gui, specres, "textChanged(QString)")

    inputs["_label"] = dyngui.input_obj("Label", label)
    inputs["is_plot"] = dyngui.input_obj("", isplot)
    inputs["n_atmos"] = dyngui.input_obj("Atmosphere", atmos)
    inputs["n_galactic"] = dyngui.input_obj("Galactic", galactic)
    inputs["n_mirror"] = dyngui.input_obj("Mirror", mirror)
    inputs["n_zodiac"] = dyngui.input_obj("Zodiacal", zodiac)
    inputs["o_cib"] = dyngui.input_obj("", cib)
    inputs["o_cmb"] = dyngui.input_obj("", cmb)
    inputs["signal"] = dyngui.input_obj("Signal", signal)
    inputs["snr"] = dyngui.input_obj("Signal:Noise", snr)
    inputs["specres"] = dyngui.input_obj("Resolution", specres)

    # clear all inputs in this set
    def clear():
        inputs["_label"].widget.setText("")
        inputs["is_plot"].widget.setCheckState(QtCore.Qt.Unchecked)
        inputs["n_atmos"].widget.setCurrentIndex(0)
        inputs["n_galactic"].widget.setCurrentIndex(0)
        inputs["n_mirror"].widget.setCurrentIndex(0)
        inputs["n_zodiac"].widget.setCurrentIndex(0)
        inputs["o_cib"].widget.setCheckState(QtCore.Qt.Unchecked)
        inputs["o_cmb"].widget.setCheckState(QtCore.Qt.Unchecked)
        inputs["signal"].widget.setCurrentIndex(0)
        inputs["snr"].widget.setText("")
        inputs["specres"].widget.setText("")
        update_all(gui)

    inputs["z_clear"] = dyngui.input_obj("", QtGui.QPushButton("Clear Fields"))
    QtCore.QObject.connect(inputs["z_clear"].widget, QtCore.SIGNAL("clicked()"), clear)

    # select first item in each input box
    def default():
        if len(inputs["n_atmos"].widget) > 1:
            inputs["n_atmos"].widget.setCurrentIndex(1)
        if len(inputs["n_galactic"].widget) > 1:
            inputs["n_galactic"].widget.setCurrentIndex(1)
        if len(inputs["n_mirror"].widget) > 1:
            inputs["n_mirror"].widget.setCurrentIndex(1)
        if len(inputs["n_zodiac"].widget) > 1:
            inputs["n_zodiac"].widget.setCurrentIndex(1)

        inputs["o_cib"].widget.setCheckState(config.use_cib and QtCore.Qt.Checked or QtCore.Qt.Unchecked)
        inputs["o_cmb"].widget.setCheckState(config.use_cmb and QtCore.Qt.Checked or QtCore.Qt.Unchecked)

        if len(inputs["signal"].widget) > 1:
            inputs["signal"].widget.setCurrentIndex(1)
        inputs["snr"].widget.setText(config.snr) # default signal:noise
        inputs["specres"].widget.setText(config.spec_res) # default spectral resolution
        update_all(gui)

    inputs["z_default"] = dyngui.input_obj("", QtGui.QPushButton("Use Default"))
    QtCore.QObject.connect(inputs["z_default"].widget, QtCore.SIGNAL("clicked()"), default)

    return inputs