-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Edit filename for file
widgets
(#359)
- Reinstates the class SaveObjectWindow as it was before Improve graph window #335 - Creates files graphs_window, save_widgets
- Loading branch information
1 parent
56960e2
commit 3713eb2
Showing
5 changed files
with
119 additions
and
119 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
from PySide2 import QtWidgets, QtCore | ||
from PySide2.QtWidgets import * | ||
from PySide2.QtCore import * | ||
from PySide2.QtGui import * | ||
import shutil | ||
import os | ||
import tempfile | ||
from eqt.threading import Worker | ||
|
||
|
||
class SaveObjectWindow(QtWidgets.QWidget): | ||
'''a window which will appear when saving a mask or pointcloud | ||
''' | ||
#self.copy_files_label = QLabel("Allow a copy of the image files to be stored: ") | ||
|
||
def __init__(self, parent, object_type, save_only): | ||
super().__init__() | ||
|
||
self.parent = parent | ||
self.object = object_type | ||
|
||
if self.object == "mask": | ||
self.setWindowTitle("Save Existing Mask") | ||
self.label = QLabel("Save mask as:") | ||
elif self.object == "pointcloud": | ||
self.setWindowTitle("Save Existing Point Cloud") | ||
self.label = QLabel("Save Point Cloud as:") | ||
|
||
|
||
self.setWindowModality(QtCore.Qt.ApplicationModal) | ||
#self.setInputMode(QtWidgets.QInputDialog.TextInput) | ||
|
||
self.textbox = QLineEdit(self) | ||
rx = QRegExp("[A-Za-z0-9]+") | ||
validator = QRegExpValidator(rx, self.textbox) #need to check this | ||
self.textbox.setValidator(validator) | ||
|
||
self.save_button = QPushButton("Save") | ||
self.quit_button = QPushButton("Discard") | ||
self.save_button.clicked.connect(lambda: self.save(save_only)) | ||
self.quit_button.clicked.connect(self.quit) | ||
|
||
self.setWindowFlags(QtCore.Qt.WindowTitleHint ) | ||
#self.setCancelButtonText("New Session") | ||
#self.setAttribute(Qt.WA_DeleteOnClose) | ||
self.layout = QtWidgets.QFormLayout() | ||
self.layout.addRow(self.label) | ||
self.layout.addRow(self.textbox) | ||
self.layout.addRow(self.save_button, self.quit_button) | ||
self.setLayout(self.layout) | ||
|
||
def save(self, save_only): | ||
if self.object == "mask": | ||
#Load Saved Session | ||
#print("Write mask to file, then carry on") | ||
filename = self.textbox.text() + ".mha" | ||
shutil.copyfile(os.path.join(tempfile.tempdir, self.parent.mask_file), os.path.join(tempfile.tempdir, "Masks", filename)) | ||
self.parent.mask_parameters['masksList'].addItem(filename) | ||
self.parent.mask_details[filename] = self.parent.mask_details['current'] | ||
#print(self.parent.mask_details) | ||
|
||
self.parent.mask_parameters['loadButton'].setEnabled(True) | ||
self.parent.mask_parameters['masksList'].setEnabled(True) | ||
|
||
|
||
if not save_only: | ||
#print("Not save only") | ||
#would be better to move this elsewhere | ||
self.parent.mask_worker = Worker(self.parent.extendMask) | ||
self.parent.create_progress_window("Loading", "Loading Mask") | ||
self.parent.mask_worker.signals.progress.connect(self.parent.progress) | ||
self.parent.mask_worker.signals.finished.connect(self.parent.DisplayMask) | ||
self.parent.threadpool.start(self.parent.mask_worker) | ||
self.parent.progress_window.setValue(10) | ||
|
||
if self.object == "pointcloud": | ||
filename = self.textbox.text() + ".roi" | ||
shutil.copyfile(os.path.join(tempfile.tempdir, "latest_pointcloud.roi"), os.path.join(tempfile.tempdir, filename)) | ||
|
||
self.parent.pointcloud_parameters['loadButton'].setEnabled(True) | ||
self.parent.pointcloud_parameters['pointcloudList'].setEnabled(True) | ||
self.parent.pointcloud_parameters['pointcloudList'].addItem(filename) | ||
self.parent.pointCloud_details[filename] = self.parent.pointCloud_details['latest_pointcloud.roi'] | ||
#print(self.parent.pointCloud_details) | ||
#self.parent.createPointCloud() | ||
if not save_only: | ||
self.parent.PointCloudWorker("create") | ||
|
||
|
||
self.close() | ||
|
||
def quit(self): | ||
if self.object == "mask": | ||
#would be better to move this elsewhere | ||
self.parent.mask_worker = Worker(self.parent.extendMask) | ||
self.parent.create_progress_window("Loading", "Loading Mask") | ||
self.parent.mask_worker.signals.progress.connect(self.parent.progress) | ||
self.parent.mask_worker.signals.finished.connect(self.parent.DisplayMask) | ||
self.parent.threadpool.start(self.parent.mask_worker) | ||
self.parent.progress_window.setValue(10) | ||
|
||
if self.object == "pointcloud": | ||
self.parent.PointCloudWorker("create") | ||
#self.parent.createPointCloud() | ||
|
||
self.close() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters