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
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