예제 #1
0
class applyFIR2PresetsDialog(QDialog):
    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.prm = parent.prm
        self.currLocale = self.parent().prm['data']['currentLocale']
        self.currLocale.setNumberOptions(self.currLocale.OmitGroupSeparator | self.currLocale.RejectGroupSeparator)
        vbl = QVBoxLayout()
        self.grid = QGridLayout()

        
        filterTypeLabel = QLabel(self.tr('Filter Type: '))
        self.filterChooser = QComboBox()
        self.filterChooser.addItems([self.tr('lowpass'), self.tr('highpass'), self.tr('bandpass'), self.tr('bandstop')])
        self.filterChooser.setCurrentIndex(0)
        self.grid.addWidget(self.filterChooser, 0, 1)
        self.filterChooser.currentIndexChanged[int].connect(self.onChangeFilterType)
        self.filterOrderLabel = QLabel(self.tr('Filter Order: '))
        self.filterOrderWidget = QLineEdit('256')
        self.filterOrderWidget.setValidator(QIntValidator(self))
        self.grid.addWidget(self.filterOrderLabel, 0, 2)
        self.grid.addWidget(self.filterOrderWidget, 0, 3)

        self.currFilterType = self.tr('lowpass')
        self.cutoffLabel = QLabel(self.tr('Cutoff: '))
        self.endCutoffLabel = QLabel(self.tr('End Transition Band = Cutoff *'))
        self.cutoffWidget = QLineEdit('')
        self.cutoffWidget.setValidator(QDoubleValidator(self))
        endCutoff = 1.2
        self.endCutoffWidget = QLineEdit(self.currLocale.toString(endCutoff))
        self.endCutoffWidget.setValidator(QDoubleValidator(self))
        self.grid.addWidget(self.cutoffLabel, 2, 1)
        self.grid.addWidget(self.cutoffWidget, 2, 2)
        self.grid.addWidget(self.endCutoffLabel, 2, 3)
        self.grid.addWidget(self.endCutoffWidget, 2, 4)

       
        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok|
                                     QDialogButtonBox.Cancel)
        buttonBox.accepted.connect(self.accept)
        buttonBox.rejected.connect(self.reject)

        vbl.addLayout(self.grid)
        vbl.addWidget(buttonBox)
        self.setLayout(vbl)
        self.setWindowTitle(self.tr("Apply Filter"))

   
    def onChangeFilterType(self):
        prevFilterType = self.currFilterType
        self.currFilterType = str(self.filterChooser.currentText())
        if self.currFilterType != prevFilterType:
            if prevFilterType == self.tr('lowpass'):
                self.grid.removeWidget(self.cutoffLabel)
                #self.cutoffLabel.setParent(None)
                self.cutoffLabel.deleteLater()
                self.grid.removeWidget(self.endCutoffLabel)
                #self.endCutoffLabel.setParent(None)
                self.endCutoffLabel.deleteLater()
                self.grid.removeWidget(self.cutoffWidget)
                #self.cutoffWidget.setParent(None)
                self.cutoffWidget.deleteLater()
                self.grid.removeWidget(self.endCutoffWidget)
                #self.endCutoffWidget.setParent(None)
                self.endCutoffWidget.deleteLater()

            elif prevFilterType == self.tr('highpass'):
                self.grid.removeWidget(self.cutoffLabel)
                #self.cutoffLabel.setParent(None)
                self.cutoffLabel.deleteLater()
                self.grid.removeWidget(self.startCutoffLabel)
                #self.startCutoffLabel.setParent(None)
                self.startCutoffLabel.deleteLater()
                self.grid.removeWidget(self.cutoffWidget)
                #self.cutoffWidget.setParent(None)
                self.cutoffWidget.deleteLater()
                self.grid.removeWidget(self.startCutoffWidget)
                #self.startCutoffWidget.setParent(None)
                self.startCutoffWidget.deleteLater()
            elif prevFilterType == self.tr('bandpass') or prevFilterType == self.tr('bandstop'):
                self.grid.removeWidget(self.lowerCutoffLabel)
                #self.lowerCutoffLabel.setParent(None)
                self.lowerCutoffLabel.deleteLater()
                self.grid.removeWidget(self.startCutoffLabel)
                #self.startCutoffLabel.setParent(None)
                self.startCutoffLabel.deleteLater()
                self.grid.removeWidget(self.lowerCutoffWidget)
                #self.lowerCutoffWidget.setParent(None)
                self.lowerCutoffWidget.deleteLater()
                self.grid.removeWidget(self.startCutoffWidget)
                #self.startCutoffWidget.setParent(None)
                self.startCutoffWidget.deleteLater()
                
                self.grid.removeWidget(self.higherCutoffLabel)
                #self.higherCutoffLabel.setParent(None)
                self.higherCutoffLabel.deleteLater()
                self.grid.removeWidget(self.endCutoffLabel)
                #self.endCutoffLabel.setParent(None)
                self.endCutoffLabel.deleteLater()
                self.grid.removeWidget(self.higherCutoffWidget)
                #self.higherCutoffWidget.setParent(None)
                self.higherCutoffWidget.deleteLater()
                self.grid.removeWidget(self.endCutoffWidget)
                #self.endCutoffWidget.setParent(None)
                self.endCutoffWidget.deleteLater()
                
            if self.currFilterType == self.tr('lowpass'):
                self.cutoffLabel = QLabel(self.tr('Cutoff: '))
                self.endCutoffLabel = QLabel(self.tr('End Transition Band = Cutoff *'))
                self.cutoffWidget = QLineEdit('')
                self.cutoffWidget.setValidator(QDoubleValidator(self))
                endCutoff = 1.2
                self.endCutoffWidget = QLineEdit(self.currLocale.toString(endCutoff))
                self.endCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.cutoffLabel, 2, 1)
                self.grid.addWidget(self.cutoffWidget, 2, 2)
                self.grid.addWidget(self.endCutoffLabel, 2, 3)
                self.grid.addWidget(self.endCutoffWidget, 2, 4)
            elif self.currFilterType == self.tr('highpass'):
                self.cutoffLabel = QLabel(self.tr('Cutoff: '))
                self.startCutoffLabel = QLabel(self.tr('Start Transition Band = Cutoff *'))
                self.cutoffWidget = QLineEdit('')
                self.cutoffWidget.setValidator(QDoubleValidator(self))
                startCutoff = 0.8
                self.startCutoffWidget = QLineEdit(self.currLocale.toString(startCutoff)) 
                self.startCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.cutoffLabel, 2, 1)
                self.grid.addWidget(self.cutoffWidget, 2, 2)
                self.grid.addWidget(self.startCutoffLabel, 2, 3)
                self.grid.addWidget(self.startCutoffWidget, 2, 4)
            elif self.currFilterType == self.tr('bandpass'):
                self.lowerCutoffLabel = QLabel(self.tr('Lower Cutoff: '))
                self.startCutoffLabel = QLabel(self.tr('Start Transition Band = Cutoff *'))
                self.lowerCutoffWidget = QLineEdit('')
                self.lowerCutoffWidget.setValidator(QDoubleValidator(self))
                startCutoff = 0.8
                self.startCutoffWidget = QLineEdit(self.currLocale.toString(startCutoff)) 
                self.startCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.lowerCutoffLabel, 2, 1)
                self.grid.addWidget(self.lowerCutoffWidget, 2, 2)
                self.grid.addWidget(self.startCutoffLabel, 2, 3)
                self.grid.addWidget(self.startCutoffWidget, 2, 4)
                
                self.higherCutoffLabel = QLabel(self.tr('Higher Cutoff: '))
                self.endCutoffLabel = QLabel(self.tr('End Transition Band = Cutoff *'))
                self.higherCutoffWidget = QLineEdit('')
                self.higherCutoffWidget.setValidator(QDoubleValidator(self))
                endCutoff = 1.2
                self.endCutoffWidget = QLineEdit(self.currLocale.toString(endCutoff)) 
                self.endCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.higherCutoffLabel, 3, 1)
                self.grid.addWidget(self.higherCutoffWidget, 3, 2)
                self.grid.addWidget(self.endCutoffLabel, 3, 3)
                self.grid.addWidget(self.endCutoffWidget, 3, 4)
            elif self.currFilterType == self.tr('bandstop'):
                self.lowerCutoffLabel = QLabel(self.tr('Lower Cutoff: '))
                self.endCutoffLabel = QLabel(self.tr('End Transition Band = Cutoff *'))
                self.lowerCutoffWidget = QLineEdit('')
                self.lowerCutoffWidget.setValidator(QDoubleValidator(self))
                endCutoff = 1.2
                self.endCutoffWidget = QLineEdit(self.currLocale.toString(endCutoff)) 
                self.endCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.lowerCutoffLabel, 2, 1)
                self.grid.addWidget(self.lowerCutoffWidget, 2, 2)
                self.grid.addWidget(self.endCutoffLabel, 2, 3)
                self.grid.addWidget(self.endCutoffWidget, 2, 4)
                
                self.higherCutoffLabel = QLabel(self.tr('Higher Cutoff: '))
                self.startCutoffLabel = QLabel(self.tr('Start Transition Band = Cutoff *'))
                self.higherCutoffWidget = QLineEdit('')
                self.higherCutoffWidget.setValidator(QDoubleValidator(self))
                startCutoff = 0.8
                self.startCutoffWidget = QLineEdit(self.currLocale.toString(startCutoff)) 
                self.startCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.higherCutoffLabel, 3, 1)
                self.grid.addWidget(self.higherCutoffWidget, 3, 2)
                self.grid.addWidget(self.startCutoffLabel, 3, 3)
                self.grid.addWidget(self.startCutoffWidget, 3, 4)
예제 #2
0
class applyFIR2PresetsDialog(QDialog):
    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.prm = parent.prm
        self.currLocale = self.parent().prm['data']['currentLocale']
        self.currLocale.setNumberOptions(
            self.currLocale.OmitGroupSeparator
            | self.currLocale.RejectGroupSeparator)
        vbl = QVBoxLayout()
        self.grid = QGridLayout()

        filterTypeLabel = QLabel(self.tr('Filter Type: '))
        self.filterChooser = QComboBox()
        self.filterChooser.addItems([
            self.tr('lowpass'),
            self.tr('highpass'),
            self.tr('bandpass'),
            self.tr('bandstop')
        ])
        self.filterChooser.setCurrentIndex(0)
        self.grid.addWidget(self.filterChooser, 0, 1)
        self.filterChooser.currentIndexChanged[int].connect(
            self.onChangeFilterType)
        self.filterOrderLabel = QLabel(self.tr('Filter Order: '))
        self.filterOrderWidget = QLineEdit('256')
        self.filterOrderWidget.setValidator(QIntValidator(self))
        self.grid.addWidget(self.filterOrderLabel, 0, 2)
        self.grid.addWidget(self.filterOrderWidget, 0, 3)

        self.currFilterType = self.tr('lowpass')
        self.cutoffLabel = QLabel(self.tr('Cutoff: '))
        self.endCutoffLabel = QLabel(self.tr('End Transition Band = Cutoff *'))
        self.cutoffWidget = QLineEdit('')
        self.cutoffWidget.setValidator(QDoubleValidator(self))
        endCutoff = 1.2
        self.endCutoffWidget = QLineEdit(self.currLocale.toString(endCutoff))
        self.endCutoffWidget.setValidator(QDoubleValidator(self))
        self.grid.addWidget(self.cutoffLabel, 2, 1)
        self.grid.addWidget(self.cutoffWidget, 2, 2)
        self.grid.addWidget(self.endCutoffLabel, 2, 3)
        self.grid.addWidget(self.endCutoffWidget, 2, 4)

        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok
                                     | QDialogButtonBox.Cancel)
        buttonBox.accepted.connect(self.accept)
        buttonBox.rejected.connect(self.reject)

        vbl.addLayout(self.grid)
        vbl.addWidget(buttonBox)
        self.setLayout(vbl)
        self.setWindowTitle(self.tr("Apply Filter"))

    def onChangeFilterType(self):
        prevFilterType = self.currFilterType
        self.currFilterType = str(self.filterChooser.currentText())
        if self.currFilterType != prevFilterType:
            if prevFilterType == self.tr('lowpass'):
                self.grid.removeWidget(self.cutoffLabel)
                #self.cutoffLabel.setParent(None)
                self.cutoffLabel.deleteLater()
                self.grid.removeWidget(self.endCutoffLabel)
                #self.endCutoffLabel.setParent(None)
                self.endCutoffLabel.deleteLater()
                self.grid.removeWidget(self.cutoffWidget)
                #self.cutoffWidget.setParent(None)
                self.cutoffWidget.deleteLater()
                self.grid.removeWidget(self.endCutoffWidget)
                #self.endCutoffWidget.setParent(None)
                self.endCutoffWidget.deleteLater()

            elif prevFilterType == self.tr('highpass'):
                self.grid.removeWidget(self.cutoffLabel)
                #self.cutoffLabel.setParent(None)
                self.cutoffLabel.deleteLater()
                self.grid.removeWidget(self.startCutoffLabel)
                #self.startCutoffLabel.setParent(None)
                self.startCutoffLabel.deleteLater()
                self.grid.removeWidget(self.cutoffWidget)
                #self.cutoffWidget.setParent(None)
                self.cutoffWidget.deleteLater()
                self.grid.removeWidget(self.startCutoffWidget)
                #self.startCutoffWidget.setParent(None)
                self.startCutoffWidget.deleteLater()
            elif prevFilterType == self.tr(
                    'bandpass') or prevFilterType == self.tr('bandstop'):
                self.grid.removeWidget(self.lowerCutoffLabel)
                #self.lowerCutoffLabel.setParent(None)
                self.lowerCutoffLabel.deleteLater()
                self.grid.removeWidget(self.startCutoffLabel)
                #self.startCutoffLabel.setParent(None)
                self.startCutoffLabel.deleteLater()
                self.grid.removeWidget(self.lowerCutoffWidget)
                #self.lowerCutoffWidget.setParent(None)
                self.lowerCutoffWidget.deleteLater()
                self.grid.removeWidget(self.startCutoffWidget)
                #self.startCutoffWidget.setParent(None)
                self.startCutoffWidget.deleteLater()

                self.grid.removeWidget(self.higherCutoffLabel)
                #self.higherCutoffLabel.setParent(None)
                self.higherCutoffLabel.deleteLater()
                self.grid.removeWidget(self.endCutoffLabel)
                #self.endCutoffLabel.setParent(None)
                self.endCutoffLabel.deleteLater()
                self.grid.removeWidget(self.higherCutoffWidget)
                #self.higherCutoffWidget.setParent(None)
                self.higherCutoffWidget.deleteLater()
                self.grid.removeWidget(self.endCutoffWidget)
                #self.endCutoffWidget.setParent(None)
                self.endCutoffWidget.deleteLater()

            if self.currFilterType == self.tr('lowpass'):
                self.cutoffLabel = QLabel(self.tr('Cutoff: '))
                self.endCutoffLabel = QLabel(
                    self.tr('End Transition Band = Cutoff *'))
                self.cutoffWidget = QLineEdit('')
                self.cutoffWidget.setValidator(QDoubleValidator(self))
                endCutoff = 1.2
                self.endCutoffWidget = QLineEdit(
                    self.currLocale.toString(endCutoff))
                self.endCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.cutoffLabel, 2, 1)
                self.grid.addWidget(self.cutoffWidget, 2, 2)
                self.grid.addWidget(self.endCutoffLabel, 2, 3)
                self.grid.addWidget(self.endCutoffWidget, 2, 4)
            elif self.currFilterType == self.tr('highpass'):
                self.cutoffLabel = QLabel(self.tr('Cutoff: '))
                self.startCutoffLabel = QLabel(
                    self.tr('Start Transition Band = Cutoff *'))
                self.cutoffWidget = QLineEdit('')
                self.cutoffWidget.setValidator(QDoubleValidator(self))
                startCutoff = 0.8
                self.startCutoffWidget = QLineEdit(
                    self.currLocale.toString(startCutoff))
                self.startCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.cutoffLabel, 2, 1)
                self.grid.addWidget(self.cutoffWidget, 2, 2)
                self.grid.addWidget(self.startCutoffLabel, 2, 3)
                self.grid.addWidget(self.startCutoffWidget, 2, 4)
            elif self.currFilterType == self.tr('bandpass'):
                self.lowerCutoffLabel = QLabel(self.tr('Lower Cutoff: '))
                self.startCutoffLabel = QLabel(
                    self.tr('Start Transition Band = Cutoff *'))
                self.lowerCutoffWidget = QLineEdit('')
                self.lowerCutoffWidget.setValidator(QDoubleValidator(self))
                startCutoff = 0.8
                self.startCutoffWidget = QLineEdit(
                    self.currLocale.toString(startCutoff))
                self.startCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.lowerCutoffLabel, 2, 1)
                self.grid.addWidget(self.lowerCutoffWidget, 2, 2)
                self.grid.addWidget(self.startCutoffLabel, 2, 3)
                self.grid.addWidget(self.startCutoffWidget, 2, 4)

                self.higherCutoffLabel = QLabel(self.tr('Higher Cutoff: '))
                self.endCutoffLabel = QLabel(
                    self.tr('End Transition Band = Cutoff *'))
                self.higherCutoffWidget = QLineEdit('')
                self.higherCutoffWidget.setValidator(QDoubleValidator(self))
                endCutoff = 1.2
                self.endCutoffWidget = QLineEdit(
                    self.currLocale.toString(endCutoff))
                self.endCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.higherCutoffLabel, 3, 1)
                self.grid.addWidget(self.higherCutoffWidget, 3, 2)
                self.grid.addWidget(self.endCutoffLabel, 3, 3)
                self.grid.addWidget(self.endCutoffWidget, 3, 4)
            elif self.currFilterType == self.tr('bandstop'):
                self.lowerCutoffLabel = QLabel(self.tr('Lower Cutoff: '))
                self.endCutoffLabel = QLabel(
                    self.tr('End Transition Band = Cutoff *'))
                self.lowerCutoffWidget = QLineEdit('')
                self.lowerCutoffWidget.setValidator(QDoubleValidator(self))
                endCutoff = 1.2
                self.endCutoffWidget = QLineEdit(
                    self.currLocale.toString(endCutoff))
                self.endCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.lowerCutoffLabel, 2, 1)
                self.grid.addWidget(self.lowerCutoffWidget, 2, 2)
                self.grid.addWidget(self.endCutoffLabel, 2, 3)
                self.grid.addWidget(self.endCutoffWidget, 2, 4)

                self.higherCutoffLabel = QLabel(self.tr('Higher Cutoff: '))
                self.startCutoffLabel = QLabel(
                    self.tr('Start Transition Band = Cutoff *'))
                self.higherCutoffWidget = QLineEdit('')
                self.higherCutoffWidget.setValidator(QDoubleValidator(self))
                startCutoff = 0.8
                self.startCutoffWidget = QLineEdit(
                    self.currLocale.toString(startCutoff))
                self.startCutoffWidget.setValidator(QDoubleValidator(self))
                self.grid.addWidget(self.higherCutoffLabel, 3, 1)
                self.grid.addWidget(self.higherCutoffWidget, 3, 2)
                self.grid.addWidget(self.startCutoffLabel, 3, 3)
                self.grid.addWidget(self.startCutoffWidget, 3, 4)