Ejemplo n.º 1
0
    def build(self):
        layout = qt.QVBoxLayout(self)
        layout.setMargin(0)
        layout.setSpacing(0)

        self.calbox = None
        self.calbut = None

        calibration = McaCalControlLine(self)
        self.calbox = calibration.calbox
        self.calbut = calibration.calbut
        self.calinfo = McaCalInfoLine(self)

        if qt.qVersion() < '4.0.0':
            self.calmenu = qt.QPopupMenu()
            self.calmenu.insertItem(QString("Edit"), self.__copysignal)
            self.calmenu.insertItem(QString("Compute"), self.__computesignal)
            self.calmenu.insertSeparator()
            self.calmenu.insertItem(QString("Load"), self.__loadsignal)
            self.calmenu.insertItem(QString("Save"), self.__savesignal)
        else:
            self.calmenu = qt.QMenu()
            self.calmenu.addAction(QString("Edit"), self.__copysignal)
            self.calmenu.addAction(QString("Compute"), self.__computesignal)
            self.calmenu.addSeparator()
            self.calmenu.addAction(QString("Load"), self.__loadsignal)
            self.calmenu.addAction(QString("Save"), self.__savesignal)

        layout.addWidget(calibration)
        layout.addWidget(self.calinfo)

        # ROI
        #roibox = qt.QHGroupBox(self)
        #roibox.setTitle(' ROI ')
        roibox = qt.QWidget(self)
        roiboxlayout = qt.QHBoxLayout(roibox)
        roiboxlayout.setMargin(0)
        roiboxlayout.setSpacing(0)

        #roibox.setAlignment(qt.Qt.AlignHCenter)
        self.roiwidget = McaROIWidget.McaROIWidget(roibox)
        self.roiwidget.fillfromroidict(roilist=self.roilist,
                                       roidict=self.roidict)
        self.fillfromroidict = self.roiwidget.fillfromroidict
        self.addroi = self.roiwidget.addroi

        roiboxlayout.addWidget(self.roiwidget)
        layout.addWidget(roibox)
        if qt.qVersion() > '4.0.0':
            layout.setStretchFactor(roibox, 1)
Ejemplo n.º 2
0
    def _build(self):        
        #self.layout= qt.QVBoxLayout(self)
        if QTVERSION < '4.0.0':
            self.list= qt.QListView(self, "ScanList")
            self.list.setSelectionMode(qt.QListView.Extended)
            self.mainTab = qt.QTabWidget(self)
        else:
            self.splitter = qt.QSplitter(self)
            self.splitter.setOrientation(qt.Qt.Vertical)
            self.list  = qt.QTreeWidget(self.splitter)
            self.list.setSelectionMode(qt.QAbstractItemView.ExtendedSelection)
            self.mainTab = qt.QTabWidget(self.splitter)

        self.cntTable = SpecFileCntTable.SpecFileCntTable()
        self.mcaTable = SpecFileMcaTable.SpecFileMcaTable()

        self.mainTab.addTab(self.cntTable, str("Counters"))
        self.mainTab.addTab(self.mcaTable, str("MCA"))
        if QTVERSION < '4.0.0':
            self.mainTab.setCurrentPage(self.mainTab.indexOf(self.mcaTable))
        else:
            self.mainTab.setCurrentWidget(self.mcaTable)
        autoBox = qt.QWidget(self)
        autoBoxLayout = qt.QHBoxLayout(autoBox)
        autoBoxLayout.setMargin(0)
        autoBoxLayout.setSpacing(0)
        self.autoOffBox = qt.QCheckBox(autoBox)
        self.autoOffBox.setText("Auto OFF")
        self.autoAddBox = qt.QCheckBox(autoBox)
        self.autoAddBox.setText("Auto ADD")
        self.autoReplaceBox = qt.QCheckBox(autoBox)
        self.autoReplaceBox.setText("Auto REPLACE")
            
        if self.autoReplace:
            self.autoAddBox.setChecked(False)
            self.autoReplaceBox.setChecked(True)
        else:
            self.autoAddBox.setChecked(True)
            self.autoReplaceBox.setChecked(False)

        if OBJECT3D:
            self.object3DBox = qt.QCheckBox(autoBox)
            self.object3DBox.setText("3D On")
            autoBoxLayout.addWidget(self.object3DBox)
            self.connect(self.mcaTable,
                         qt.SIGNAL("McaDeviceSelected"),
                         self.mcaDeviceSelected)

        if QTVERSION > '4.0.0':
            self.meshBox = qt.QCheckBox(autoBox)
            self.meshBox.setText("Mesh")
            self.meshBox.setToolTip("Consider selection as a regular mesh")
            autoBoxLayout.addWidget(self.meshBox)


        autoBoxLayout.addWidget(self.autoOffBox)
        autoBoxLayout.addWidget(self.autoAddBox)
        autoBoxLayout.addWidget(self.autoReplaceBox)
        self.forceMcaBox = qt.QCheckBox(autoBox)
        self.forceMcaBox.setText("Force MCA")
        autoBoxLayout.addWidget(self.forceMcaBox)

        if QTVERSION < '4.0.0':
            self.mainLayout.addWidget(self.list)
            self.mainLayout.addWidget(self.mainTab)
        else:
            self.mainLayout.addWidget(self.splitter)
        self.mainLayout.addWidget(autoBox)


        # --- list headers
        if QTVERSION < '4.0.0':
            self.list.addColumn("X")
            self.list.addColumn("S#")
            self.list.addColumn("Command")
            self.list.addColumn("Pts")
            self.list.addColumn("Mca")
            self.list.header().setResizeEnabled(0, 0)
            self.list.header().setResizeEnabled(0, 1)
            self.list.header().setResizeEnabled(1, 2)
            self.list.header().setResizeEnabled(0, 3)
            self.list.header().setResizeEnabled(0, 4)
            self.list.header().setClickEnabled(0,-1)
            self.list.setSorting(-1)

            # --- list selection options
            self.list.setAllColumnsShowFocus(1)

            # --- signal handling
            self.connect(self.list, qt.SIGNAL("selectionChanged()"), self.__selectionChanged)
            self.connect(self.list,
                qt.SIGNAL("contextMenuRequested(QListViewItem *, const QPoint &, int)"),
                self.__contextMenu)
            self.connect(self.list, qt.SIGNAL("doubleClicked(QListViewItem *)"),
                    self.__doubleClicked)
            """
            self.connect(self.cntTable,
                         qt.PYSIGNAL('SpecCntTableSignal'),
                         self._cntSignal)
            """

            # --- context menu
            self.menu= qt.QPopupMenu(self.list)
            idd= self.menu.insertItem("Show scan header")
            self.menu.connectItem(idd, self.__showScanInfo)
        else:
            labels = ["X", "S#", "Command", "Points", "Nb. Mca"]
            ncols  = len(labels)
            self.list.setColumnCount(ncols)
            self.list.setHeaderLabels(labels)
            #size=50
            #self.list.header().resizeSection(0, size)
            #self.list.header().resizeSection(1, size)
            #self.list.header().resizeSection(2, 4 * size)
            #self.list.header().resizeSection(3, size)
            #self.list.header().resizeSection(4, size)

            self.list.header().setStretchLastSection(False)
            if QTVERSION < '4.2.0':
                self.list.header().setResizeMode(0, qt.QHeaderView.Stretch)
                self.list.header().setResizeMode(1, qt.QHeaderView.Stretch)
                self.list.header().setResizeMode(2, qt.QHeaderView.Interactive)
                self.list.header().setResizeMode(3, qt.QHeaderView.Stretch)
                self.list.header().setResizeMode(4, qt.QHeaderView.Stretch)
            else:
                self.list.header().setResizeMode(0, qt.QHeaderView.ResizeToContents)
                self.list.header().setResizeMode(1, qt.QHeaderView.ResizeToContents)
                self.list.header().setResizeMode(2, qt.QHeaderView.Interactive)
                self.list.header().setResizeMode(3, qt.QHeaderView.ResizeToContents)
                self.list.header().setResizeMode(4, qt.QHeaderView.ResizeToContents)

            # --- signal handling
            self.connect(self.list, qt.SIGNAL("itemSelectionChanged()"),
                         self.__selectionChanged)
            self.list.setContextMenuPolicy(qt.Qt.CustomContextMenu)
            self.connect(self.list,
                         qt.SIGNAL("customContextMenuRequested(const QPoint &)"),
                         self.__contextMenu)
            self.connect(self.list,
                         qt.SIGNAL("itemDoubleClicked(QTreeWidgetItem *, int)"),
                         self.__doubleClicked)
            self.connect(self.cntTable,
                         qt.SIGNAL('SpecCntTableSignal'),
                         self._cntSignal)

            if QTVERSION > '4.2.0':
                self.list.setSortingEnabled(False)
                self.connect(self.list.header(),
                             qt.SIGNAL("sectionDoubleClicked(int)"),
                             self.__headerSectionDoubleClicked)
        if OBJECT3D:
            self.connect(self.object3DBox, qt.SIGNAL("clicked()"),
                     self._setObject3DBox)
        if hasattr(self, 'meshBox'):
            self.connect(self.meshBox, qt.SIGNAL("clicked()"),
                     self._setMeshBox)

        self.connect(self.autoOffBox, qt.SIGNAL("clicked()"),
                     self._setAutoOff)
        self.connect(self.autoAddBox, qt.SIGNAL("clicked()"),
                     self._setAutoAdd)
        self.connect(self.autoReplaceBox, qt.SIGNAL("clicked()"),
                     self._setAutoReplace)

        self.connect(self.forceMcaBox,
                     qt.SIGNAL('clicked()'),
                     self._setForcedMca)

        if QTVERSION < '4.0.0':
            self.connect(self.mainTab,
                         qt.SIGNAL('currentChanged(QWidget*)'),
                         self._tabChanged)
        else:
            self.connect(self.mainTab,
                         qt.SIGNAL('currentChanged(int)'),
                         self._tabChanged)

        self.disableMca    = 0 #(type=="scan")
        self.disableScan   = 0 #(type=="mca")

        # --- context menu        
        self.data= None
        self.scans= []
Ejemplo n.º 3
0
    def initMenuBar(self):
        if self.options["MenuFile"]:
            if QTVERSION < '4.0.0':
                self.menuFile = qt.QPopupMenu(self.menuBar())
                idx = self.menuFile.insertItem(self.Icons["fileopen"],
                                               QString("&Open"), self.onOpen,
                                               qt.Qt.CTRL + qt.Qt.Key_O)
                self.menuFile.setWhatsThis(idx, HelpDict["fileopen"])
                idx = self.menuFile.insertItem(self.Icons["filesave"], "&Save",
                                               self.onSave,
                                               qt.Qt.CTRL + qt.Qt.Key_S)
                self.menuFile.setWhatsThis(idx, HelpDict["filesave"])
                self.menuFile.insertItem("Save &as", self.onSaveAs)
                self.menuFile.insertSeparator()
                idx = self.menuFile.insertItem(self.Icons["fileprint"],
                                               "&Print", self.onPrint,
                                               qt.Qt.CTRL + qt.Qt.Key_P)
                self.menuFile.setWhatsThis(idx, HelpDict["fileprint"])
                self.menuFile.insertSeparator()
                self.menuFile.insertItem("&Quit", qt.qApp,
                                         qt.SLOT("closeAllWindows()"),
                                         qt.Qt.CTRL + qt.Qt.Key_Q)
                self.menuBar().insertItem('&File', self.menuFile)
                self.onInitMenuBar(self.menuBar())
            else:
                #self.menubar = qt.QMenuBar(self)
                self.menuFile = qt.QMenu()
                self.menuFile.addAction(self.actionOpen)
                self.menuFile.addAction(self.actionSaveAs)
                self.menuFile.addAction(self.actionSave)
                self.menuFile.addSeparator()
                self.menuFile.addAction(self.actionPrint)
                self.menuFile.addSeparator()
                self.menuFile.addAction(self.actionQuit)
                self.menuFile.setTitle("&File")
                self.menuBar().addMenu(self.menuFile)
                self.onInitMenuBar(self.menuBar())

        if self.options["MenuTools"]:
            if QTVERSION < '4.0.0':
                self.menuTools = qt.QPopupMenu()
                self.menuTools.setCheckable(1)
                self.connect(self.menuTools, qt.SIGNAL("aboutToShow()"),
                             self.menuToolsAboutToShow)
                self.menuBar().insertItem("&Tools", self.menuTools)
            else:
                self.menuTools = qt.QMenu()
                #self.menuTools.setCheckable(1)
                self.connect(self.menuTools, qt.SIGNAL("aboutToShow()"),
                             self.menuToolsAboutToShow)
                self.menuTools.setTitle("&Tools")
                self.menuBar().addMenu(self.menuTools)

        if self.options["MenuWindow"]:
            if QTVERSION < '4.0.0':
                self.menuWindow = qt.QPopupMenu()
                self.menuWindow.setCheckable(1)
                self.connect(self.menuWindow, qt.SIGNAL("aboutToShow()"),
                             self.menuWindowAboutToShow)
                self.menuBar().insertItem("&Window", self.menuWindow)
            else:
                self.menuWindow = qt.QMenu()
                #self.menuWindow.setCheckable(1)
                self.connect(self.menuWindow, qt.SIGNAL("aboutToShow()"),
                             self.menuWindowAboutToShow)
                self.menuWindow.setTitle("&Window")
                self.menuBar().addMenu(self.menuWindow)

        if self.options["MenuHelp"]:
            if QTVERSION < '4.0.0':
                self.menuHelp = qt.QPopupMenu(self)
                self.menuHelp.insertItem("&About", self.onAbout)
                self.menuHelp.insertItem("About &Qt", self.onAboutQt)
                self.menuBar().insertSeparator()
                self.menuBar().insertItem("&Help", self.menuHelp)
            else:
                self.menuHelp = qt.QMenu()
                self.menuHelp.addAction("&About", self.onAbout)
                self.menuHelp.addAction("About &Qt", self.onAboutQt)
                self.menuBar().addSeparator()
                self.menuHelp.setTitle("&Help")
                self.menuBar().addMenu(self.menuHelp)
Ejemplo n.º 4
0
    def initToolBar(self):
        if self.options["FileToolBar"]:
            if QTVERSION < '4.0.0':
                self.fileToolBar = qt.QToolBar(self, "filetoolbar")
                self.fileToolBar.setLabel("File Operations")
                self.onInitFileToolBar(self.fileToolBar)
                fileOpen = qt.QToolButton(self.Icons["fileopen"], "Open",
                                          QString(""), self.onOpen,
                                          self.fileToolBar, "open")
                qt.QWhatsThis.add(fileOpen, HelpDict["fileopen"])
                fileSave = qt.QToolButton(self.Icons["filesave"], "Save As",
                                          QString(""), self.onSaveAs,
                                          self.fileToolBar, "save")
                qt.QWhatsThis.add(fileSave, HelpDict["filesave"])
                filePrint = qt.QToolButton(self.Icons["fileprint"], "Print",
                                           QString(""), self.onPrint,
                                           self.fileToolBar, "print")
                qt.QWhatsThis.add(filePrint, HelpDict["fileprint"])
                self.fileToolBar.addSeparator()
                qt.QWhatsThis.whatsThisButton(self.fileToolBar)
            else:
                self.fileToolBar = self.addToolBar("filetoolbar")
                self.fileToolBar.addAction(self.actionOpen)
                self.fileToolBar.addAction(self.actionSaveAs)
                self.fileToolBar.addAction(self.actionPrint)
                self.fileToolBar.addSeparator()

        self.onInitToolBar()

        if self.options["WinToolBar"]:
            if QTVERSION < '4.0.0':
                self.winToolBar = qt.QToolBar(self, "wintoolbar")
                self.winToolBar.setLabel("Window resize")
                self.onInitWinToolBar(self.winToolBar)
                FullScreen = qt.QToolButton(self.Icons["window_fullscreen"],
                                            "Full Screen", QString(""),
                                            self.windowFullScreen,
                                            self.winToolBar, "fullscreen")
                qt.QWhatsThis.add(FullScreen, HelpDict["fullscreen"])
                self.winToolButton= qt.QToolButton(self.Icons["window_nofullscreen"],\
                                                   "Tile",
                                                   QString(""),
                                                   self.onWinToolAction,
                                                   self.winToolBar, "wintile")
                qt.QWhatsThis.add(self.winToolButton, HelpDict["nofullscreen"])
                self.winToolMenu = qt.QPopupMenu(self.winToolButton)
                self.winToolMenu.setCheckable(1)
                self.winToolMenuText = [
                    "Cascade", "Tile", "Tile Horizontally", "Tile Vertically"
                ]
                self.winToolMenuIndex = []
                for text in self.winToolMenuText:
                    self.winToolMenuIndex.append(
                        self.winToolMenu.insertItem(text, self.onWinToolMenu))

                self.winToolMenu.setItemChecked(self.winToolMenuIndex[1], 1)
                self.winToolMenuAction = self.windowTile

                self.winToolButton.setPopup(self.winToolMenu)
                self.winToolButton.setPopupDelay(0)
            else:
                self.winToolBar = self.addToolBar("wintoolbar")