Source code for mantidimaging.gui.windows.move_stack_dialog.view
# Copyright (C) 2021 ISIS Rutherford Appleton Laboratory UKRI
# SPDX - License - Identifier: GPL-3.0-or-later
from __future__ import annotations
import uuid
from PyQt5.QtWidgets import QLabel, QComboBox
from mantidimaging.gui.widgets.dataset_selector import DatasetSelectorWidgetView
from mantidimaging.gui.mvp_base import BaseDialogView
from mantidimaging.gui.windows.move_stack_dialog.presenter import MoveStackPresenter, Notification
[docs]
class MoveStackDialog(BaseDialogView):
originDatasetName: QLabel
originDataType: QLabel
destinationTypeComboBox: QComboBox
def __init__(self, parent, origin_dataset_id: uuid.UUID, stack_id: uuid.UUID, origin_dataset_name: str,
origin_data_type: str):
super().__init__(parent, 'gui/ui/move_stack_dialog.ui')
self.originDatasetName.setText(origin_dataset_name)
self.originDataType.setText(origin_data_type)
self._origin_dataset_id = origin_dataset_id
self._stack_id = stack_id
self.parent_view = parent
self.presenter = MoveStackPresenter(self)
self.datasetSelector = DatasetSelectorWidgetView(self)
self.layout().addWidget(self.datasetSelector, 3, 1)
self.datasetSelector.currentIndexChanged.connect(self._on_destination_dataset_changed)
self.datasetSelector.subscribe_to_main_window(parent)
self._on_destination_dataset_changed()
[docs]
def accept(self) -> None:
self.presenter.notify(Notification.ACCEPTED)
self.close()
def _on_destination_dataset_changed(self):
self.presenter.notify(Notification.DATASET_CHANGED)
@property
def origin_dataset_id(self) -> uuid.UUID:
return self._origin_dataset_id
@property
def stack_id(self) -> uuid.UUID:
return self._stack_id
@property
def destination_stack_type(self) -> str:
return self.destinationTypeComboBox.currentText()
@property
def destination_dataset_id(self) -> uuid.UUID:
return self.datasetSelector.current() # type: ignore