From 9a6b5311747092b21fe7ff085a7604a442cad3b2 Mon Sep 17 00:00:00 2001 From: paulojamorim Date: Wed, 4 Nov 2009 14:00:05 +0000 Subject: [PATCH] ADD: Run folder selection to importation, from menu and toolbar --- invesalius/constants.py | 8 ++++++++ invesalius/gui/frame.py | 23 ++++++++++++----------- invesalius/gui/import_panel.py | 2 +- invesalius/gui/task_importer.py | 15 ++++++++++----- 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/invesalius/constants.py b/invesalius/constants.py index c360c5c..cfec8fe 100644 --- a/invesalius/constants.py +++ b/invesalius/constants.py @@ -271,3 +271,11 @@ IMAGE_TILING = {"1 x 1":(1,1), "1 x 2":(1,2), "4 x 5":(4,5), "5 x 4":(5,4)} VTK_WARNING = 0 + +#---------------------------------------------------------- + +[ID_FILE_IMPORT, ID_FILE_LOAD_INTERNET, ID_FILE_SAVE, ID_FILE_PHOTO, +ID_FILE_PRINT] = [wx.NewId() for number in range(5)] + + + diff --git a/invesalius/gui/frame.py b/invesalius/gui/frame.py index 376496c..f17393d 100755 --- a/invesalius/gui/frame.py +++ b/invesalius/gui/frame.py @@ -30,10 +30,6 @@ import default_tasks as tasks import default_viewers as viewers import import_panel as imp -# File toolbar -[ID_FILE_IMPORT, ID_FILE_LOAD_INTERNET, ID_FILE_SAVE, ID_FILE_PHOTO, -ID_FILE_PRINT] = [wx.NewId() for number in range(5)] - # Object toolbar OBJ_TOOLS = [ID_ZOOM, ID_ZOOM_SELECT, ID_ROTATE, ID_MOVE, ID_CONTRAST] = [wx.NewId() for number in range(5)] @@ -98,7 +94,8 @@ class Frame(wx.Frame): def __bind_events_wx(self): self.Bind(wx.EVT_SIZE, self.OnSize) - + self.Bind(wx.EVT_MENU, self.OnMenuClick) + def __init_aui(self): # Tell aui_manager to manage this frame @@ -202,6 +199,10 @@ class Frame(wx.Frame): def OnSize(self, evt): ps.Publisher().sendMessage(('ProgressBar Reposition')) evt.Skip() + + def OnMenuClick(self, evt): + ps.Publisher().sendMessage(("Run menu item", + str(evt.GetId()))) def ShowTask(self, pubsub_evt): self.aui_manager.GetPane("Tasks").Show() @@ -232,7 +233,7 @@ class MenuBar(wx.MenuBar): def __init_items(self): file_menu = wx.Menu() - file_menu.Append(ID_FILE_IMPORT, "Import...") + file_menu.Append(const.ID_FILE_IMPORT, "Import...") file_menu.Append(101, "Exit") view_menu = wx.Menu() @@ -416,19 +417,19 @@ class ProjectToolBar(wx.ToolBar): BMP_PHOTO = wx.Bitmap(os.path.join(const.ICON_DIR, "tool_photo.png"), wx.BITMAP_TYPE_PNG) - self.AddLabelTool(ID_FILE_IMPORT, + self.AddLabelTool(const.ID_FILE_IMPORT, "Import medical image...", BMP_IMPORT) - self.AddLabelTool(ID_FILE_LOAD_INTERNET, + self.AddLabelTool(const.ID_FILE_LOAD_INTERNET, "Load medical image...", BMP_NET) - self.AddLabelTool(ID_FILE_SAVE, + self.AddLabelTool(const.ID_FILE_SAVE, "Save InVesalius project", BMP_SAVE) - self.AddLabelTool(ID_FILE_PHOTO, + self.AddLabelTool(const.ID_FILE_PHOTO, "Take photo of screen", BMP_PHOTO) - self.AddLabelTool(ID_FILE_PRINT, + self.AddLabelTool(const.ID_FILE_PRINT, "Print medical image...", BMP_PRINT) diff --git a/invesalius/gui/import_panel.py b/invesalius/gui/import_panel.py index ee3faa3..0346be9 100644 --- a/invesalius/gui/import_panel.py +++ b/invesalius/gui/import_panel.py @@ -72,7 +72,7 @@ class InnerPanel(wx.Panel): ps.Publisher().subscribe(self.ShowDicomPreview, "Load import panel") def ShowDicomPreview(self, pubsub_evt): - dicom_groups = pubsub_evt.data + dicom_groups = pubsub_evt.data self.text_panel.Populate(dicom_groups) diff --git a/invesalius/gui/task_importer.py b/invesalius/gui/task_importer.py index aa21e04..0b5302a 100644 --- a/invesalius/gui/task_importer.py +++ b/invesalius/gui/task_importer.py @@ -21,6 +21,7 @@ import wx import wx.lib.hyperlink as hl import wx.lib.platebtn as pbtn import wx.lib.pubsub as ps +import constants as const BTN_IMPORT_LOCAL = wx.NewId() BTN_IMPORT_PACS = wx.NewId() @@ -134,7 +135,8 @@ class InnerTaskPanel(wx.Panel): # Test load and unload specific projects' links self.TestLoadProjects() #self.UnloadProjects() - + ps.Publisher().subscribe(self.OnLinkImport,("Run menu item", + str(const.ID_FILE_IMPORT))) def OnLinkImport(self, evt=None): dlg = wx.DirDialog(self, "Choose a directory:", "", @@ -148,10 +150,13 @@ class InnerTaskPanel(wx.Panel): # Only destroy a dialog after you're done with it. dlg.Destroy() - - if evt: - evt.Skip() - + + try: + if evt: + evt.Skip() + except(AttributeError): + pass + def OnLinkImportPACS(self, evt=None): print "TODO: Send Signal - Import DICOM files from PACS" if evt: -- libgit2 0.21.2