def initIcons(self): self.Icons = {} for (name, icon) in IconDict.items(): pixmap = qt.QPixmap(icon) if QTVERSION < '4.0.0': self.Icons[name] = qt.QIconSet(pixmap) else: self.Icons[name] = qt.QIcon(pixmap)
def _buildToolBar(self, selection=False, colormap=False, imageicons=False, standalonesave=True, standalonezoom=True, profileselection=False): if QTVERSION < '4.0.0': if qt.qVersion() < '3.0': self.colormapIcon = qt.QIconSet( qt.QPixmap(IconDict["colormap16"])) else: self.colormapIcon = qt.QIconSet( qt.QPixmap(IconDict["colormap"])) self.selectionIcon = qt.QIconSet(qt.QPixmap(IconDict["normal"])) self.zoomResetIcon = qt.QIconSet(qt.QPixmap(IconDict["zoomreset"])) self.printIcon = qt.QIconSet(qt.QPixmap(IconDict["fileprint"])) self.saveIcon = qt.QIconSet(qt.QPixmap(IconDict["filesave"])) self.xAutoIcon = qt.QIconSet(qt.QPixmap(IconDict["xauto"])) self.yAutoIcon = qt.QIconSet(qt.QPixmap(IconDict["yauto"])) self.imageIcon = qt.QIconSet(qt.QPixmap(IconDict["image"])) self.eraseSelectionIcon = qt.QIconSet( qt.QPixmap(IconDict["eraseselect"])) self.rectSelectionIcon = qt.QIconSet( qt.QPixmap(IconDict["boxselect"])) self.brushSelectionIcon = qt.QIconSet( qt.QPixmap(IconDict["brushselect"])) self.brushIcon = qt.QIconSet(qt.QPixmap(IconDict["brush"])) self.hFlipIcon = qt.QIconSet( qt.QPixmap(IconDict["gioconda16mirror"])) else: self.colormapIcon = qt.QIcon(qt.QPixmap(IconDict["colormap"])) self.selectionIcon = qt.QIcon(qt.QPixmap(IconDict["normal"])) self.zoomResetIcon = qt.QIcon(qt.QPixmap(IconDict["zoomreset"])) self.printIcon = qt.QIcon(qt.QPixmap(IconDict["fileprint"])) self.saveIcon = qt.QIcon(qt.QPixmap(IconDict["filesave"])) self.xAutoIcon = qt.QIcon(qt.QPixmap(IconDict["xauto"])) self.yAutoIcon = qt.QIcon(qt.QPixmap(IconDict["yauto"])) self.hFlipIcon = qt.QIcon(qt.QPixmap(IconDict["gioconda16mirror"])) self.imageIcon = qt.QIcon(qt.QPixmap(IconDict["image"])) self.eraseSelectionIcon = qt.QIcon( qt.QPixmap(IconDict["eraseselect"])) self.rectSelectionIcon = qt.QIcon(qt.QPixmap( IconDict["boxselect"])) self.brushSelectionIcon = qt.QIcon( qt.QPixmap(IconDict["brushselect"])) self.brushIcon = qt.QIcon(qt.QPixmap(IconDict["brush"])) self.additionalIcon = qt.QIcon( qt.QPixmap(IconDict["additionalselect"])) self.hLineIcon = qt.QIcon(qt.QPixmap(IconDict["horizontal"])) self.vLineIcon = qt.QIcon(qt.QPixmap(IconDict["vertical"])) self.lineIcon = qt.QIcon(qt.QPixmap(IconDict["diagonal"])) self.toolBar = qt.QWidget(self) self.toolBarLayout = qt.QHBoxLayout(self.toolBar) self.toolBarLayout.setMargin(0) self.toolBarLayout.setSpacing(0) self.mainLayout.addWidget(self.toolBar) #Autoscale if standalonezoom: tb = self._addToolButton(self.zoomResetIcon, self._zoomReset, 'Auto-Scale the Graph') else: tb = self._addToolButton(self.zoomResetIcon, None, 'Auto-Scale the Graph') self.zoomResetToolButton = tb #y Autoscale tb = self._addToolButton(self.yAutoIcon, self._yAutoScaleToggle, 'Toggle Autoscale Y Axis (On/Off)', toggle=True, state=True) if qt.qVersion() < '4.0.0': tb.setState(qt.QButton.On) else: tb.setDown(True) self.yAutoScaleToolButton = tb tb.setDown(True) #x Autoscale tb = self._addToolButton(self.xAutoIcon, self._xAutoScaleToggle, 'Toggle Autoscale X Axis (On/Off)', toggle=True, state=True) self.xAutoScaleToolButton = tb tb.setDown(True) #colormap if colormap: tb = self._addToolButton(self.colormapIcon, None, 'Change Colormap') self.colormapToolButton = tb #flip tb = self._addToolButton(self.hFlipIcon, None, 'Flip Horizontal') self.hFlipToolButton = tb #save if standalonesave: tb = self._addToolButton(self.saveIcon, self._saveIconSignal, 'Save Graph') else: tb = self._addToolButton(self.saveIcon, None, 'Save') self.saveToolButton = tb #Selection if selection: tb = self._addToolButton(self.selectionIcon, None, 'Toggle Selection Mode', toggle=True, state=False) if qt.qVersion() < '4.0.0': tb.setState(qt.QButton.Off) else: tb.setDown(False) self.selectionToolButton = tb #image selection icons if imageicons: tb = self._addToolButton(self.imageIcon, None, 'Reset') self.imageToolButton = tb tb = self._addToolButton(self.eraseSelectionIcon, None, 'Erase Selection') self.eraseSelectionToolButton = tb tb = self._addToolButton(self.rectSelectionIcon, None, 'Rectangular Selection') self.rectSelectionToolButton = tb tb = self._addToolButton(self.brushSelectionIcon, None, 'Brush Selection') self.brushSelectionToolButton = tb tb = self._addToolButton(self.brushIcon, None, 'Select Brush') self.brushToolButton = tb if QTVERSION > '4.0.0': tb = self._addToolButton(self.additionalIcon, None, 'Additional Selections Menu') self.additionalSelectionToolButton = tb else: self.imageToolButton = None #picker selection self._pickerSelectionButtons = [] if profileselection: self._profileSelection = True self._polygonSelection = False self._pickerSelectionButtons = [] if self._profileSelection: tb = self._addToolButton(self.hLineIcon, self._hLineProfileClicked, 'Horizontal Profile Selection', toggle=True, state=False) self.hLineProfileButton = tb self._pickerSelectionButtons.append(tb) tb = self._addToolButton(self.vLineIcon, self._vLineProfileClicked, 'Vertical Profile Selection', toggle=True, state=False) self.vLineProfileButton = tb self._pickerSelectionButtons.append(tb) tb = self._addToolButton(self.lineIcon, self._lineProfileClicked, 'Line Profile Selection', toggle=True, state=False) self.lineProfileButton = tb self._pickerSelectionButtons.append(tb) self._pickerSelectionWidthLabel = qt.QLabel(self.toolBar) self._pickerSelectionWidthLabel.setText("W:") self.toolBar.layout().addWidget( self._pickerSelectionWidthLabel) self._pickerSelectionWidthValue = qt.QSpinBox(self.toolBar) self._pickerSelectionWidthValue.setMinimum(1) self._pickerSelectionWidthValue.setMaximum(1000) self.toolBar.layout().addWidget( self._pickerSelectionWidthValue) #tb = self._addToolButton(None, # self._lineProfileClicked, # 'Line Profile Selection', # toggle=True, # state=False) #tb.setText = "W:" #self.lineWidthProfileButton = tb #self._pickerSelectionButtons.append(tb) if self._polygonSelection: print("Polygon selection not implemented yet") #hide profile selection buttons if imageicons: for button in self._pickerSelectionButtons: button.hide() self.infoWidget = qt.QWidget(self.toolBar) self.infoWidget.mainLayout = qt.QHBoxLayout(self.infoWidget) self.infoWidget.mainLayout.setMargin(0) self.infoWidget.mainLayout.setSpacing(0) self.infoWidget.label = qt.QLabel(self.infoWidget) self.infoWidget.label.setText("X = ???? Y = ???? Z = ????") self.infoWidget.mainLayout.addWidget(self.infoWidget.label) self.toolBarLayout.addWidget(self.infoWidget) self.infoWidget.hide() self.toolBarLayout.addWidget(qt.HorizontalSpacer(self.toolBar)) # ---print tb = self._addToolButton(self.printIcon, self.printGraph, 'Prints the Graph')
def __init__(self, parent=None, filetypelist=None): qt.QWidget.__init__(self, parent) self.mainLayout= qt.QVBoxLayout(self) self.mainLayout.setMargin(0) self.mainLayout.setSpacing(0) if filetypelist is None: self.fileTypeList = ["Spec Files (*mca)", "Spec Files (*dat)", "Spec Files (*spec)", "SPE Files (*SPE)", "EDF Files (*edf)", "EDF Files (*ccd)", "CSV Files (*csv)", "All Files (*)"] else: self.fileTypeList = filetypelist self.lastFileFilter = self.fileTypeList[0] # --- file combo/open/close self.lastInputDir = PyMcaDirs.inputDir self.fileWidget= qt.QWidget(self) fileWidgetLayout= qt.QHBoxLayout(self.fileWidget) fileWidgetLayout.setMargin(0) fileWidgetLayout.setSpacing(0) self.fileCombo = qt.QComboBox(self.fileWidget) self.fileCombo.setEditable(0) self.mapCombo= {} openButton= qt.QToolButton(self.fileWidget) if QTVERSION < '4.0.0': self.openIcon= qt.QIconSet(qt.QPixmap(icons.fileopen)) self.closeIcon= qt.QIconSet(qt.QPixmap(icons.fileclose)) self.specIcon= qt.QIconSet(qt.QPixmap(icons.spec)) self.reloadIcon = qt.QIconSet(qt.QPixmap(icons.reload)) openButton.setIconSet(self.openIcon) openButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) closeButton= qt.QToolButton(self.fileWidget) closeButton.setIconSet(self.closeIcon) specButton= qt.QToolButton(self.fileWidget) specButton.setIconSet(self.specIcon) refreshButton= qt.QToolButton(self.fileWidget) refreshButton.setIconSet(self.reloadIcon) else: self.openIcon = qt.QIcon(qt.QPixmap(icons.fileopen)) self.closeIcon = qt.QIcon(qt.QPixmap(icons.fileclose)) self.reloadIcon = qt.QIcon(qt.QPixmap(icons.reload)) self.specIcon = qt.QIcon(qt.QPixmap(icons.spec)) openButton.setIcon(self.openIcon) openButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) openButton.setToolTip("Open new file data source") closeButton= qt.QToolButton(self.fileWidget) closeButton.setIcon(self.closeIcon) closeButton.setToolTip("Close current data source") refreshButton= qt.QToolButton(self.fileWidget) refreshButton.setIcon(self.reloadIcon) refreshButton.setToolTip("Refresh data source") specButton= qt.QToolButton(self.fileWidget) specButton.setIcon(self.specIcon) specButton.setToolTip("Open new shared memory source") closeButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) specButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) refreshButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) self.connect(openButton, qt.SIGNAL("clicked()"), self._openFileSlot) self.connect(closeButton, qt.SIGNAL("clicked()"), self.closeFile) self.connect(refreshButton, qt.SIGNAL("clicked()"), self._reload) self.connect(specButton, qt.SIGNAL("clicked()"), self.openSpec) self.connect(self.fileCombo, qt.SIGNAL("activated(const QString &)"), self._fileSelection) fileWidgetLayout.addWidget(self.fileCombo) fileWidgetLayout.addWidget(openButton) fileWidgetLayout.addWidget(closeButton) fileWidgetLayout.addWidget(specButton) if sys.platform == "win32":specButton.hide() fileWidgetLayout.addWidget(refreshButton) self.specButton = specButton self.mainLayout.addWidget(self.fileWidget)
def _initIcons(self): if QTVERSION < '4.0.0': self.normalIcon = qt.QIconSet(qt.QPixmap(IconDict["normal"])) self.zoomIcon = qt.QIconSet(qt.QPixmap(IconDict["zoom"])) self.roiIcon = qt.QIconSet(qt.QPixmap(IconDict["roi"])) self.peakIcon = qt.QIconSet(qt.QPixmap(IconDict["peak"])) self.zoomResetIcon = qt.QIconSet(qt.QPixmap(IconDict["zoomreset"])) self.roiResetIcon = qt.QIconSet(qt.QPixmap(IconDict["roireset"])) self.peakResetIcon = qt.QIconSet(qt.QPixmap(IconDict["peakreset"])) self.refreshIcon = qt.QIconSet(qt.QPixmap(IconDict["reload"])) self.logxIcon = qt.QIconSet(qt.QPixmap(IconDict["logx"])) self.logyIcon = qt.QIconSet(qt.QPixmap(IconDict["logy"])) self.xAutoIcon = qt.QIconSet(qt.QPixmap(IconDict["xauto"])) self.yAutoIcon = qt.QIconSet(qt.QPixmap(IconDict["yauto"])) self.togglePointsIcon = qt.QIconSet( qt.QPixmap(IconDict["togglepoints"])) self.fitIcon = qt.QIconSet(qt.QPixmap(IconDict["fit"])) self.searchIcon = qt.QIconSet(qt.QPixmap(IconDict["peaksearch"])) self.averageIcon = qt.QIconSet(qt.QPixmap(IconDict["average16"])) self.deriveIcon = qt.QIconSet(qt.QPixmap(IconDict["derive"])) self.smoothIcon = qt.QIconSet(qt.QPixmap(IconDict["smooth"])) self.swapSignIcon = qt.QIconSet(qt.QPixmap(IconDict["swapsign"])) self.yMinToZeroIcon = qt.QIconSet( qt.QPixmap(IconDict["ymintozero"])) self.subtractIcon = qt.QIconSet(qt.QPixmap(IconDict["subtract"])) self.printIcon = qt.QIconSet(qt.QPixmap(IconDict["fileprint"])) self.saveIcon = qt.QIconSet(qt.QPixmap(IconDict["filesave"])) else: self.normalIcon = qt.QIcon(qt.QPixmap(IconDict["normal"])) self.zoomIcon = qt.QIcon(qt.QPixmap(IconDict["zoom"])) self.roiIcon = qt.QIcon(qt.QPixmap(IconDict["roi"])) self.peakIcon = qt.QIcon(qt.QPixmap(IconDict["peak"])) self.zoomResetIcon = qt.QIcon(qt.QPixmap(IconDict["zoomreset"])) self.roiResetIcon = qt.QIcon(qt.QPixmap(IconDict["roireset"])) self.peakResetIcon = qt.QIcon(qt.QPixmap(IconDict["peakreset"])) self.refreshIcon = qt.QIcon(qt.QPixmap(IconDict["reload"])) self.logxIcon = qt.QIcon(qt.QPixmap(IconDict["logx"])) self.logyIcon = qt.QIcon(qt.QPixmap(IconDict["logy"])) self.xAutoIcon = qt.QIcon(qt.QPixmap(IconDict["xauto"])) self.yAutoIcon = qt.QIcon(qt.QPixmap(IconDict["yauto"])) self.togglePointsIcon = qt.QIcon( qt.QPixmap(IconDict["togglepoints"])) self.fitIcon = qt.QIcon(qt.QPixmap(IconDict["fit"])) self.searchIcon = qt.QIcon(qt.QPixmap(IconDict["peaksearch"])) self.averageIcon = qt.QIcon(qt.QPixmap(IconDict["average16"])) self.deriveIcon = qt.QIcon(qt.QPixmap(IconDict["derive"])) self.smoothIcon = qt.QIcon(qt.QPixmap(IconDict["smooth"])) self.swapSignIcon = qt.QIcon(qt.QPixmap(IconDict["swapsign"])) self.yMinToZeroIcon = qt.QIcon(qt.QPixmap(IconDict["ymintozero"])) self.subtractIcon = qt.QIcon(qt.QPixmap(IconDict["subtract"])) self.printIcon = qt.QIcon(qt.QPixmap(IconDict["fileprint"])) self.saveIcon = qt.QIcon(qt.QPixmap(IconDict["filesave"])) self.pluginIcon = qt.QIcon(qt.QPixmap(IconDict["plugin"]))
def __init__(self, parent=None, name="SPSSelector", fl=0): qt.QWidget.__init__(self, parent, name, fl) self.dataSource = None self.data = None self.currentSpec = None self.currentArray = None self.selection = None self.openFile = self.refreshSpecList self.selectPixmap = qt.QPixmap(icons.selected) self.unselectPixamp = qt.QPixmap(icons.unselected) mainLayout = qt.QVBoxLayout(self) # --- spec name selection specWidget = qt.QWidget(self) self.specCombo = qt.QComboBox(specWidget) self.specCombo.setEditable(0) self.reload = qt.QIconSet(qt.QPixmap(icons.reload)) refreshButton = qt.QToolButton(specWidget) refreshButton.setIconSet(self.reload) refreshButton.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) self.closeIcon = qt.QIconSet(qt.QPixmap(icons.fileclose)) closeButton = qt.QToolButton(specWidget) closeButton.setIconSet(self.closeIcon) closeButton.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) specLayout = qt.QHBoxLayout(specWidget) specLayout.addWidget(self.specCombo) specLayout.addWidget(refreshButton) specLayout.addWidget(closeButton) self.connect(refreshButton, qt.SIGNAL("clicked()"), self.refreshSpecList) self.connect(closeButton, qt.SIGNAL("clicked()"), self.closeCurrentSpec) self.connect(self.specCombo, qt.SIGNAL("activated(const QString &)"), self.refreshArrayList) # --- splitter self.splitter = qt.QSplitter(self) self.splitter.setOrientation(qt.QSplitter.Vertical) # --- shm array list self.arrayList = qt.QListView(self.splitter, "ShmArrayList") self.arrayList.addColumn("") self.arrayList.addColumn("Array Name") self.arrayList.addColumn("Rows") self.arrayList.addColumn("Cols") self.arrayList.setSorting(-1) self.arrayList.header().setClickEnabled(0, -1) self.arrayList.setAllColumnsShowFocus(1) self.arrayList.setSelectionMode(qt.QListView.Single) self.connect(self.arrayList, qt.SIGNAL("selectionChanged()"), self.__arraySelection) # --- array parameter self.paramIndex = {} self.paramWidget = qt.QWidgetStack(self.splitter) for type in self.WidgetArrays.keys(): widclass = self.WidgetArrays[type] wid = widclass(self.paramWidget) self.paramWidget.addWidget(wid) self.paramIndex[type] = self.paramWidget.id(wid) # --- command buttons butWidget = qt.QWidget(self) butWidget.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Minimum, qt.QSizePolicy.Minimum)) addButton = qt.QPushButton("Add", butWidget) removeButton = qt.QPushButton("Remove", butWidget) replaceButton = qt.QPushButton("Replace", butWidget) butLayout = qt.QHBoxLayout(butWidget) butLayout.addWidget(removeButton) butLayout.addWidget(replaceButton) butLayout.addWidget(addButton) butLayout.setMargin(5) self.connect(addButton, qt.SIGNAL("clicked()"), self.__addClicked) self.connect(replaceButton, qt.SIGNAL("clicked()"), self.__replaceClicked) self.connect(removeButton, qt.SIGNAL("clicked()"), self.__removeClicked) # --- main layout mainLayout.setMargin(5) mainLayout.setSpacing(5) mainLayout.addWidget(specWidget) mainLayout.addWidget(self.splitter) mainLayout.addWidget(butWidget)