Commit 48a92d1eccdc664faee8f53bffc26c2ec7f57d24
1 parent
efc4e7bf
Exists in
master
and in
68 other branches
ADD: Reader Analyze File from Interface
Showing
2 changed files
with
45 additions
and
1 deletions
Show diff stats
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...")) |