Commit 48a92d1eccdc664faee8f53bffc26c2ec7f57d24

Authored by Paulo Henrique Junqueira Amorim
1 parent efc4e7bf

ADD: Reader Analyze File from Interface

invesalius/gui/dialogs.py
@@ -134,6 +134,9 @@ class ProgressDialog(object): @@ -134,6 +134,9 @@ class ProgressDialog(object):
134 WILDCARD_OPEN = "InVesalius 3 project (*.inv3)|*.inv3|"\ 134 WILDCARD_OPEN = "InVesalius 3 project (*.inv3)|*.inv3|"\
135 "All files (*.*)|*.*" 135 "All files (*.*)|*.*"
136 136
  137 +WILDCARD_ANALYZE = "Analyze (*.hdr)|*.hdr|"\
  138 + "All files (*.*)|*.*"
  139 +
137 def ShowOpenProjectDialog(): 140 def ShowOpenProjectDialog():
138 # Default system path 141 # Default system path
139 current_dir = os.path.abspath(".") 142 current_dir = os.path.abspath(".")
@@ -161,6 +164,35 @@ def ShowOpenProjectDialog(): @@ -161,6 +164,35 @@ def ShowOpenProjectDialog():
161 os.chdir(current_dir) 164 os.chdir(current_dir)
162 return filepath 165 return filepath
163 166
  167 +
  168 +def ShowOpenAnalyzeDialog():
  169 + # Default system path
  170 + current_dir = os.path.abspath(".")
  171 + dlg = wx.FileDialog(None, message=_("Open Analyze File..."),
  172 + defaultDir="",
  173 + defaultFile="", wildcard=WILDCARD_ANALYZE,
  174 + style=wx.OPEN|wx.CHANGE_DIR)
  175 +
  176 + # inv3 filter is default
  177 + dlg.SetFilterIndex(0)
  178 +
  179 + # Show the dialog and retrieve the user response. If it is the OK response,
  180 + # process the data.
  181 + filepath = None
  182 + try:
  183 + if dlg.ShowModal() == wx.ID_OK:
  184 + # This returns a Python list of files that were selected.
  185 + filepath = dlg.GetPath()
  186 + except(wx._core.PyAssertionError): #FIX: win64
  187 + filepath = dlg.GetPath()
  188 +
  189 + # Destroy the dialog. Don't do this until you are done with it!
  190 + # BAD things can happen otherwise!
  191 + dlg.Destroy()
  192 + os.chdir(current_dir)
  193 + return filepath
  194 +
  195 +
164 def ShowImportDirDialog(): 196 def ShowImportDirDialog():
165 current_dir = os.path.abspath(".") 197 current_dir = os.path.abspath(".")
166 198
invesalius/gui/frame.py
@@ -294,6 +294,8 @@ class Frame(wx.Frame): @@ -294,6 +294,8 @@ class Frame(wx.Frame):
294 self.ShowImportDicomPanel() 294 self.ShowImportDicomPanel()
295 elif id == const.ID_PROJECT_OPEN: 295 elif id == const.ID_PROJECT_OPEN:
296 self.ShowOpenProject() 296 self.ShowOpenProject()
  297 + elif id == const.ID_ANALYZE_IMPORT:
  298 + self.ShowAnalyzeImporter()
297 elif id == const.ID_PROJECT_SAVE: 299 elif id == const.ID_PROJECT_SAVE:
298 session = ses.Session() 300 session = ses.Session()
299 if session.temp_item: 301 if session.temp_item:
@@ -355,6 +357,12 @@ class Frame(wx.Frame): @@ -355,6 +357,12 @@ class Frame(wx.Frame):
355 Show save as dialog. 357 Show save as dialog.
356 """ 358 """
357 ps.Publisher().sendMessage('Show save dialog', True) 359 ps.Publisher().sendMessage('Show save dialog', True)
  360 +
  361 + def ShowAnalyzeImporter(self):
  362 + """
  363 + Show save as dialog.
  364 + """
  365 + ps.Publisher().sendMessage('Show analyze dialog', True)
358 366
359 # ------------------------------------------------------------------ 367 # ------------------------------------------------------------------
360 # ------------------------------------------------------------------ 368 # ------------------------------------------------------------------
@@ -396,12 +404,16 @@ class MenuBar(wx.MenuBar): @@ -396,12 +404,16 @@ class MenuBar(wx.MenuBar):
396 Create all menu and submenus, and add them to self. 404 Create all menu and submenus, and add them to self.
397 """ 405 """
398 # TODO: This definetely needs improvements... ;) 406 # TODO: This definetely needs improvements... ;)
  407 +
  408 + #Import Others Files
  409 + others_file_menu = wx.Menu()
  410 + others_file_menu.Append(const.ID_ANALYZE_IMPORT, "Analyze")
399 411
400 # FILE 412 # FILE
401 file_menu = wx.Menu() 413 file_menu = wx.Menu()
402 app = file_menu.Append 414 app = file_menu.Append
403 app(const.ID_DICOM_IMPORT, _("Import DICOM...\tCtrl+I")) 415 app(const.ID_DICOM_IMPORT, _("Import DICOM...\tCtrl+I"))
404 - #app(const.ID_DICOM_LOAD_NET, _("Import DICOM from PACS...")) 416 + file_menu.AppendMenu(const.ID_IMPORT_OTHERS_FILES, _("Import Others Files"), others_file_menu)
405 app(const.ID_PROJECT_OPEN, _("Open Project...\tCtrl+O")) 417 app(const.ID_PROJECT_OPEN, _("Open Project...\tCtrl+O"))
406 app(const.ID_PROJECT_SAVE, _("Save Project\tCtrl+S")) 418 app(const.ID_PROJECT_SAVE, _("Save Project\tCtrl+S"))
407 app(const.ID_PROJECT_SAVE_AS, _("Save Project As...")) 419 app(const.ID_PROJECT_SAVE_AS, _("Save Project As..."))