From cd7f4721c6d1ab9a3838a070ece6b10263a4af71 Mon Sep 17 00:00:00 2001 From: tfmoraes Date: Mon, 19 Oct 2009 13:11:54 +0000 Subject: [PATCH] ENH: Now it's possible to cancel a import --- invesalius/reader/dicom_reader.py | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/invesalius/reader/dicom_reader.py b/invesalius/reader/dicom_reader.py index b4a95a8..fe805b0 100644 --- a/invesalius/reader/dicom_reader.py +++ b/invesalius/reader/dicom_reader.py @@ -120,17 +120,11 @@ def yGetDicomGroups(directory, recursive=True, gui=True): def GetDicomGroups(directory, recursive=True): return yGetDicomGroups(directory, recursive, gui=False).next() + class ProgressDicomReader: - def __init__(self): - #(self.LoadFilesProgress, EVT_LOAD_FILE_PROGRESS) = wx.lib.newevent.NewEvent() - #(self.EndLoadFiles, EVT_END_LOAD_FILE) = wx.lib.newevent.NewEvent() - - #self.evt_update_progress = EVT_LOAD_FILE_PROGRESS - #self.evt_end_load_file = EVT_END_LOAD_FILE - ps.Publisher().subscribe(self.CancelLoad, "Cancel DICOM load") - + def CancelLoad(self, evt_pubsub): self.running = False self.stoped = True @@ -142,29 +136,25 @@ class ProgressDicomReader: self.running = True self.stoped = False self.GetDicomGroups(path,recursive) - + def UpdateLoadFileProgress(self,cont_progress): ps.Publisher().sendMessage("Update dicom load", cont_progress) - #evt = self.LoadFilesProgress(progress = cont_progress) - #wx.PostEvent(self.frame, evt) - + def EndLoadFile(self, grouper): ps.Publisher().sendMessage("End dicom load", grouper) - #evt = self.EndLoadFiles(value = grouper) - #wx.PostEvent(self.frame, evt) - + def GetDicomGroups(self, path, recursive): y = yGetDicomGroups(path, recursive) - #while self.running: for value_progress in y: + if not self.running: + break if isinstance(value_progress, tuple): self.UpdateLoadFileProgress(value_progress) else: self.EndLoadFile(value_progress) - + #Is necessary in the case user cancel #the load, ensure that dicomdialog is closed if(self.stoped): self.UpdateLoadFileProgress(None) self.stoped = False - -- libgit2 0.21.2