예제 #1
0
파일: widgets.py 프로젝트: HaMF/bbfmr
    def __init__(self, parent=None,
                 tdms_file=None,
                 group_label="Data group",
                 channel_labels=["X channel",
                                 "Y channel",
                                 "Z channel",
                                 "Z2 channel",
                                 ]):
        """
        Params
        ======
        twin_z : bool
            Allow to select two Z (data) channels
        group_label : str:
            Label text for group combo box
        channel_labels : list of str
            Label texts for channel combo boxes
        """
        QWidget.__init__(self, parent)
        self.widget_layout = QVBoxLayout()

        self.group_widgets = []
        self.channel_widgets = []
        for i, label_text in enumerate([group_label] + channel_labels):
            label = QLabel(label_text)
            channel_widget = QComboBox()
            channel_widget.addItem(label_text)
            channel_widget.setMinimumWidth(250)
            channel_widget.setDisabled(True)
            
            group_widget = QComboBox()
            group_widget.addItem(label_text)
            group_widget.setMinimumWidth(250)
            group_widget.setDisabled(True)

            layout = QHBoxLayout()
            layout.addWidget(label)
            layout.addWidget(group_widget)
            if i != 0:
                layout.addWidget(channel_widget)
            self.widget_layout.addLayout(layout)

            if i == 0:
                self.group_combo = group_widget
                self.group_combo.currentIndexChanged.connect(self.change_sub_channels)
            else:
                self.group_widgets.append(group_widget)
                self.channel_widgets.append(channel_widget)

                group_widget.currentIndexChanged.connect(self._populate_channels)


        self.setLayout(self.widget_layout)

        self.tdms_file = tdms_file
예제 #2
0
class SessionInfos( QDialog ):
    def __init__(self, parent, appdata):
        super(SessionInfos, self).__init__(parent)
        self.appdata = appdata
        self.setWindowTitle( 'Information for the session' )
        self.setFixedSize(250, 300)

        self.buttonBox = QDialogButtonBox( self )
        self.buttonBox.setOrientation( Qt.Horizontal )
        self.buttonBox.setStandardButtons( QDialogButtonBox.Cancel|QDialogButtonBox.Ok )

        labelcombo = QLabel( 'Breathing Zone:' )
        self.breathzone = QComboBox()
        self.breathzone.addItem( '', '' )
        self.breathzone.addItem( 'Abdominal', 1 )
        self.breathzone.addItem( 'Thoracic', 2 )

        self.breathzone.move(10, 10)

        labelnote = QLabel( 'Note:' )
        self.note = QTextEdit()

        layout = QVBoxLayout()
        layout.addWidget( self.create_SessionType_Group() )
        layout.addWidget( labelcombo )
        layout.addWidget( self.breathzone )
        layout.addWidget( labelnote )
        layout.addWidget( self.note )
        layout.addWidget( self.buttonBox )

        self.setLayout( layout )

        self.buttonBox.accepted.connect( self.accept )
        self.buttonBox.rejected.connect( self.reject )

    # def accept(self):
    #     print "accepted"
    #
    # def reject(self):
    #     pass

    def create_SessionType_Group( self ):
        groupBox = QGroupBox(' Session Type' )
        vbox = QVBoxLayout()
        self.sessiontypes = []
        types = [['Unconscious', 0], ['Mindfull', 1]]
        for t in types:
            self.sessiontypes.append( QRadioButton( t[0] ) )
            vbox.addWidget( self.sessiontypes[-1] )
        self.sessiontypes[0].setChecked(True)
        vbox.addStretch(1)
        groupBox.setLayout(vbox)
        return groupBox