def setSfView(self, sfView): """ Sets the ScalarFieldView this view is controlling. :param sfView: A `ScalarFieldView` """ model = qt.QStandardItemModel() model.setColumnCount(ModelColumns.ColumnMax) model.setHorizontalHeaderLabels(['Name', 'Value']) item = qt.QStandardItem() item.setEditable(False) model.appendRow([ViewSettingsItem(sfView, 'Style'), item]) item = qt.QStandardItem() item.setEditable(False) model.appendRow([DataSetItem(sfView, 'Data'), item]) item = IsoSurfaceCount(sfView) item.setEditable(False) model.appendRow([IsoSurfaceGroup(sfView, 'Isosurfaces'), item]) item = qt.QStandardItem() item.setEditable(False) model.appendRow([PlaneGroup(sfView, 'Cutting Plane'), item]) self.setModel(model)
def __createManufacturerModel(self): manufacturers = set([]) for detector in pyFAI.detectors.ALL_DETECTORS.values(): manufacturers.add(detector.MANUFACTURER) hasOther = None in manufacturers manufacturers.remove(None) manufacturers = sorted(list(manufacturers)) model = qt.QStandardItemModel() item = qt.QStandardItem("All") item.setData("*", role=self._ManufacturerRole) model.appendRow(item) # TODO rework this thing with a delegate separator = qt.QStandardItem(" ") separator.setSelectable(False) separator.setEnabled(False) stricked = separator.font() stricked.setStrikeOut(True) separator.setFont(stricked) model.appendRow(separator) for manufacturer in manufacturers: item = qt.QStandardItem(manufacturer) item.setData(manufacturer, role=self._ManufacturerRole) model.appendRow(item) if hasOther: item = qt.QStandardItem("Other") item.setData(None, role=self._ManufacturerRole) model.appendRow(item) return model
def _createSplittingModel(self): model = qt.QStandardItemModel(self) item = qt.QStandardItem("Any") item.setData("*", self.CodeRole) model.appendRow(item) for name in method_registry.IntegrationMethod.AVAILABLE_SPLITS: label = self._HUMAN_READABLE.get(name, name) item = qt.QStandardItem(label) item.setData(name, self.CodeRole) model.appendRow(item) return model
def __init__(self, parent=None): super(_DataPreview, self).__init__(parent) self.__formatter = Hdf5Formatter(self) self.__data = None self.__info = qt.QTableView(self) self.__model = qt.QStandardItemModel(self) self.__info.setModel(self.__model) self.__info.horizontalHeader().hide() self.__info.horizontalHeader().setStretchLastSection(True) layout = qt.QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self.__info) self.setLayout(layout)
def __createModel(self): model = qt.QStandardItemModel(self) model.setHorizontalHeaderLabels(["Device", "Platform", "Type", "PID", "DID"]) if pyopencl is None: model.setColumnCount(5) return model for platformId, platform in enumerate(pyopencl.get_platforms()): for deviceId, device in enumerate(platform.get_devices(pyopencl.device_type.ALL)): self.__availableIds[(platformId, deviceId)] = model.rowCount() typeName = pyopencl.device_type.to_string(device.type) deviceName = qt.QStandardItem(device.name) platformName = qt.QStandardItem(platform.name) deviceType = qt.QStandardItem(typeName) deviceItem = qt.QStandardItem(str(deviceId)) platformItem = qt.QStandardItem(str(platformId)) model.appendRow([deviceName, platformName, deviceType, platformItem, deviceItem]) return model
def __init__(self, parent): super(DetectorSelectorDrop, self).__init__(parent) qt.loadUi(pyFAI.utils.get_ui_file("detector-selection-drop.ui"), self) self.__detector = None self.__dialogState = None model = self.__createManufacturerModel() self._manufacturerList.setModel(model) selection = self._manufacturerList.selectionModel() selection.selectionChanged.connect(self.__manufacturerChanged) model = AllDetectorModel(self) modelFilter = DetectorFilter(self) modelFilter.setSourceModel(model) self._modelList.setModel(modelFilter) selection = self._modelList.selectionModel() selection.selectionChanged.connect(self.__modelChanged) customModel = qt.QStandardItemModel(self) item = qt.QStandardItem("From file") item.setData("FILE", role=self._CustomDetectorRole) customModel.appendRow(item) item = qt.QStandardItem("Manual definition") item.setData("MANUAL", role=self._CustomDetectorRole) customModel.appendRow(item) self._customList.setModel(customModel) self._customList.setFixedHeight(self._customList.sizeHintForRow(0) * 2) selection = self._customList.selectionModel() selection.selectionChanged.connect(self.__customSelectionChanged) self.__splineFile = DataModel() self._splineFile.setModel(self.__splineFile) self._splineLoader.clicked.connect(self.loadSplineFile) self.__splineFile.changed.connect(self.__splineFileChanged) self._splineError.setVisible(False) self.__descriptionFile = DataModel() self.__descriptionFile.changed.connect(self.__descriptionFileChanged) self._fileSelection.setModel(self.__descriptionFile) self._fileLoader.clicked.connect(self.__loadDetectorFormFile) self._fileResult.setVisible(False) self._fileError.setVisible(False) self._splinePanel.setVisible(False) validator = validators.IntegerAndEmptyValidator() validator.setBottom(0) self._detectorWidth.setValidator(validator) self._detectorHeight.setValidator(validator) self.__detectorWidth = DataModel() self.__detectorHeight = DataModel() self.__pixelWidth = DataModel() self.__pixelHeight = DataModel() self._detectorWidth.setModel(self.__detectorWidth) self._detectorHeight.setModel(self.__detectorHeight) self._pixelWidth.setModel(self.__pixelWidth) self._pixelHeight.setModel(self.__pixelHeight) self._customResult.setVisible(False) self._customError.setVisible(False) self.__detectorWidth.changed.connect(self.__customDetectorChanged) self.__detectorHeight.changed.connect(self.__customDetectorChanged) self.__pixelWidth.changed.connect(self.__customDetectorChanged) self.__pixelHeight.changed.connect(self.__customDetectorChanged) self.__customDetector = None
def __init__(self, parent=None): super(DetectorSelectorDrop, self).__init__(parent) qt.loadUi(pyFAI.utils.get_ui_file("detector-selection-drop.ui"), self) self.__detector = None self.__dialogState = None model = self.__createManufacturerModel() self._manufacturerList.setModel(model) selection = self._manufacturerList.selectionModel() selection.selectionChanged.connect(self.__manufacturerChanged) model = AllDetectorModel(self) modelFilter = DetectorFilter(self) modelFilter.setSourceModel(model) self._detectorView.setModel(modelFilter) self._detectorView.setSelectionMode(qt.QAbstractItemView.SingleSelection) self._detectorView.setSelectionBehavior(qt.QAbstractItemView.SelectRows) self._detectorView.setSelectionBehavior(qt.QAbstractItemView.SelectRows) self._detectorView.setWordWrap(False) header = self._detectorView.horizontalHeader() # Manufacturer first self.MANUFACTURER_COLUMN = 1 header.moveSection(self.MANUFACTURER_COLUMN, 0) if qt.qVersion() < "5.0": header.setSectionResizeMode = self.setResizeMode header.setSectionResizeMode(0, qt.QHeaderView.ResizeToContents) header.setSectionResizeMode(1, qt.QHeaderView.ResizeToContents) header.setStretchLastSection(True) selection = self._detectorView.selectionModel() selection.selectionChanged.connect(self.__modelChanged) self._detectorView.doubleClicked.connect(self.__selectAndAccept) customModel = qt.QStandardItemModel(self) item = qt.QStandardItem("From file") item.setData("FILE", role=self._CustomDetectorRole) customModel.appendRow(item) item = qt.QStandardItem("Manual definition") item.setData("MANUAL", role=self._CustomDetectorRole) customModel.appendRow(item) self._customList.setModel(customModel) self._customList.setFixedHeight(self._customList.sizeHintForRow(0) * 2) selection = self._customList.selectionModel() selection.selectionChanged.connect(self.__customSelectionChanged) self.__splineFile = DataModel() self._splineFile.setModel(self.__splineFile) self._splineLoader.clicked.connect(self.loadSplineFile) self.__splineFile.changed.connect(self.__splineFileChanged) self._splineError.setVisible(False) self.__descriptionFile = DataModel() self.__descriptionFile.changed.connect(self.__descriptionFileChanged) self._fileSelection.setModel(self.__descriptionFile) self._fileLoader.clicked.connect(self.__loadDetectorFormFile) self._fileResult.setVisible(False) self._fileError.setVisible(False) self._splinePanel.setVisible(False) validator = validators.IntegerAndEmptyValidator() validator.setBottom(0) self._detectorWidth.setValidator(validator) self._detectorHeight.setValidator(validator) self.__detectorWidth = DataModel() self.__detectorHeight = DataModel() self.__pixelWidth = DataModel() self.__pixelHeight = DataModel() self._detectorWidth.setModel(self.__detectorWidth) self._detectorHeight.setModel(self.__detectorHeight) self._pixelWidth.setModel(self.__pixelWidth) self._pixelHeight.setModel(self.__pixelHeight) self._customResult.setVisible(False) self._customError.setVisible(False) self.__detectorWidth.changed.connect(self.__customDetectorChanged) self.__detectorHeight.changed.connect(self.__customDetectorChanged) self.__pixelWidth.changed.connect(self.__customDetectorChanged) self.__pixelHeight.changed.connect(self.__customDetectorChanged) self.__customDetector = None # By default select all the manufacturers self.__selectAllRegistreredDetector()