move lots of functions to menu
This commit is contained in:
+79
-47
@@ -604,23 +604,72 @@ class AnonGui(wx.App):
|
|||||||
|
|
||||||
# Create File menu
|
# Create File menu
|
||||||
file_menu = wx.Menu()
|
file_menu = wx.Menu()
|
||||||
file_menu.Append(wx.ID_OPEN, "&Open")
|
|
||||||
file_menu.Append(wx.ID_SAVE, "&Save")
|
|
||||||
file_menu.AppendSeparator()
|
# Create Load menu item
|
||||||
|
load_item = wx.MenuItem(file_menu, wx.ID_ANY, "&Import Directory")
|
||||||
|
#load_item.SetToolTip("Click to manually load dicom from a directory.")
|
||||||
|
file_menu.Append(load_item)
|
||||||
|
|
||||||
|
self.Bind(wx.EVT_MENU, self.import_from_dir, load_item)
|
||||||
|
#file_menu.Append(wx.ID_OPEN, "&Open")
|
||||||
|
#file_menu.Append(wx.ID_SAVE, "&Save")
|
||||||
|
#file_menu.AppendSeparator()
|
||||||
file_menu.Append(wx.ID_EXIT, "&Exit")
|
file_menu.Append(wx.ID_EXIT, "&Exit")
|
||||||
self.menu_bar.Append(file_menu, "&File")
|
self.menu_bar.Append(file_menu, "&File")
|
||||||
|
|
||||||
|
|
||||||
# Create Edit menu
|
# Create Images menu
|
||||||
edit_menu = wx.Menu()
|
images_menu = wx.Menu()
|
||||||
edit_menu.Append(wx.ID_UNDO, "&Undo")
|
|
||||||
edit_menu.Append(wx.ID_REDO, "&Redo")
|
|
||||||
edit_menu.AppendSeparator()
|
|
||||||
edit_menu.Append(wx.ID_CUT, "Cu&t")
|
|
||||||
edit_menu.Append(wx.ID_COPY, "&Copy")
|
|
||||||
edit_menu.Append(wx.ID_PASTE, "&Paste")
|
|
||||||
self.menu_bar.Append(edit_menu, "&Edit")
|
|
||||||
|
|
||||||
|
# Create Clear Files menu item
|
||||||
|
clear_files_item = wx.MenuItem(images_menu, wx.ID_ANY, "&Clear files")
|
||||||
|
#clear_files_item.SetToolTip("Click to clear all files.")
|
||||||
|
images_menu.Append(clear_files_item)
|
||||||
|
|
||||||
|
self.menu_bar.Append(images_menu, "&Images")
|
||||||
|
|
||||||
|
# Create Reorder Files menu item
|
||||||
|
reorder_files_item = wx.MenuItem(images_menu, wx.ID_ANY, "&Reorder")
|
||||||
|
#reorder_files_item.SetToolTip("Click to reorder files as they are shown below. This will sequentially rename the files. Please note this is usually better done once the files have been uploaded.")
|
||||||
|
images_menu.Append(reorder_files_item)
|
||||||
|
|
||||||
|
self.Bind(wx.EVT_MENU, self.on_reorder_files, reorder_files_item)
|
||||||
|
|
||||||
|
# Bind Clear Files menu item event
|
||||||
|
self.Bind(wx.EVT_MENU, self.ClearFiles, clear_files_item)
|
||||||
|
|
||||||
|
|
||||||
|
# Create Reannonymise Files menu item
|
||||||
|
reannonymise_files_item = wx.MenuItem(images_menu, wx.ID_ANY, "&Reannonymise")
|
||||||
|
#reannonymise_files_item.SetToolTip("Click to reannonymise the currently loaded files.")
|
||||||
|
images_menu.Append(reannonymise_files_item)
|
||||||
|
|
||||||
|
self.Bind(wx.EVT_MENU, self.on_reannonymise_files, reannonymise_files_item)
|
||||||
|
|
||||||
|
|
||||||
|
# Create Refresh Files menu item
|
||||||
|
refresh_files_item = wx.MenuItem(images_menu, wx.ID_ANY, "&Refresh")
|
||||||
|
images_menu.Append(refresh_files_item)
|
||||||
|
|
||||||
|
self.Bind(wx.EVT_MENU, lambda evt: self.LoadDir(), refresh_files_item)
|
||||||
|
|
||||||
|
|
||||||
|
# Create Item creation menu
|
||||||
|
create_menu = wx.Menu()
|
||||||
|
|
||||||
|
create_menu_items = (
|
||||||
|
("&Rapid", f"/rapids/create/"),
|
||||||
|
("&Long Series", f"/longs/create/series"),
|
||||||
|
("&Atlas Case", f"/atlas/case/create/"),
|
||||||
|
)
|
||||||
|
|
||||||
|
for label, url in create_menu_items:
|
||||||
|
item = wx.MenuItem(create_menu, wx.ID_ANY, label)
|
||||||
|
create_menu.Append(item)
|
||||||
|
self.Bind(wx.EVT_MENU, lambda evt, url=url: webbrowser.open(f"{self.base_site_url}{url}"), item)
|
||||||
|
|
||||||
|
self.menu_bar.Append(create_menu, "&Create")
|
||||||
|
|
||||||
# Create Help menu
|
# Create Help menu
|
||||||
help_menu = wx.Menu()
|
help_menu = wx.Menu()
|
||||||
@@ -628,6 +677,9 @@ class AnonGui(wx.App):
|
|||||||
help_menu.Append(wx.ID_ABOUT, "&About")
|
help_menu.Append(wx.ID_ABOUT, "&About")
|
||||||
self.menu_bar.Append(help_menu, "&Help")
|
self.menu_bar.Append(help_menu, "&Help")
|
||||||
|
|
||||||
|
self.Bind(wx.EVT_MENU, self.on_about_box, id=wx.ID_ABOUT)
|
||||||
|
self.Bind(wx.EVT_MENU, self.on_help, id=wx.ID_HELP)
|
||||||
|
|
||||||
# Set menu bar
|
# Set menu bar
|
||||||
self.frame.SetMenuBar(self.menu_bar)
|
self.frame.SetMenuBar(self.menu_bar)
|
||||||
|
|
||||||
@@ -686,43 +738,16 @@ class AnonGui(wx.App):
|
|||||||
self.login_button.SetForegroundColour(wx.BLUE)
|
self.login_button.SetForegroundColour(wx.BLUE)
|
||||||
self.login_button.SetBackgroundColour(wx.WHITE)
|
self.login_button.SetBackgroundColour(wx.WHITE)
|
||||||
self.login_button.SetToolTip("Click to login to the server")
|
self.login_button.SetToolTip("Click to login to the server")
|
||||||
self.clear_files_button = wx.Button(
|
|
||||||
self.panel, id=wx.ID_ANY, label="Clear files"
|
|
||||||
)
|
|
||||||
self.clear_files_button.SetToolTip("Click to clear all files.")
|
|
||||||
self.refresh_files_button = wx.Button(self.panel, id=wx.ID_ANY, label="Refresh")
|
|
||||||
self.reorder_files_button = wx.Button(self.panel, id=wx.ID_ANY, label="Reorder")
|
|
||||||
self.reorder_files_button.SetToolTip("Click to reorder files as they are shown below. This will sequentially rename the files. Please note this is usually better done once the files have been uploaded.")
|
|
||||||
self.reannonymise_files_button = wx.Button(
|
|
||||||
self.panel, id=wx.ID_ANY, label="Reannonymise"
|
|
||||||
)
|
|
||||||
self.reannonymise_files_button.SetToolTip("Click to reannonymise the currently loaded files.")
|
|
||||||
self.manual_load_button = wx.Button(self.panel, id=wx.ID_ANY, label="Load")
|
|
||||||
self.manual_load_button.SetToolTip("Click to manually load dicom from a directory.")
|
|
||||||
|
|
||||||
# wx.Bind(self.clear_files_button, )
|
# wx.Bind(self.clear_files_button, )
|
||||||
self.Bind(wx.EVT_BUTTON, self.Login, self.login_button)
|
self.Bind(wx.EVT_BUTTON, self.Login, self.login_button)
|
||||||
self.Bind(wx.EVT_BUTTON, self.ClearFiles, self.clear_files_button)
|
#self.Bind(wx.EVT_BUTTON, self.ClearFiles, self.clear_files_button)
|
||||||
self.Bind(wx.EVT_BUTTON, lambda evt: self.LoadDir(), self.refresh_files_button)
|
|
||||||
self.Bind(wx.EVT_BUTTON, self.ReorderFiles, self.reorder_files_button)
|
|
||||||
self.Bind(wx.EVT_BUTTON, self.ReAnnonymiseFiles, self.reannonymise_files_button)
|
|
||||||
#self.Bind(
|
|
||||||
# wx.EVT_BUTTON,
|
|
||||||
# lambda evt: self.AnnonymiseFilesInDir(self.input_dir, self.dir),
|
|
||||||
# self.manual_load_button,
|
|
||||||
#)
|
|
||||||
self.Bind(wx.EVT_BUTTON, self.import_from_dir, self.manual_load_button)
|
|
||||||
|
|
||||||
# Use some sizers to see layout options
|
# Use some sizers to see layout options
|
||||||
# self.panel.sizer.Add(self.dirctrl, 1, wx.EXPAND)
|
# self.panel.sizer.Add(self.dirctrl, 1, wx.EXPAND)
|
||||||
|
|
||||||
hoz = wx.BoxSizer(wx.HORIZONTAL)
|
hoz = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
hoz.Add(self.login_button, 1, wx.EXPAND)
|
hoz.Add(self.login_button, 1, wx.EXPAND)
|
||||||
hoz.Add(self.clear_files_button, 1, wx.EXPAND)
|
|
||||||
hoz.Add(self.refresh_files_button, 1, wx.EXPAND)
|
|
||||||
hoz.Add(self.reorder_files_button, 1, wx.EXPAND)
|
|
||||||
hoz.Add(self.reannonymise_files_button, 1, wx.EXPAND)
|
|
||||||
hoz.Add(self.manual_load_button, 1, wx.EXPAND)
|
|
||||||
|
|
||||||
self.panel.sizer.Add(hoz, 1, wx.EXPAND)
|
self.panel.sizer.Add(hoz, 1, wx.EXPAND)
|
||||||
|
|
||||||
@@ -866,17 +891,21 @@ class AnonGui(wx.App):
|
|||||||
logger.debug(keycode)
|
logger.debug(keycode)
|
||||||
if keycode == wx.WXK_F1:
|
if keycode == wx.WXK_F1:
|
||||||
logger.debug("you pressed the F1!")
|
logger.debug("you pressed the F1!")
|
||||||
self.OnAboutBox()
|
self.on_help()
|
||||||
return
|
return
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
def OnAboutBox(self, event=None):
|
def on_help(self, event=None):
|
||||||
|
webbrowser.open(f"{self.base_site_url}/atlas/help")
|
||||||
|
|
||||||
|
def on_about_box(self, event=None):
|
||||||
description = f"""
|
description = f"""
|
||||||
An upload/export tool
|
An upload/export tool
|
||||||
|
|
||||||
Settings
|
Settings
|
||||||
--------
|
--------
|
||||||
Watch dir: {self.dir}
|
Watch/import dir: {self.input_dir}
|
||||||
|
Annonymised files dir: {self.dir}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
licence = """GPL"""
|
licence = """GPL"""
|
||||||
@@ -885,7 +914,7 @@ class AnonGui(wx.App):
|
|||||||
|
|
||||||
# info.SetIcon(wx.Icon('hunter.png', wx.BITMAP_TYPE_PNG))
|
# info.SetIcon(wx.Icon('hunter.png', wx.BITMAP_TYPE_PNG))
|
||||||
info.SetName("RadUploader")
|
info.SetName("RadUploader")
|
||||||
info.SetVersion("0.1")
|
info.SetVersioe("0.1")
|
||||||
info.SetDescription(description)
|
info.SetDescription(description)
|
||||||
|
|
||||||
info.SetLicence(licence)
|
info.SetLicence(licence)
|
||||||
@@ -907,6 +936,9 @@ class AnonGui(wx.App):
|
|||||||
self.file_duplicate_check = {}
|
self.file_duplicate_check = {}
|
||||||
if dir is None:
|
if dir is None:
|
||||||
dir = self.dir
|
dir = self.dir
|
||||||
|
|
||||||
|
logger.debug(f"LoadDir : {dir} / refresh: {refresh} / clear_file_detail_map: {clear_file_detail_map}")
|
||||||
|
|
||||||
if refresh:
|
if refresh:
|
||||||
self.files = {}
|
self.files = {}
|
||||||
self.series_map = {}
|
self.series_map = {}
|
||||||
@@ -979,7 +1011,7 @@ class AnonGui(wx.App):
|
|||||||
# viewer.MainLoop()
|
# viewer.MainLoop()
|
||||||
break
|
break
|
||||||
|
|
||||||
def ReAnnonymiseFiles(self, event):
|
def on_reannonymise_files(self, event):
|
||||||
global anonymizer
|
global anonymizer
|
||||||
anonymizer = dicognito.anonymizer.Anonymizer()
|
anonymizer = dicognito.anonymizer.Anonymizer()
|
||||||
paths = []
|
paths = []
|
||||||
@@ -1004,7 +1036,7 @@ class AnonGui(wx.App):
|
|||||||
|
|
||||||
self.LoadDir(self.dir, clear_file_detail_map=True)
|
self.LoadDir(self.dir, clear_file_detail_map=True)
|
||||||
|
|
||||||
def ReorderFiles(self, event):
|
def on_reorder_files(self, event):
|
||||||
paths = []
|
paths = []
|
||||||
|
|
||||||
# self.file_observer.pause()
|
# self.file_observer.pause()
|
||||||
|
|||||||
Reference in New Issue
Block a user