Commit c6e7c193ddc57ac6e423a60a4cb74fa65b25fde3
1 parent
c8881dc5
Exists in
master
and in
68 other branches
ENH: Removed devil icon... Still need to enhace icons.
Showing
6 changed files
with
126 additions
and
195 deletions
Show diff stats
invesalius/gui/default_tasks.py
| ... | ... | @@ -96,8 +96,8 @@ class Panel(wx.Panel): |
| 96 | 96 | size=wx.Size(280, 656)) |
| 97 | 97 | |
| 98 | 98 | sizer = wx.BoxSizer(wx.VERTICAL) |
| 99 | - sizer.Add(UpperTaskPanel(self), 4, wx.EXPAND|wx.GROW) | |
| 100 | - sizer.Add(LowerTaskPanel(self), 2, wx.EXPAND|wx.GROW) | |
| 99 | + sizer.Add(UpperTaskPanel(self), 5, wx.EXPAND|wx.GROW) | |
| 100 | + sizer.Add(LowerTaskPanel(self), 3, wx.EXPAND|wx.GROW) | |
| 101 | 101 | |
| 102 | 102 | self.SetSizer(sizer) |
| 103 | 103 | |
| ... | ... | @@ -105,7 +105,7 @@ class Panel(wx.Panel): |
| 105 | 105 | class LowerTaskPanel(wx.Panel): |
| 106 | 106 | def __init__(self, parent): |
| 107 | 107 | wx.Panel.__init__(self, parent, pos=wx.Point(5, 5), |
| 108 | - size=wx.Size(280, 656)) | |
| 108 | + size=wx.Size(280, 700)) | |
| 109 | 109 | |
| 110 | 110 | fold_panel = fpb.FoldPanelBar(self, -1, wx.DefaultPosition, |
| 111 | 111 | self.GetSize(),fpb.FPB_DEFAULT_STYLE, | ... | ... |
invesalius/gui/frame.py
| ... | ... | @@ -80,16 +80,23 @@ class Frame(wx.Frame): |
| 80 | 80 | |
| 81 | 81 | |
| 82 | 82 | # Add toolbars to manager |
| 83 | - aui_manager.AddPane(ToolBar(self), wx.aui.AuiPaneInfo(). | |
| 84 | - Name("Project Toolbar"). | |
| 83 | + | |
| 84 | + aui_manager.AddPane(ObjectToolBar(self), wx.aui.AuiPaneInfo(). | |
| 85 | + Name("General Features Toolbar"). | |
| 85 | 86 | ToolbarPane().Top().Floatable(False). |
| 86 | 87 | LeftDockable(False).RightDockable(False)) |
| 87 | 88 | |
| 88 | - aui_manager.AddPane(ToolBar(self), wx.aui.AuiPaneInfo(). | |
| 89 | - Name("General Features Toolbar"). | |
| 89 | + #aui_manager.AddPane(LayoutToolBar(self), wx.aui.AuiPaneInfo(). | |
| 90 | + # Name("Layout Toolbar"). | |
| 91 | + # ToolbarPane().Top().Floatable(False). | |
| 92 | + # LeftDockable(False).RightDockable(False)) | |
| 93 | + | |
| 94 | + aui_manager.AddPane(ProjectToolBar(self), wx.aui.AuiPaneInfo(). | |
| 95 | + Name("Project Toolbar"). | |
| 90 | 96 | ToolbarPane().Top().Floatable(False). |
| 91 | 97 | LeftDockable(False).RightDockable(False)) |
| 92 | 98 | |
| 99 | + | |
| 93 | 100 | aui_manager.Update() |
| 94 | 101 | |
| 95 | 102 | self.perspective_all = aui_manager.SavePerspective() |
| ... | ... | @@ -246,21 +253,83 @@ class TaskBarIcon(wx.TaskBarIcon): |
| 246 | 253 | |
| 247 | 254 | # ------------------------------------------------------------------------------ |
| 248 | 255 | |
| 249 | -class ToolBar(wx.ToolBar): | |
| 256 | +class ProjectToolBar(wx.ToolBar): | |
| 250 | 257 | # TODO: what will appear in menubar? |
| 251 | 258 | def __init__(self, parent): |
| 252 | 259 | wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, wx.DefaultSize, wx.TB_FLAT|wx.TB_NODIVIDER) |
| 253 | - self.SetToolBitmapSize(wx.Size(16,16)) | |
| 260 | + self.SetToolBitmapSize(wx.Size(25,25)) | |
| 254 | 261 | self.parent = parent |
| 255 | 262 | self.__init_items() |
| 256 | 263 | self.__bind_events() |
| 257 | 264 | |
| 258 | 265 | def __init_items(self): |
| 259 | - bmp = wx.ArtProvider_GetBitmap(wx.ART_QUESTION, wx.ART_OTHER, wx.Size(16,16)) | |
| 260 | - self.AddLabelTool(101, "Test", bmp) | |
| 261 | - self.AddLabelTool(101, "Test", bmp) | |
| 262 | - self.AddLabelTool(101, "Test", bmp) | |
| 263 | - self.AddLabelTool(101, "Test", bmp) | |
| 266 | + | |
| 267 | + BMP_IMPORT = wx.Bitmap("../icons/file_import.png", wx.BITMAP_TYPE_PNG) | |
| 268 | + BMP_EXPORT = wx.Bitmap("../icons/file_export.png", wx.BITMAP_TYPE_PNG) | |
| 269 | + BMP_NET = wx.Bitmap("../icons/file_from_internet.png", wx.BITMAP_TYPE_PNG) | |
| 270 | + BMP_SAVE = wx.Bitmap("../icons/file_save.png", wx.BITMAP_TYPE_PNG) | |
| 271 | + | |
| 272 | + self.AddLabelTool(101, "Import medical image...", BMP_IMPORT) | |
| 273 | + self.AddLabelTool(101, "Export data.", BMP_EXPORT) | |
| 274 | + self.AddLabelTool(101, "Load medical image...", BMP_NET) | |
| 275 | + self.AddLabelTool(101, "Save InVesalius project", BMP_SAVE) | |
| 276 | + | |
| 277 | + self.Realize() | |
| 278 | + | |
| 279 | + def __bind_events(self): | |
| 280 | + pass | |
| 281 | + | |
| 282 | +class ObjectToolBar(wx.ToolBar): | |
| 283 | + # TODO: what will appear in menubar? | |
| 284 | + def __init__(self, parent): | |
| 285 | + wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, wx.DefaultSize, wx.TB_FLAT|wx.TB_NODIVIDER) | |
| 286 | + self.SetToolBitmapSize(wx.Size(25,25)) | |
| 287 | + self.parent = parent | |
| 288 | + self.__init_items() | |
| 289 | + self.__bind_events() | |
| 290 | + | |
| 291 | + def __init_items(self): | |
| 292 | + | |
| 293 | + #BMP_ROTATE = wx.Bitmap("../icons/tool_rotate.gif", wx.BITMAP_TYPE_GIF) | |
| 294 | + #BMP_TRANSLATE = wx.Bitmap("../icons/tool_translate.gif", wx.BITMAP_TYPE_GIF) | |
| 295 | + BMP_ZOOM = wx.Bitmap("../icons/tool_zoom.png", wx.BITMAP_TYPE_PNG) | |
| 296 | + BMP_PHOTO = wx.Bitmap("../icons/tool_photo.png", wx.BITMAP_TYPE_PNG) | |
| 297 | + BMP_PRINT = wx.Bitmap("../icons/tool_print.png", wx.BITMAP_TYPE_PNG) | |
| 298 | + | |
| 299 | + #self.AddLabelTool(101, "Rotate image", BMP_ROTATE) | |
| 300 | + #self.AddLabelTool(101, "Translate image", BMP_TRANSLATE) | |
| 301 | + self.AddLabelTool(101, "Zoom image", BMP_ZOOM) | |
| 302 | + self.AddLabelTool(101, "Take photo of screen", BMP_PHOTO) | |
| 303 | + self.AddLabelTool(101, "Print screen", BMP_PRINT) | |
| 304 | + | |
| 305 | + self.Realize() | |
| 306 | + | |
| 307 | + def __bind_events(self): | |
| 308 | + pass | |
| 309 | + | |
| 310 | +class LayoutToolBar(wx.ToolBar): | |
| 311 | + # TODO: what will appear in menubar? | |
| 312 | + def __init__(self, parent): | |
| 313 | + wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, wx.DefaultSize, wx.TB_FLAT|wx.TB_NODIVIDER) | |
| 314 | + self.SetToolBitmapSize(wx.Size(25,25)) | |
| 315 | + self.parent = parent | |
| 316 | + self.__init_items() | |
| 317 | + self.__bind_events() | |
| 318 | + | |
| 319 | + def __init_items(self): | |
| 320 | + | |
| 321 | + BMP_ROTATE = wx.Bitmap("../icons/layout_data_only.png", wx.BITMAP_TYPE_PNG) | |
| 322 | + BMP_TRANSLATE = wx.Bitmap("../icons/layout_full.png", wx.BITMAP_TYPE_PNG) | |
| 323 | + #BMP_ZOOM = wx.Bitmap("../icons/tool_zoom.png", wx.BITMAP_TYPE_PNG) | |
| 324 | + #BMP_PHOTO = wx.Bitmap("../icons/tool_photo.png", wx.BITMAP_TYPE_PNG) | |
| 325 | + #BMP_PRINT = wx.Bitmap("../icons/tool_print.png", wx.BITMAP_TYPE_PNG) | |
| 326 | + | |
| 327 | + self.AddLabelTool(101, "Rotate image", BMP_ROTATE) | |
| 328 | + self.AddLabelTool(101, "Translate image", BMP_TRANSLATE) | |
| 329 | + #self.AddLabelTool(101, "Zoom image", BMP_ZOOM) | |
| 330 | + #self.AddLabelTool(101, "Take photo of screen", BMP_PHOTO) | |
| 331 | + #self.AddLabelTool(101, "Print screen", BMP_PRINT) | |
| 332 | + | |
| 264 | 333 | self.Realize() |
| 265 | 334 | |
| 266 | 335 | def __bind_events(self): | ... | ... |
invesalius/gui/task_importer.py
| ... | ... | @@ -20,7 +20,6 @@ import os |
| 20 | 20 | import wx |
| 21 | 21 | import wx.lib.hyperlink as hl |
| 22 | 22 | import wx.lib.platebtn as pbtn |
| 23 | -import wx.lib.embeddedimage as emb | |
| 24 | 23 | |
| 25 | 24 | BTN_IMPORT_LOCAL = wx.NewId() |
| 26 | 25 | BTN_IMPORT_PACS = wx.NewId() |
| ... | ... | @@ -31,44 +30,6 @@ WILDCARD_OPEN = "InVesalius 1 project (*.promed)|*.promed|"\ |
| 31 | 30 | "InVesalius 3 project (*.iv3)|*.iv3|"\ |
| 32 | 31 | "All files (*.*)|*.*" |
| 33 | 32 | |
| 34 | - | |
| 35 | -Devil = emb.PyEmbeddedImage( | |
| 36 | - "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABrpJ" | |
| 37 | - "REFUWIXtlluMlVcVx3/7u57LzLkMc5gbw2UovFRupQ1INdRkkkrIPDRpLSFREqk8oFKrPhmR" | |
| 38 | - "oEkfNLFJ39SQkrZGJGRMarCpVWmlLa2OCjOtpVBmgJnOfc79zHf/tg/nO5PTEQEbE1/6T/45" | |
| 39 | - "315n7b3+e+21sjd8iv8zRPPgtKKc9aV8UArxfT0Mf/4lcI+BocMXNME+BT4XQi6UtCqCigJz" | |
| 40 | - "oeQNH055cO44uKfB8BTlGwKOqvDW42G49+4FmGrx4Z9uSt98J+988JupwmzFe6mi8NjKroS6" | |
| 41 | - "bmOqNbcqKWKtOnpMxbMCrIrH3ERNXr9SrsxOLwatIYMrs8bAvY91Z7q3ZIyz37xU2h/KzO0E" | |
| 42 | - "qM2DR6QwWztzu9ZoG81W22ipFQr39XQl4jv2dJlpLKHnC4iZBeTEHCyUMGoW6bQm+j7TbspJ" | |
| 43 | - "J55NZ+974KEHkh2dveqNkXln+r35Hw9K+fpdZ+AFSKmKMvX5desSLYZB1XG4MH6d7dtBjYNq" | |
| 44 | - "gtDqs2QAoQuhDUFNMjQs2L2uj5iuU3Vdzo+OLi5K2fkEVG4nQGse3IDWFVJyZWGOvkwbw9OT" | |
| 45 | - "rO4FrQW0JKgxgdCbBDgQGBIUQU8nDH00zqbObq7lFyiDnIcUdxCgND4kCB3ObtycM4uexd8n" | |
| 46 | - "b7Kyw6NrLWgtAq1VoKVBzwqMrEDPgJ6K/ktCzxrIZFyGJm5Q8izWb8zGdDgrl2V5OZZqwIB9" | |
| 47 | - "3e3xL9+7tT3eVsjT2SVJrRR4cfj6JcmTb4f88SPYuUHQ2S5wEHz1lZAnL4Scm4dtGUFvAlYY" | |
| 48 | - "kJYh2b52pVhyEr+zg7E/wbu3zcAx0DR4ZuuWlSnn0hRIiVDr5/3sqKQ3BdcOaRy4X/Dt34fo" | |
| 49 | - "GcFP/hqyOiu4ckBl/3rB0ashiibq85A478+zeWNbSoNnji076mYIgB9Bf097/Mxnt3aknXeu" | |
| 50 | - "o2cEepZ6qrMCLQtmZNMyAi0OXgGcgsQvSrwC2HlJUASvIHELEq8Ise1dXLicL02VnEePwh+i" | |
| 51 | - "o44jxBmggpRPKwAm7Ovtbkn5ExVkWPdCggxBhhIR1ItOehBa4JchdCT4kT0ARYKUEtmYK8Gf" | |
| 52 | - "rtHTnkiZsE+CKoX4IfAEMA4EwEgjNbuzKxLCvzgTLSiRvkD6IN16uwW2RGgCGUhQIptVb8PQ" | |
| 53 | - "q1N61OcE9eX9gk3bPW0C2O3BTl3KUQEnpZQGoAmQGkAIuVhMZcSGMNBRanGCqXKUik+OlJak" | |
| 54 | - "V1cIIVeA6Tg8DpwU4FJnvTgCSGuGigxCNgwOkuzoIJHLMTo6yrZt2zBNE9M0UdV604yMjLBp" | |
| 55 | - "06aPBQvDkKGhIfr6+rBtm9nz57l++DCGJggg3QHXJiA7Df2dUT1A1AUqlLxFD+l56D09qKkU" | |
| 56 | - "ALqu33Jnmnbrom72N7q68F0Hz/ZRoQSQhyNVeHYCdn1MgAJzds1Da0niTU7eMdDdCPALBTRF" | |
| 57 | - "wbIDFJgD2AyFCnytDL/9EDYsCQBeX5i3ZFxXsC9fvuWCdyOg2W5duYKphCyUHAksXUjb4M0S" | |
| 58 | - "/KoEJ5cEOHBqYqZWzrVr5J9//n+SgfkXXySb0pgs2GUHTjX7VeFEFXa9AesVAB9eWyg5lpbQ" | |
| 59 | - "8D+8SnVo6BNloOFfHR7GHRtFM1UKNc/y4bVmvzJkK0ANQgXgOPg+PPXutWJ59eoEY0eO4C0s" | |
| 60 | - "/MdAjW64lQCvVOKfBw+yqk3lvclq2YenjoMPcBrUX8BABV4ow5sPw9jSbfg9+PVsxR0r2H6Q" | |
| 61 | - "M1yG9+4lnJ39rzIgy2X+0t9Pyi2Td8Nw0vKtSbj/u/CzH8Cr12CmDC+VYbYK+6DpOhYgyzBw" | |
| 62 | - "8UapoKQM2pVFRvbs4caJE8gwvKOAm6dO8daOHbRU5tCTGv+YqSnXocOC75Tg0Dz0z8L4NHzr" | |
| 63 | - "Kuw8BBNR3CUYQOwg7LhHcGZrbyqZM1V1fMZHJpKsO3CAnoEBkmvXEiYSqJZFbXycqZdfZuy5" | |
| 64 | - "5wjyC/SkBbO+5OJMTV6GiSpMSphwYXgO3v4bfABYgB3RbQhQgHiDD0FfP5zMpYzOzd2tMcX2" | |
| 65 | - "KRY9bHRc18N1HHTTwNB1YoFLulVDmiqX5hbdmZqX/yU8fbW+w0YwaxkbtlpzBmJNImJJaPkK" | |
| 66 | - "7F8FhzNJXV2TMuIrErowNAVdUXD9ANcLmK/58mbVtYuWL0dgcBBe9WCxaZfWLb4t6k81f/lz" | |
| 67 | - "SQcSgBkJMtPQ8kV4cC3saYEtCmQExCXYAZSK8P5l+PM5uGSBA3gRGxeO00QLqEW/cnkNNENE" | |
| 68 | - "NdEQYkTitIhqdGwiYvQKIKR+z/sR3aYdu5Ht3wLdLRoBlSY2oyGgwYaoT3Fb/At4CANJRbmY" | |
| 69 | - "kwAAAABJRU5ErkJggg==") | |
| 70 | - | |
| 71 | - | |
| 72 | 33 | class TaskPanel(wx.Panel): |
| 73 | 34 | def __init__(self, parent): |
| 74 | 35 | wx.Panel.__init__(self, parent) |
| ... | ... | @@ -125,19 +86,24 @@ class InnerTaskPanel(wx.Panel): |
| 125 | 86 | link_open_proj.Bind(hl.EVT_HYPERLINK_LEFT, self.OnLinkOpenProject) |
| 126 | 87 | |
| 127 | 88 | # Image(s) for buttons |
| 128 | - bitmap = Devil.GetBitmap() # 32, 32 | |
| 129 | - bitmap.SetWidth(20) | |
| 130 | - bitmap.SetHeight(20) | |
| 89 | + BMP_IMPORT = wx.Bitmap("../icons/file_import.png", wx.BITMAP_TYPE_PNG) | |
| 90 | + BMP_NET = wx.Bitmap("../icons/file_from_internet.png", wx.BITMAP_TYPE_PNG) | |
| 91 | + BMP_NULL = wx.Bitmap("../icons/object_invisible.jpg", wx.BITMAP_TYPE_JPEG) | |
| 92 | + | |
| 93 | + bmp_list = [BMP_IMPORT, BMP_NET, BMP_NULL] | |
| 94 | + for bmp in bmp_list: | |
| 95 | + bmp.SetWidth(25) | |
| 96 | + bmp.SetHeight(25) | |
| 131 | 97 | |
| 132 | 98 | # Buttons related to hyperlinks |
| 133 | 99 | button_style = pbtn.PB_STYLE_SQUARE | pbtn.PB_STYLE_NOBG |
| 134 | 100 | |
| 135 | 101 | button_import_local = pbtn.PlateButton(self, BTN_IMPORT_LOCAL, "", |
| 136 | - bitmap, style=button_style) | |
| 137 | - button_import_pacs = pbtn.PlateButton(self, BTN_IMPORT_PACS, "", bitmap, | |
| 102 | + BMP_IMPORT, style=button_style) | |
| 103 | + button_import_pacs = pbtn.PlateButton(self, BTN_IMPORT_PACS, "", BMP_NET, | |
| 138 | 104 | style=button_style) |
| 139 | 105 | button_open_proj = pbtn.PlateButton(self, BTN_OPEN_PROJECT, "", |
| 140 | - bitmap, style=button_style) | |
| 106 | + BMP_NULL, style=button_style) | |
| 141 | 107 | |
| 142 | 108 | # When using PlaneButton, it is necessary to bind events from parent win |
| 143 | 109 | self.Bind(wx.EVT_BUTTON, self.OnButton) | ... | ... |
invesalius/gui/task_slice.py
| ... | ... | @@ -19,7 +19,6 @@ |
| 19 | 19 | |
| 20 | 20 | import wx |
| 21 | 21 | import wx.lib.colourselect as csel |
| 22 | -import wx.lib.embeddedimage as emb | |
| 23 | 22 | import wx.lib.hyperlink as hl |
| 24 | 23 | import wx.lib.platebtn as pbtn |
| 25 | 24 | import wx.lib.pubsub as ps |
| ... | ... | @@ -46,42 +45,6 @@ MASK_LIST = [] |
| 46 | 45 | |
| 47 | 46 | OP_LIST = ["Draw", "Erase", "Threshold"] |
| 48 | 47 | |
| 49 | -Devil = emb.PyEmbeddedImage( | |
| 50 | - "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABrpJ" | |
| 51 | - "REFUWIXtlluMlVcVx3/7u57LzLkMc5gbw2UovFRupQ1INdRkkkrIPDRpLSFREqk8oFKrPhmR" | |
| 52 | - "oEkfNLFJ39SQkrZGJGRMarCpVWmlLa2OCjOtpVBmgJnOfc79zHf/tg/nO5PTEQEbE1/6T/45" | |
| 53 | - "315n7b3+e+21sjd8iv8zRPPgtKKc9aV8UArxfT0Mf/4lcI+BocMXNME+BT4XQi6UtCqCigJz" | |
| 54 | - "oeQNH055cO44uKfB8BTlGwKOqvDW42G49+4FmGrx4Z9uSt98J+988JupwmzFe6mi8NjKroS6" | |
| 55 | - "bmOqNbcqKWKtOnpMxbMCrIrH3ERNXr9SrsxOLwatIYMrs8bAvY91Z7q3ZIyz37xU2h/KzO0E" | |
| 56 | - "qM2DR6QwWztzu9ZoG81W22ipFQr39XQl4jv2dJlpLKHnC4iZBeTEHCyUMGoW6bQm+j7TbspJ" | |
| 57 | - "J55NZ+974KEHkh2dveqNkXln+r35Hw9K+fpdZ+AFSKmKMvX5desSLYZB1XG4MH6d7dtBjYNq" | |
| 58 | - "gtDqs2QAoQuhDUFNMjQs2L2uj5iuU3Vdzo+OLi5K2fkEVG4nQGse3IDWFVJyZWGOvkwbw9OT" | |
| 59 | - "rO4FrQW0JKgxgdCbBDgQGBIUQU8nDH00zqbObq7lFyiDnIcUdxCgND4kCB3ObtycM4uexd8n" | |
| 60 | - "b7Kyw6NrLWgtAq1VoKVBzwqMrEDPgJ6K/ktCzxrIZFyGJm5Q8izWb8zGdDgrl2V5OZZqwIB9" | |
| 61 | - "3e3xL9+7tT3eVsjT2SVJrRR4cfj6JcmTb4f88SPYuUHQ2S5wEHz1lZAnL4Scm4dtGUFvAlYY" | |
| 62 | - "kJYh2b52pVhyEr+zg7E/wbu3zcAx0DR4ZuuWlSnn0hRIiVDr5/3sqKQ3BdcOaRy4X/Dt34fo" | |
| 63 | - "GcFP/hqyOiu4ckBl/3rB0ashiibq85A478+zeWNbSoNnji076mYIgB9Bf097/Mxnt3aknXeu" | |
| 64 | - "o2cEepZ6qrMCLQtmZNMyAi0OXgGcgsQvSrwC2HlJUASvIHELEq8Ise1dXLicL02VnEePwh+i" | |
| 65 | - "o44jxBmggpRPKwAm7Ovtbkn5ExVkWPdCggxBhhIR1ItOehBa4JchdCT4kT0ARYKUEtmYK8Gf" | |
| 66 | - "rtHTnkiZsE+CKoX4IfAEMA4EwEgjNbuzKxLCvzgTLSiRvkD6IN16uwW2RGgCGUhQIptVb8PQ" | |
| 67 | - "q1N61OcE9eX9gk3bPW0C2O3BTl3KUQEnpZQGoAmQGkAIuVhMZcSGMNBRanGCqXKUik+OlJak" | |
| 68 | - "V1cIIVeA6Tg8DpwU4FJnvTgCSGuGigxCNgwOkuzoIJHLMTo6yrZt2zBNE9M0UdV604yMjLBp" | |
| 69 | - "06aPBQvDkKGhIfr6+rBtm9nz57l++DCGJggg3QHXJiA7Df2dUT1A1AUqlLxFD+l56D09qKkU" | |
| 70 | - "ALqu33Jnmnbrom72N7q68F0Hz/ZRoQSQhyNVeHYCdn1MgAJzds1Da0niTU7eMdDdCPALBTRF" | |
| 71 | - "wbIDFJgD2AyFCnytDL/9EDYsCQBeX5i3ZFxXsC9fvuWCdyOg2W5duYKphCyUHAksXUjb4M0S" | |
| 72 | - "/KoEJ5cEOHBqYqZWzrVr5J9//n+SgfkXXySb0pgs2GUHTjX7VeFEFXa9AesVAB9eWyg5lpbQ" | |
| 73 | - "8D+8SnVo6BNloOFfHR7GHRtFM1UKNc/y4bVmvzJkK0ANQgXgOPg+PPXutWJ59eoEY0eO4C0s" | |
| 74 | - "/MdAjW64lQCvVOKfBw+yqk3lvclq2YenjoMPcBrUX8BABV4ow5sPw9jSbfg9+PVsxR0r2H6Q" | |
| 75 | - "M1yG9+4lnJ39rzIgy2X+0t9Pyi2Td8Nw0vKtSbj/u/CzH8Cr12CmDC+VYbYK+6DpOhYgyzBw" | |
| 76 | - "8UapoKQM2pVFRvbs4caJE8gwvKOAm6dO8daOHbRU5tCTGv+YqSnXocOC75Tg0Dz0z8L4NHzr" | |
| 77 | - "Kuw8BBNR3CUYQOwg7LhHcGZrbyqZM1V1fMZHJpKsO3CAnoEBkmvXEiYSqJZFbXycqZdfZuy5" | |
| 78 | - "5wjyC/SkBbO+5OJMTV6GiSpMSphwYXgO3v4bfABYgB3RbQhQgHiDD0FfP5zMpYzOzd2tMcX2" | |
| 79 | - "KRY9bHRc18N1HHTTwNB1YoFLulVDmiqX5hbdmZqX/yU8fbW+w0YwaxkbtlpzBmJNImJJaPkK" | |
| 80 | - "7F8FhzNJXV2TMuIrErowNAVdUXD9ANcLmK/58mbVtYuWL0dgcBBe9WCxaZfWLb4t6k81f/lz" | |
| 81 | - "SQcSgBkJMtPQ8kV4cC3saYEtCmQExCXYAZSK8P5l+PM5uGSBA3gRGxeO00QLqEW/cnkNNENE" | |
| 82 | - "NdEQYkTitIhqdGwiYvQKIKR+z/sR3aYdu5Ht3wLdLRoBlSY2oyGgwYaoT3Fb/At4CANJRbmY" | |
| 83 | - "kwAAAABJRU5ErkJggg==") | |
| 84 | - | |
| 85 | 48 | |
| 86 | 49 | class TaskPanel(wx.Panel): |
| 87 | 50 | def __init__(self, parent): |
| ... | ... | @@ -107,15 +70,16 @@ class InnerTaskPanel(wx.Panel): |
| 107 | 70 | self.SetAutoLayout(1) |
| 108 | 71 | |
| 109 | 72 | # Image(s) for buttons |
| 110 | - bitmap = Devil.GetBitmap() # 32, 32 | |
| 111 | - bitmap.SetWidth(20) | |
| 112 | - bitmap.SetHeight(20) | |
| 73 | + BMP_ADD = wx.Bitmap("../icons/object_add.png", wx.BITMAP_TYPE_PNG) | |
| 74 | + BMP_ADD.SetWidth(25) | |
| 75 | + BMP_ADD.SetHeight(25) | |
| 113 | 76 | |
| 114 | - # Button for creating new mask | |
| 115 | - button_new_mask = pbtn.PlateButton(self, BTN_NEW, "", bitmap, style=\ | |
| 77 | + # Button for creating new surface | |
| 78 | + button_new_mask = pbtn.PlateButton(self, BTN_NEW, "", BMP_ADD, style=\ | |
| 116 | 79 | pbtn.PB_STYLE_SQUARE | pbtn.PB_STYLE_NOBG) |
| 117 | 80 | self.Bind(wx.EVT_BUTTON, self.OnButton) |
| 118 | 81 | |
| 82 | + | |
| 119 | 83 | # Fixed hyperlink items |
| 120 | 84 | tooltip = wx.ToolTip("Create mask for slice segmentation and edition") |
| 121 | 85 | link_new_mask = hl.HyperLinkCtrl(self, -1, "Create new mask") | ... | ... |
invesalius/gui/task_surface.py
| ... | ... | @@ -18,7 +18,6 @@ |
| 18 | 18 | #-------------------------------------------------------------------------- |
| 19 | 19 | import wx |
| 20 | 20 | import wx.lib.colourselect as csel |
| 21 | -import wx.lib.embeddedimage as emb | |
| 22 | 21 | import wx.lib.hyperlink as hl |
| 23 | 22 | import wx.lib.platebtn as pbtn |
| 24 | 23 | import wx.lib.pubsub as ps |
| ... | ... | @@ -39,42 +38,6 @@ MENU_CIRCLE = wx.NewId() |
| 39 | 38 | |
| 40 | 39 | OP_LIST = ["Draw", "Erase", "Threshold"] |
| 41 | 40 | |
| 42 | -Devil = emb.PyEmbeddedImage( | |
| 43 | - "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABrpJ" | |
| 44 | - "REFUWIXtlluMlVcVx3/7u57LzLkMc5gbw2UovFRupQ1INdRkkkrIPDRpLSFREqk8oFKrPhmR" | |
| 45 | - "oEkfNLFJ39SQkrZGJGRMarCpVWmlLa2OCjOtpVBmgJnOfc79zHf/tg/nO5PTEQEbE1/6T/45" | |
| 46 | - "315n7b3+e+21sjd8iv8zRPPgtKKc9aV8UArxfT0Mf/4lcI+BocMXNME+BT4XQi6UtCqCigJz" | |
| 47 | - "oeQNH055cO44uKfB8BTlGwKOqvDW42G49+4FmGrx4Z9uSt98J+988JupwmzFe6mi8NjKroS6" | |
| 48 | - "bmOqNbcqKWKtOnpMxbMCrIrH3ERNXr9SrsxOLwatIYMrs8bAvY91Z7q3ZIyz37xU2h/KzO0E" | |
| 49 | - "qM2DR6QwWztzu9ZoG81W22ipFQr39XQl4jv2dJlpLKHnC4iZBeTEHCyUMGoW6bQm+j7TbspJ" | |
| 50 | - "J55NZ+974KEHkh2dveqNkXln+r35Hw9K+fpdZ+AFSKmKMvX5desSLYZB1XG4MH6d7dtBjYNq" | |
| 51 | - "gtDqs2QAoQuhDUFNMjQs2L2uj5iuU3Vdzo+OLi5K2fkEVG4nQGse3IDWFVJyZWGOvkwbw9OT" | |
| 52 | - "rO4FrQW0JKgxgdCbBDgQGBIUQU8nDH00zqbObq7lFyiDnIcUdxCgND4kCB3ObtycM4uexd8n" | |
| 53 | - "b7Kyw6NrLWgtAq1VoKVBzwqMrEDPgJ6K/ktCzxrIZFyGJm5Q8izWb8zGdDgrl2V5OZZqwIB9" | |
| 54 | - "3e3xL9+7tT3eVsjT2SVJrRR4cfj6JcmTb4f88SPYuUHQ2S5wEHz1lZAnL4Scm4dtGUFvAlYY" | |
| 55 | - "kJYh2b52pVhyEr+zg7E/wbu3zcAx0DR4ZuuWlSnn0hRIiVDr5/3sqKQ3BdcOaRy4X/Dt34fo" | |
| 56 | - "GcFP/hqyOiu4ckBl/3rB0ashiibq85A478+zeWNbSoNnji076mYIgB9Bf097/Mxnt3aknXeu" | |
| 57 | - "o2cEepZ6qrMCLQtmZNMyAi0OXgGcgsQvSrwC2HlJUASvIHELEq8Ise1dXLicL02VnEePwh+i" | |
| 58 | - "o44jxBmggpRPKwAm7Ovtbkn5ExVkWPdCggxBhhIR1ItOehBa4JchdCT4kT0ARYKUEtmYK8Gf" | |
| 59 | - "rtHTnkiZsE+CKoX4IfAEMA4EwEgjNbuzKxLCvzgTLSiRvkD6IN16uwW2RGgCGUhQIptVb8PQ" | |
| 60 | - "q1N61OcE9eX9gk3bPW0C2O3BTl3KUQEnpZQGoAmQGkAIuVhMZcSGMNBRanGCqXKUik+OlJak" | |
| 61 | - "V1cIIVeA6Tg8DpwU4FJnvTgCSGuGigxCNgwOkuzoIJHLMTo6yrZt2zBNE9M0UdV604yMjLBp" | |
| 62 | - "06aPBQvDkKGhIfr6+rBtm9nz57l++DCGJggg3QHXJiA7Df2dUT1A1AUqlLxFD+l56D09qKkU" | |
| 63 | - "ALqu33Jnmnbrom72N7q68F0Hz/ZRoQSQhyNVeHYCdn1MgAJzds1Da0niTU7eMdDdCPALBTRF" | |
| 64 | - "wbIDFJgD2AyFCnytDL/9EDYsCQBeX5i3ZFxXsC9fvuWCdyOg2W5duYKphCyUHAksXUjb4M0S" | |
| 65 | - "/KoEJ5cEOHBqYqZWzrVr5J9//n+SgfkXXySb0pgs2GUHTjX7VeFEFXa9AesVAB9eWyg5lpbQ" | |
| 66 | - "8D+8SnVo6BNloOFfHR7GHRtFM1UKNc/y4bVmvzJkK0ANQgXgOPg+PPXutWJ59eoEY0eO4C0s" | |
| 67 | - "/MdAjW64lQCvVOKfBw+yqk3lvclq2YenjoMPcBrUX8BABV4ow5sPw9jSbfg9+PVsxR0r2H6Q" | |
| 68 | - "M1yG9+4lnJ39rzIgy2X+0t9Pyi2Td8Nw0vKtSbj/u/CzH8Cr12CmDC+VYbYK+6DpOhYgyzBw" | |
| 69 | - "8UapoKQM2pVFRvbs4caJE8gwvKOAm6dO8daOHbRU5tCTGv+YqSnXocOC75Tg0Dz0z8L4NHzr" | |
| 70 | - "Kuw8BBNR3CUYQOwg7LhHcGZrbyqZM1V1fMZHJpKsO3CAnoEBkmvXEiYSqJZFbXycqZdfZuy5" | |
| 71 | - "5wjyC/SkBbO+5OJMTV6GiSpMSphwYXgO3v4bfABYgB3RbQhQgHiDD0FfP5zMpYzOzd2tMcX2" | |
| 72 | - "KRY9bHRc18N1HHTTwNB1YoFLulVDmiqX5hbdmZqX/yU8fbW+w0YwaxkbtlpzBmJNImJJaPkK" | |
| 73 | - "7F8FhzNJXV2TMuIrErowNAVdUXD9ANcLmK/58mbVtYuWL0dgcBBe9WCxaZfWLb4t6k81f/lz" | |
| 74 | - "SQcSgBkJMtPQ8kV4cC3saYEtCmQExCXYAZSK8P5l+PM5uGSBA3gRGxeO00QLqEW/cnkNNENE" | |
| 75 | - "NdEQYkTitIhqdGwiYvQKIKR+z/sR3aYdu5Ht3wLdLRoBlSY2oyGgwYaoT3Fb/At4CANJRbmY" | |
| 76 | - "kwAAAABJRU5ErkJggg==") | |
| 77 | - | |
| 78 | 41 | |
| 79 | 42 | class TaskPanel(wx.Panel): |
| 80 | 43 | def __init__(self, parent): |
| ... | ... | @@ -104,13 +67,13 @@ class InnerTaskPanel(wx.Panel): |
| 104 | 67 | self.SetBackgroundColour(wx.Colour(255,255,255)) |
| 105 | 68 | self.SetAutoLayout(1) |
| 106 | 69 | |
| 107 | - # Image(s) for buttons | |
| 108 | - bitmap = Devil.GetBitmap() # 32, 32 | |
| 109 | - bitmap.SetWidth(20) | |
| 110 | - bitmap.SetHeight(20) | |
| 70 | + | |
| 71 | + BMP_ADD = wx.Bitmap("../icons/object_add.png", wx.BITMAP_TYPE_PNG) | |
| 72 | + BMP_ADD.SetWidth(25) | |
| 73 | + BMP_ADD.SetHeight(25) | |
| 111 | 74 | |
| 112 | 75 | # Button for creating new surface |
| 113 | - button_new_surface = pbtn.PlateButton(self, BTN_NEW, "", bitmap, style=\ | |
| 76 | + button_new_surface = pbtn.PlateButton(self, BTN_NEW, "", BMP_ADD, style=\ | |
| 114 | 77 | pbtn.PB_STYLE_SQUARE | pbtn.PB_STYLE_NOBG) |
| 115 | 78 | self.Bind(wx.EVT_BUTTON, self.OnButton) |
| 116 | 79 | ... | ... |
invesalius/gui/task_tools.py
| ... | ... | @@ -22,46 +22,9 @@ import wx.lib.hyperlink as hl |
| 22 | 22 | import wx.lib.platebtn as pbtn |
| 23 | 23 | import wx.lib.embeddedimage as emb |
| 24 | 24 | |
| 25 | -BTN_MEASURE_LINEAR = wx.NewId() | |
| 26 | -BTN_MEASURE_ANGULAR = wx.NewId() | |
| 27 | -BTN_ANNOTATION = wx.NewId() | |
| 28 | - | |
| 29 | -Devil = emb.PyEmbeddedImage( | |
| 30 | - "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABrpJ" | |
| 31 | - "REFUWIXtlluMlVcVx3/7u57LzLkMc5gbw2UovFRupQ1INdRkkkrIPDRpLSFREqk8oFKrPhmR" | |
| 32 | - "oEkfNLFJ39SQkrZGJGRMarCpVWmlLa2OCjOtpVBmgJnOfc79zHf/tg/nO5PTEQEbE1/6T/45" | |
| 33 | - "315n7b3+e+21sjd8iv8zRPPgtKKc9aV8UArxfT0Mf/4lcI+BocMXNME+BT4XQi6UtCqCigJz" | |
| 34 | - "oeQNH055cO44uKfB8BTlGwKOqvDW42G49+4FmGrx4Z9uSt98J+988JupwmzFe6mi8NjKroS6" | |
| 35 | - "bmOqNbcqKWKtOnpMxbMCrIrH3ERNXr9SrsxOLwatIYMrs8bAvY91Z7q3ZIyz37xU2h/KzO0E" | |
| 36 | - "qM2DR6QwWztzu9ZoG81W22ipFQr39XQl4jv2dJlpLKHnC4iZBeTEHCyUMGoW6bQm+j7TbspJ" | |
| 37 | - "J55NZ+974KEHkh2dveqNkXln+r35Hw9K+fpdZ+AFSKmKMvX5desSLYZB1XG4MH6d7dtBjYNq" | |
| 38 | - "gtDqs2QAoQuhDUFNMjQs2L2uj5iuU3Vdzo+OLi5K2fkEVG4nQGse3IDWFVJyZWGOvkwbw9OT" | |
| 39 | - "rO4FrQW0JKgxgdCbBDgQGBIUQU8nDH00zqbObq7lFyiDnIcUdxCgND4kCB3ObtycM4uexd8n" | |
| 40 | - "b7Kyw6NrLWgtAq1VoKVBzwqMrEDPgJ6K/ktCzxrIZFyGJm5Q8izWb8zGdDgrl2V5OZZqwIB9" | |
| 41 | - "3e3xL9+7tT3eVsjT2SVJrRR4cfj6JcmTb4f88SPYuUHQ2S5wEHz1lZAnL4Scm4dtGUFvAlYY" | |
| 42 | - "kJYh2b52pVhyEr+zg7E/wbu3zcAx0DR4ZuuWlSnn0hRIiVDr5/3sqKQ3BdcOaRy4X/Dt34fo" | |
| 43 | - "GcFP/hqyOiu4ckBl/3rB0ashiibq85A478+zeWNbSoNnji076mYIgB9Bf097/Mxnt3aknXeu" | |
| 44 | - "o2cEepZ6qrMCLQtmZNMyAi0OXgGcgsQvSrwC2HlJUASvIHELEq8Ise1dXLicL02VnEePwh+i" | |
| 45 | - "o44jxBmggpRPKwAm7Ovtbkn5ExVkWPdCggxBhhIR1ItOehBa4JchdCT4kT0ARYKUEtmYK8Gf" | |
| 46 | - "rtHTnkiZsE+CKoX4IfAEMA4EwEgjNbuzKxLCvzgTLSiRvkD6IN16uwW2RGgCGUhQIptVb8PQ" | |
| 47 | - "q1N61OcE9eX9gk3bPW0C2O3BTl3KUQEnpZQGoAmQGkAIuVhMZcSGMNBRanGCqXKUik+OlJak" | |
| 48 | - "V1cIIVeA6Tg8DpwU4FJnvTgCSGuGigxCNgwOkuzoIJHLMTo6yrZt2zBNE9M0UdV604yMjLBp" | |
| 49 | - "06aPBQvDkKGhIfr6+rBtm9nz57l++DCGJggg3QHXJiA7Df2dUT1A1AUqlLxFD+l56D09qKkU" | |
| 50 | - "ALqu33Jnmnbrom72N7q68F0Hz/ZRoQSQhyNVeHYCdn1MgAJzds1Da0niTU7eMdDdCPALBTRF" | |
| 51 | - "wbIDFJgD2AyFCnytDL/9EDYsCQBeX5i3ZFxXsC9fvuWCdyOg2W5duYKphCyUHAksXUjb4M0S" | |
| 52 | - "/KoEJ5cEOHBqYqZWzrVr5J9//n+SgfkXXySb0pgs2GUHTjX7VeFEFXa9AesVAB9eWyg5lpbQ" | |
| 53 | - "8D+8SnVo6BNloOFfHR7GHRtFM1UKNc/y4bVmvzJkK0ANQgXgOPg+PPXutWJ59eoEY0eO4C0s" | |
| 54 | - "/MdAjW64lQCvVOKfBw+yqk3lvclq2YenjoMPcBrUX8BABV4ow5sPw9jSbfg9+PVsxR0r2H6Q" | |
| 55 | - "M1yG9+4lnJ39rzIgy2X+0t9Pyi2Td8Nw0vKtSbj/u/CzH8Cr12CmDC+VYbYK+6DpOhYgyzBw" | |
| 56 | - "8UapoKQM2pVFRvbs4caJE8gwvKOAm6dO8daOHbRU5tCTGv+YqSnXocOC75Tg0Dz0z8L4NHzr" | |
| 57 | - "Kuw8BBNR3CUYQOwg7LhHcGZrbyqZM1V1fMZHJpKsO3CAnoEBkmvXEiYSqJZFbXycqZdfZuy5" | |
| 58 | - "5wjyC/SkBbO+5OJMTV6GiSpMSphwYXgO3v4bfABYgB3RbQhQgHiDD0FfP5zMpYzOzd2tMcX2" | |
| 59 | - "KRY9bHRc18N1HHTTwNB1YoFLulVDmiqX5hbdmZqX/yU8fbW+w0YwaxkbtlpzBmJNImJJaPkK" | |
| 60 | - "7F8FhzNJXV2TMuIrErowNAVdUXD9ANcLmK/58mbVtYuWL0dgcBBe9WCxaZfWLb4t6k81f/lz" | |
| 61 | - "SQcSgBkJMtPQ8kV4cC3saYEtCmQExCXYAZSK8P5l+PM5uGSBA3gRGxeO00QLqEW/cnkNNENE" | |
| 62 | - "NdEQYkTitIhqdGwiYvQKIKR+z/sR3aYdu5Ht3wLdLRoBlSY2oyGgwYaoT3Fb/At4CANJRbmY" | |
| 63 | - "kwAAAABJRU5ErkJggg==") | |
| 64 | - | |
| 25 | +ID_BTN_MEASURE_LINEAR = wx.NewId() | |
| 26 | +ID_BTN_MEASURE_ANGULAR = wx.NewId() | |
| 27 | +ID_BTN_ANNOTATION = wx.NewId() | |
| 65 | 28 | |
| 66 | 29 | class TaskPanel(wx.Panel): |
| 67 | 30 | def __init__(self, parent): |
| ... | ... | @@ -105,20 +68,26 @@ class InnerTaskPanel(wx.Panel): |
| 105 | 68 | txt_annotation.Bind(hl.EVT_HYPERLINK_LEFT, self.OnTextAnnotation) |
| 106 | 69 | |
| 107 | 70 | # Image(s) for buttons |
| 108 | - bitmap = Devil.GetBitmap() # 32, 32 | |
| 109 | - bitmap.SetWidth(20) | |
| 110 | - bitmap.SetHeight(20) | |
| 71 | + BMP_ANNOTATE = wx.Bitmap("../icons/annotation.png", wx.BITMAP_TYPE_PNG) | |
| 72 | + BMP_ANGLE = wx.Bitmap("../icons/measure_angle.jpg", wx.BITMAP_TYPE_JPEG) | |
| 73 | + BMP_DISTANCE = wx.Bitmap("../icons/measure_line.png", wx.BITMAP_TYPE_PNG) | |
| 74 | + BMP_ANNOTATE.SetWidth(25) | |
| 75 | + BMP_ANNOTATE.SetHeight(25) | |
| 76 | + BMP_ANGLE.SetWidth(25) | |
| 77 | + BMP_ANGLE.SetHeight(25) | |
| 78 | + BMP_DISTANCE.SetWidth(25) | |
| 79 | + BMP_DISTANCE.SetHeight(25) | |
| 111 | 80 | |
| 112 | 81 | # Buttons related to hyperlinks |
| 113 | 82 | button_style = pbtn.PB_STYLE_SQUARE | pbtn.PB_STYLE_NOBG |
| 114 | 83 | |
| 115 | - button_measure_linear = pbtn.PlateButton(self, BTN_MEASURE_LINEAR, "", | |
| 116 | - bitmap, style=button_style) | |
| 117 | - button_measure_angular = pbtn.PlateButton(self, BTN_MEASURE_ANGULAR, "", | |
| 118 | - bitmap, style=button_style) | |
| 84 | + button_measure_linear = pbtn.PlateButton(self, ID_BTN_MEASURE_LINEAR, "", | |
| 85 | + BMP_DISTANCE, style=button_style) | |
| 86 | + button_measure_angular = pbtn.PlateButton(self, ID_BTN_MEASURE_ANGULAR, "", | |
| 87 | + BMP_ANGLE, style=button_style) | |
| 119 | 88 | |
| 120 | - button_annotation = pbtn.PlateButton(self, BTN_ANNOTATION, "", | |
| 121 | - bitmap, style=button_style) | |
| 89 | + button_annotation = pbtn.PlateButton(self, ID_BTN_ANNOTATION, "", | |
| 90 | + BMP_ANNOTATE, style=button_style) | |
| 122 | 91 | |
| 123 | 92 | # When using PlaneButton, it is necessary to bind events from parent win |
| 124 | 93 | self.Bind(wx.EVT_BUTTON, self.OnButton) |
| ... | ... | @@ -157,11 +126,11 @@ class InnerTaskPanel(wx.Panel): |
| 157 | 126 | def OnButton(self, evt): |
| 158 | 127 | id = evt.GetId() |
| 159 | 128 | |
| 160 | - if id == BTN_MEASURE_LINEAR: | |
| 129 | + if id == ID_BTN_MEASURE_LINEAR: | |
| 161 | 130 | self.OnLinkLinearMeasure() |
| 162 | - elif id == BTN_MEASURE_ANGULAR: | |
| 131 | + elif id == ID_BTN_MEASURE_ANGULAR: | |
| 163 | 132 | self.OnLinkAngularMeasure() |
| 164 | - else: # elif id == BTN_ANNOTATION: | |
| 133 | + else: # elif id == ID_BTN_ANNOTATION: | |
| 165 | 134 | self.OnTextAnnotation() |
| 166 | 135 | |
| 167 | 136 | ... | ... |