66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
from PyQt4.QtCore import *
|
|
from PyQt4.QtGui import *
|
|
import PeakGroupBox
|
|
from CustomWidgets import LogFSpinBox
|
|
|
|
class PeakWidget(QGroupBox):
|
|
changedTable = pyqtSignal()
|
|
|
|
def __init__(self, parent=None):
|
|
QGroupBox.__init__(self)
|
|
super(PeakWidget, self).__init__(parent)
|
|
self.ui = PeakGroupBox.Ui_PeakGroupBox()
|
|
# replace eps and tau with LogFSpinBox
|
|
|
|
self.ui.setupUi(self)
|
|
self.ui.doubleSpinBox_1.setParent(None)
|
|
self.ui.doubleSpinBox_1 = LogFSpinBox(self)
|
|
self.ui.gridLayout.addWidget(self.ui.doubleSpinBox_1,1,1)
|
|
self.ui.doubleSpinBox_2.setParent(None)
|
|
self.ui.doubleSpinBox_2 = LogFSpinBox(self)
|
|
self.ui.gridLayout.addWidget(self.ui.doubleSpinBox_2,2,1)
|
|
|
|
self.inputs = [
|
|
self.ui.doubleSpinBox_1,
|
|
self.ui.doubleSpinBox_2,
|
|
self.ui.doubleSpinBox_3,
|
|
self.ui.doubleSpinBox_4
|
|
]
|
|
|
|
for dsb in self.inputs:
|
|
dsb.valueChanged.connect(self.changeValues)
|
|
|
|
self.fixedCheckBoxes = [self.ui.checkBox_1,
|
|
self.ui.checkBox_2,
|
|
self.ui.checkBox_3,
|
|
self.ui.checkBox_4]
|
|
|
|
def changeValues(self):
|
|
self.changedTable.emit()
|
|
|
|
def fixedParameter(self):
|
|
return [0 if cb.isChecked() else 1 for cb in self.fixedCheckBoxes]
|
|
|
|
def setId(self, id):
|
|
self.id = id
|
|
self.setTitle("Peak %i" % id)
|
|
|
|
def setColor(self, color):
|
|
palette = self.palette()
|
|
palette.setColor(QPalette.Foreground, color)
|
|
self.setPalette(palette)
|
|
|
|
def peakParameter(self):
|
|
tmp = [i.value() # selects the number, ignores the status
|
|
for i in self.inputs]
|
|
return tmp
|
|
|
|
def update(self):
|
|
self.changedTable.emit()
|
|
|
|
def updateTable(self, *args):
|
|
#print "updateTable", args
|
|
for i, arg in enumerate(args):
|
|
self.inputs[i].setValue(args[i])
|
|
|