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 | ... | ... |