예제 #1
0
    def __init__(self, parent=None, host=None, dm=None):
        pg.LayoutWidget.__init__(self, parent)
        self.host = host

        self.dbGui = DatabaseGui.DatabaseGui(
            dm=dm,
            tables={
                'Photostim.events': None,
                'Photostim.sites': None,
                'Photostim.maps': None,
                MapAnalyzer.dbIdentity + '.sites': 'map_sites'
            })
        self.addWidget(self.dbGui)

        self.tree = pg.TreeWidget()
        self.tree.setHeaderHidden(True)
        self.addWidget(self.tree, 1, 0)

        self.loadBtn = QtGui.QPushButton('Load Map')
        self.addWidget(self.loadBtn, 2, 0)
        self.loadBtn.clicked.connect(self.load)

        self.refreshBtn = QtGui.QPushButton('Reload Map List')
        self.addWidget(self.refreshBtn, 3, 0)
        self.refreshBtn.clicked.connect(self.populate)

        self.loadedLabel = QtGui.QLabel("Loaded: [none]")
        self.addWidget(self.loadedLabel, 4, 0)

        self.populate()
예제 #2
0
    def __init__(self):
        QtGui.QSplitter.__init__(self)
        self.setOrientation(QtCore.Qt.Horizontal)
        self.plot = pg.PlotWidget()
        self.addWidget(self.plot)
        self.ctrl = QtGui.QWidget()
        self.addWidget(self.ctrl)
        self.layout = QtGui.QVBoxLayout()
        self.layout.setSpacing(0)
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.ctrl.setLayout(self.layout)

        self.scanList = pg.TreeWidget()
        self.layout.addWidget(self.scanList)

        self.filter = FCEventDetection.EventFilter('eventFilter')
        self.layout.addWidget(self.filter.ctrlWidget())

        self.xCombo = QtGui.QComboBox()
        self.yCombo = QtGui.QComboBox()
        self.layout.addWidget(self.xCombo)
        self.layout.addWidget(self.yCombo)

        self.columns = []
        self.scans = {}  ## maps scan: (scatterPlotItem, treeItem, valid)

        self.xCombo.currentIndexChanged.connect(self.invalidate)
        self.yCombo.currentIndexChanged.connect(self.invalidate)
        self.filter.sigStateChanged.connect(self.invalidate)
        self.scanList.itemChanged.connect(self.itemChanged)
예제 #3
0
    def __init__(self, name, value, config):
        widget = pg.TreeWidget()
        self.columns = OrderedDict([('HS', 0), ('Seal', 1), ('Reporter', 2),
                                    ('Nucleus', 3), ('End Seal', 4),
                                    ('Tube ID', 5)])
        widget.setColumnCount(len(self.columns.values()))
        widget.setHeaderLabels(self.columns.keys())
        [
            widget.setColumnWidth(col, width)
            for col, width in enumerate([50, 50, 70, 50, 50, 80])
        ]
        hs_names = ['HS1', 'HS2', 'HS3', 'HS4', 'HS5', 'HS6', 'HS7', 'HS8']
        self.headstages = OrderedDict(
            (name, PatchSeqMetadata.HeadstageItem([name]))
            for name in hs_names)
        for hs in self.headstages.values():
            hs.setWidgets(self.columns)
            widget.addTopLevelItem(hs)
            hs.widget_group.sigChanged.connect(self.widgetChanged)

        MetadataField.__init__(self, widget, name, value, config)