Beispiel #1
0
    def __init__(self):
        super(MainWindow, self).__init__()
        curdir = os.path.dirname(os.path.realpath(__file__))
        uic.loadUi(os.path.join(curdir, 'MainWindow.ui'), self)
        self.dcwires = DCWires()
        self.loadRun(1)
        #self.dcwires.initialize_session()

        #self.run_number.setValue(int(DCWires.runnum))
        #self.run_number.valueChanged.connect(self.run_number.show)

        #if (self.run_number.value.Changed() :
        #print(self.run_number.value())

        ### Explorer Tabs
        self.explorer_tabs = QtGui.QTabWidget()

        TBTab.stateChanged = self.sendTBArray
        DBTab.stateChanged = self.sendDBArray
        STBTab.stateChanged = self.sendSTBArray
        DCRB.stateChanged = self.sendDCRBArray

        self.crate = CrateTab(self)
        self.crate.setMinimumWidth(750)
        self.crate.setMaximumHeight(1000)
        crate_vbox = QtGui.QVBoxLayout(self.crate)
        self.explorer_tabs.addTab(self.crate, 'Crates')

        self.dboard = DBTab()
        self.dboard.setMinimumWidth(750)
        dboard_vbox = QtGui.QVBoxLayout(self.dboard)
        self.explorer_tabs.addTab(self.dboard, 'Distribution Boards')

        self.tboard = TBTab()
        self.tboard.setMinimumWidth(750)
        tboard_vbox = QtGui.QVBoxLayout(self.tboard)
        self.explorer_tabs.addTab(self.tboard, 'Translation Boards')

        self.dcrb = DCRB()
        self.dcrb.setMinimumWidth(750)
        dcrb_vbox = QtGui.QVBoxLayout(self.dcrb)
        self.explorer_tabs.addTab(self.dcrb, 'Drift Chamber Readout Board')

        self.stb = STBTab()
        self.stb.setMinimumWidth(750)
        stb_vbox = QtGui.QVBoxLayout(self.stb)
        self.explorer_tabs.addTab(self.stb, 'Signal Translation Board')

        self.explorer_tabs.setMinimumWidth(750)
        self.explorer_tabs.setSizePolicy(QtGui.QSizePolicy.Fixed,
                                         QtGui.QSizePolicy.Expanding)

        explorer_vbox = QtGui.QVBoxLayout()
        explorer_vbox.addWidget(self.explorer_tabs)
        self.explorer_holder.setLayout(explorer_vbox)

        ### Chooser Sidebar
        #self.sidebar = Sidebar(self.session)
        #sidebar_vbox = QtGui.QVBoxLayout()
        #sidebar_vbox.addWidget(self.sidebar)
        #self.chooser_holder.setLayout(sidebar_vbox)

        ### Wiremap
        self.wiremaps = DCWireStack(self)
        wmap_vbox = QtGui.QVBoxLayout()
        wmap_vbox.addWidget(self.wiremaps)
        self.wiremap_holder.setLayout(wmap_vbox)

        def update_wiremap(sec, data):
            if sec is not None:
                self.wiremaps.setCurrentIndex(sec + 1)
            else:
                self.wiremaps.setCurrentIndex(0)
            self.wiremaps.data = data

        #self.sidebar.post_update = update_wiremap

        for i in [self.dboard, self.tboard, self.dcrb, self.stb]:
            i.currentChanged.connect(
                lambda x: self.wiremaps.setCurrentIndex(x + 1))

        def f(i):
            if (i == 0):
                self.wiremaps.setCurrentIndex(0)
            else:
                self.wiremaps.setCurrentIndex(
                    self.explorer_tabs.currentWidget().currentIndex() + 1)

        self.explorer_tabs.currentChanged.connect(f)
        self.setModeExplorer()
        self.show()
Beispiel #2
0
    def init_ui(self):

        self.superlayer = []
        self.box = []
        self.quad = []
        self.doublet = []
        self.pin = []


        for sec in range(6):
            sector_tab = QtGui.QTabWidget()
            sector_layout = QtGui.QHBoxLayout()
            sector_tab.setLayout(sector_layout)

            self.superlayer.append([])
            self.box.append([])
            self.quad.append([])
            self.doublet.append([])
            self.pin.append([])

            for slyr in range(6):
                superlayer_tab = QtGui.QWidget()
                superlayer_layout = QtGui.QGridLayout()

                # sector/superlayer
                superlayer_button = QtGui.QPushButton('Sector {}, Superlayer {}'.format(sec+1,slyr+1))

                self.superlayer[-1].append(superlayer_button)
                self.box[-1].append([])
                self.quad[-1].append([])
                self.doublet[-1].append([])
                self.pin[-1].append([])

                superlayer_button.setCheckable(True)

                superlayer_layout.addWidget(superlayer_button, 0, 0, 1, 7)

                for b,box_name in enumerate(['Forward','Backward']):

                    # direction/box
                    box_button = QtGui.QPushButton(box_name)

                    box_button.setSizePolicy(QtGui.QSizePolicy.Minimum,
                                             QtGui.QSizePolicy.Preferred)

                    self.box[-1][-1].append(box_button)
                    self.quad[-1][-1].append([])
                    self.doublet[-1][-1].append([])
                    self.pin[-1][-1].append([])

                    box_button.setCheckable(True)

                    superlayer_layout.addWidget(box_button,5*b+1,0,5,1)


                    for q in range(3):

                        # quad
                        quad_button = QtGui.QPushButton('Quad {}'.format(q+1))

                        self.quad[-1][-1][-1].append(quad_button)
                        self.doublet[-1][-1][-1].append([])
                        self.pin[-1][-1][-1].append([])

                        quad_button.setCheckable(True)

                        superlayer_layout.addWidget(quad_button, 5*b+1, q*2+1, 1, 2)

                        for d in range(2):

                            # doublet
                            doublet_button = QtGui.QPushButton('Doublet {}'.format(d+1))

                            self.doublet[-1][-1][-1][-1].append(doublet_button)
                            self.pin[-1][-1][-1][-1].append([])

                            doublet_button.setCheckable(True)

                            superlayer_layout.addWidget(doublet_button, 5*b+2, q*2+d+1)

                            pin_grid_widget = QtGui.QWidget()
                            pin_layout = QtGui.QGridLayout()
                            for pin in range(9):
                                x = pin % 3
                                y = pin // 3

                                # pin
                                pin_button = QtGui.QRadioButton('')

                                self.pin[-1][-1][-1][-1][-1].append(pin_button)

                                pin_button.setCheckable(True)

                                pin_button.setAutoExclusive(False)


                                pin_layout.setContentsMargins(9,9,9,0)
                                pin_layout.addWidget(pin_button,y,x)
                            pin_grid_widget.setLayout(pin_layout)
                            superlayer_layout.addWidget(pin_grid_widget, 5*b+3, q*2+d+1)

                superlayer_layout.setRowStretch(11,1)
                superlayer_layout.setColumnStretch(7,1)

                sector_tab.addTab(superlayer_tab, 'Superlayer {}'.format(slyr+1))
                superlayer_tab.setLayout(superlayer_layout)
            self.addTab(sector_tab, 'Sector {}'.format(sec+1))
            '''