Commit 25d43e7999989cdc43c3b53de15f86e14411dffb
1 parent
7c5949ff
Exists in
master
and in
6 other branches
ENH: Linked new's icons of the reposition of the volume and surface
Showing
1 changed file
with
45 additions
and
48 deletions
Show diff stats
invesalius/gui/default_viewers.py
@@ -39,26 +39,26 @@ class Panel(wx.Panel): | @@ -39,26 +39,26 @@ class Panel(wx.Panel): | ||
39 | 39 | ||
40 | 40 | ||
41 | # TODO: Testar mais e verificar melhor opcao | 41 | # TODO: Testar mais e verificar melhor opcao |
42 | - | 42 | + |
43 | # Position | 43 | # Position |
44 | # volume | pos = 0 | 44 | # volume | pos = 0 |
45 | # sagital | pos = 1 | 45 | # sagital | pos = 1 |
46 | # coronal | pos = 2 | 46 | # coronal | pos = 2 |
47 | # axial | pos = 3 | 47 | # axial | pos = 3 |
48 | # Automatico: assim que painel eh inserido ele ocupa local mais acima na janela (menor numero de posicao) | 48 | # Automatico: assim que painel eh inserido ele ocupa local mais acima na janela (menor numero de posicao) |
49 | - | 49 | + |
50 | # Layer | 50 | # Layer |
51 | # Layer 0 | Layer 1 | Layer 2 | ... | 51 | # Layer 0 | Layer 1 | Layer 2 | ... |
52 | # Automatico: todos sao colocados no mesmo layer | 52 | # Automatico: todos sao colocados no mesmo layer |
53 | - | 53 | + |
54 | # O que eh o Dockable? | 54 | # O que eh o Dockable? |
55 | - | 55 | + |
56 | # Row | 56 | # Row |
57 | # Row 0 | Row 1 | 57 | # Row 0 | Row 1 |
58 | # Idem ao layer | 58 | # Idem ao layer |
59 | - | 59 | + |
60 | # Como funciona Direction? | 60 | # Como funciona Direction? |
61 | - | 61 | + |
62 | # Primeira alternativa: | 62 | # Primeira alternativa: |
63 | # modo: 2 no Layer 0, 2 no Layer 1 por exemplo - posicao automatica (ao inves de Layer pode ser utilizado Row) | 63 | # modo: 2 no Layer 0, 2 no Layer 1 por exemplo - posicao automatica (ao inves de Layer pode ser utilizado Row) |
64 | # problema: sash control soh aparece no sentido ertical | 64 | # problema: sash control soh aparece no sentido ertical |
@@ -68,22 +68,22 @@ class Panel(wx.Panel): | @@ -68,22 +68,22 @@ class Panel(wx.Panel): | ||
68 | s1 = wx.aui.AuiPaneInfo().Centre().Row(0).\ | 68 | s1 = wx.aui.AuiPaneInfo().Centre().Row(0).\ |
69 | Name("Axial Slice").Caption("Axial slice").\ | 69 | Name("Axial Slice").Caption("Axial slice").\ |
70 | MaximizeButton(True).CloseButton(False) | 70 | MaximizeButton(True).CloseButton(False) |
71 | - | 71 | + |
72 | p2 = slice_viewer.Viewer(self, "CORONAL") | 72 | p2 = slice_viewer.Viewer(self, "CORONAL") |
73 | s2 = wx.aui.AuiPaneInfo().Centre().Row(0).\ | 73 | s2 = wx.aui.AuiPaneInfo().Centre().Row(0).\ |
74 | Name("Coronal Slice").Caption("Coronal slice").\ | 74 | Name("Coronal Slice").Caption("Coronal slice").\ |
75 | MaximizeButton(True).CloseButton(False) | 75 | MaximizeButton(True).CloseButton(False) |
76 | - | 76 | + |
77 | p3 = slice_viewer.Viewer(self, "SAGITAL") | 77 | p3 = slice_viewer.Viewer(self, "SAGITAL") |
78 | s3 = wx.aui.AuiPaneInfo().Centre().Row(1).\ | 78 | s3 = wx.aui.AuiPaneInfo().Centre().Row(1).\ |
79 | Name("Sagital Slice").Caption("Sagital slice").\ | 79 | Name("Sagital Slice").Caption("Sagital slice").\ |
80 | MaximizeButton(True).CloseButton(False) | 80 | MaximizeButton(True).CloseButton(False) |
81 | - | 81 | + |
82 | p4 = VolumeViewerCover(self) | 82 | p4 = VolumeViewerCover(self) |
83 | s4 = wx.aui.AuiPaneInfo().Row(1).Name("Volume").\ | 83 | s4 = wx.aui.AuiPaneInfo().Row(1).Name("Volume").\ |
84 | Bottom().Centre().Caption("Volume").\ | 84 | Bottom().Centre().Caption("Volume").\ |
85 | MaximizeButton(True).CloseButton(False) | 85 | MaximizeButton(True).CloseButton(False) |
86 | - | 86 | + |
87 | if sys.platform == 'win32': | 87 | if sys.platform == 'win32': |
88 | self.aui_manager.AddPane(p1, s1) | 88 | self.aui_manager.AddPane(p1, s1) |
89 | self.aui_manager.AddPane(p2, s2) | 89 | self.aui_manager.AddPane(p2, s2) |
@@ -94,9 +94,9 @@ class Panel(wx.Panel): | @@ -94,9 +94,9 @@ class Panel(wx.Panel): | ||
94 | self.aui_manager.AddPane(p3, s3) | 94 | self.aui_manager.AddPane(p3, s3) |
95 | self.aui_manager.AddPane(p2, s2) | 95 | self.aui_manager.AddPane(p2, s2) |
96 | self.aui_manager.AddPane(p1, s1) | 96 | self.aui_manager.AddPane(p1, s1) |
97 | - | 97 | + |
98 | self.aui_manager.Update() | 98 | self.aui_manager.Update() |
99 | - | 99 | + |
100 | 100 | ||
101 | def __init_four_way_splitter(self): | 101 | def __init_four_way_splitter(self): |
102 | 102 | ||
@@ -108,49 +108,49 @@ class Panel(wx.Panel): | @@ -108,49 +108,49 @@ class Panel(wx.Panel): | ||
108 | 108 | ||
109 | p1 = slice_viewer.Viewer(self, "AXIAL") | 109 | p1 = slice_viewer.Viewer(self, "AXIAL") |
110 | splitter.AppendWindow(p1) | 110 | splitter.AppendWindow(p1) |
111 | - | 111 | + |
112 | p2 = slice_viewer.Viewer(self, "CORONAL") | 112 | p2 = slice_viewer.Viewer(self, "CORONAL") |
113 | splitter.AppendWindow(p2) | 113 | splitter.AppendWindow(p2) |
114 | - | 114 | + |
115 | p3 = slice_viewer.Viewer(self, "SAGITAL") | 115 | p3 = slice_viewer.Viewer(self, "SAGITAL") |
116 | splitter.AppendWindow(p3) | 116 | splitter.AppendWindow(p3) |
117 | - | 117 | + |
118 | p4 = volume_viewer.Viewer(self) | 118 | p4 = volume_viewer.Viewer(self) |
119 | splitter.AppendWindow(p4) | 119 | splitter.AppendWindow(p4) |
120 | 120 | ||
121 | - | 121 | + |
122 | def __init_mix(self): | 122 | def __init_mix(self): |
123 | aui_manager = wx.aui.AuiManager() | 123 | aui_manager = wx.aui.AuiManager() |
124 | aui_manager.SetManagedWindow(self) | 124 | aui_manager.SetManagedWindow(self) |
125 | 125 | ||
126 | 126 | ||
127 | splitter = fws.FourWaySplitter(self, style=wx.SP_LIVE_UPDATE) | 127 | splitter = fws.FourWaySplitter(self, style=wx.SP_LIVE_UPDATE) |
128 | - | 128 | + |
129 | sizer = wx.BoxSizer(wx.HORIZONTAL) | 129 | sizer = wx.BoxSizer(wx.HORIZONTAL) |
130 | sizer.Add(splitter, 1, wx.EXPAND) | 130 | sizer.Add(splitter, 1, wx.EXPAND) |
131 | self.SetSizer(sizer) | 131 | self.SetSizer(sizer) |
132 | 132 | ||
133 | 133 | ||
134 | p1 = slice_viewer.Viewer(self, "AXIAL") | 134 | p1 = slice_viewer.Viewer(self, "AXIAL") |
135 | - aui_manager.AddPane(p1, | 135 | + aui_manager.AddPane(p1, |
136 | wx.aui.AuiPaneInfo(). | 136 | wx.aui.AuiPaneInfo(). |
137 | Name("Axial Slice").Caption("Axial slice"). | 137 | Name("Axial Slice").Caption("Axial slice"). |
138 | MaximizeButton(True).CloseButton(False)) | 138 | MaximizeButton(True).CloseButton(False)) |
139 | - | 139 | + |
140 | p2 = slice_viewer.Viewer(self, "CORONAL") | 140 | p2 = slice_viewer.Viewer(self, "CORONAL") |
141 | - aui_manager.AddPane(p2, | 141 | + aui_manager.AddPane(p2, |
142 | wx.aui.AuiPaneInfo(). | 142 | wx.aui.AuiPaneInfo(). |
143 | Name("Coronal Slice").Caption("Coronal slice"). | 143 | Name("Coronal Slice").Caption("Coronal slice"). |
144 | MaximizeButton(True).CloseButton(False)) | 144 | MaximizeButton(True).CloseButton(False)) |
145 | 145 | ||
146 | p3 = slice_viewer.Viewer(self, "SAGITAL") | 146 | p3 = slice_viewer.Viewer(self, "SAGITAL") |
147 | - aui_manager.AddPane(p3, | 147 | + aui_manager.AddPane(p3, |
148 | wx.aui.AuiPaneInfo(). | 148 | wx.aui.AuiPaneInfo(). |
149 | Name("Sagittal Slice").Caption("Sagittal slice"). | 149 | Name("Sagittal Slice").Caption("Sagittal slice"). |
150 | MaximizeButton(True).CloseButton(False)) | 150 | MaximizeButton(True).CloseButton(False)) |
151 | 151 | ||
152 | #p4 = volume_viewer.Viewer(self) | 152 | #p4 = volume_viewer.Viewer(self) |
153 | - aui_manager.AddPane(VolumeViewerCover, | 153 | + aui_manager.AddPane(VolumeViewerCover, |
154 | wx.aui.AuiPaneInfo(). | 154 | wx.aui.AuiPaneInfo(). |
155 | Name("Volume").Caption("Volume"). | 155 | Name("Volume").Caption("Volume"). |
156 | MaximizeButton(True).CloseButton(False)) | 156 | MaximizeButton(True).CloseButton(False)) |
@@ -162,17 +162,17 @@ class Panel(wx.Panel): | @@ -162,17 +162,17 @@ class Panel(wx.Panel): | ||
162 | 162 | ||
163 | 163 | ||
164 | aui_manager.Update() | 164 | aui_manager.Update() |
165 | - | 165 | + |
166 | class VolumeViewerCover(wx.Panel): | 166 | class VolumeViewerCover(wx.Panel): |
167 | def __init__(self, parent): | 167 | def __init__(self, parent): |
168 | wx.Panel.__init__(self, parent) | 168 | wx.Panel.__init__(self, parent) |
169 | - | 169 | + |
170 | sizer = wx.BoxSizer(wx.HORIZONTAL) | 170 | sizer = wx.BoxSizer(wx.HORIZONTAL) |
171 | sizer.Add(volume_viewer.Viewer(self), 1, wx.EXPAND|wx.GROW) | 171 | sizer.Add(volume_viewer.Viewer(self), 1, wx.EXPAND|wx.GROW) |
172 | sizer.Add(VolumeToolPanel(self), 0, wx.EXPAND) | 172 | sizer.Add(VolumeToolPanel(self), 0, wx.EXPAND) |
173 | self.SetSizer(sizer) | 173 | self.SetSizer(sizer) |
174 | sizer.Fit(self) | 174 | sizer.Fit(self) |
175 | - | 175 | + |
176 | import wx.lib.platebtn as pbtn | 176 | import wx.lib.platebtn as pbtn |
177 | import wx.lib.buttons as btn | 177 | import wx.lib.buttons as btn |
178 | import wx.lib.pubsub as ps | 178 | import wx.lib.pubsub as ps |
@@ -181,65 +181,62 @@ import wx.lib.colourselect as csel | @@ -181,65 +181,62 @@ import wx.lib.colourselect as csel | ||
181 | class VolumeToolPanel(wx.Panel): | 181 | class VolumeToolPanel(wx.Panel): |
182 | def __init__(self, parent): | 182 | def __init__(self, parent): |
183 | wx.Panel.__init__(self, parent, size = (8,100)) | 183 | wx.Panel.__init__(self, parent, size = (8,100)) |
184 | - | 184 | + |
185 | BMP_RAYCASTING = wx.Bitmap("../icons/volume_raycasting.png", wx.BITMAP_TYPE_PNG) | 185 | BMP_RAYCASTING = wx.Bitmap("../icons/volume_raycasting.png", wx.BITMAP_TYPE_PNG) |
186 | BMP_RAYCASTING.SetWidth(22) | 186 | BMP_RAYCASTING.SetWidth(22) |
187 | BMP_RAYCASTING.SetHeight(22) | 187 | BMP_RAYCASTING.SetHeight(22) |
188 | 188 | ||
189 | - BMP_POSITION = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | ||
190 | - BMP_POSITION.SetWidth(22) | ||
191 | - BMP_POSITION.SetHeight(22) | 189 | + FRONT_BMP = wx.Bitmap("../icons/view_front.png", wx.BITMAP_TYPE_PNG) |
192 | 190 | ||
193 | button_raycasting=btn.GenBitmapToggleButton(self, 1, BMP_RAYCASTING, size=(24,24)) | 191 | button_raycasting=btn.GenBitmapToggleButton(self, 1, BMP_RAYCASTING, size=(24,24)) |
194 | button_raycasting.Bind(wx.EVT_BUTTON, self.OnToggleRaycasting) | 192 | button_raycasting.Bind(wx.EVT_BUTTON, self.OnToggleRaycasting) |
195 | self.button_raycasting = button_raycasting | 193 | self.button_raycasting = button_raycasting |
196 | - | 194 | + |
197 | menu = wx.Menu() | 195 | menu = wx.Menu() |
198 | - | ||
199 | - FRONT_BMP = wx.Bitmap("../icons/brush_circle.jpg", wx.BITMAP_TYPE_JPEG) | 196 | + |
200 | item = wx.MenuItem(menu, 0, "Front") | 197 | item = wx.MenuItem(menu, 0, "Front") |
201 | item.SetBitmap(FRONT_BMP) | 198 | item.SetBitmap(FRONT_BMP) |
202 | 199 | ||
203 | - BACK_BMP = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | 200 | + BACK_BMP = wx.Bitmap("../icons/view_back.png", wx.BITMAP_TYPE_PNG) |
204 | item2 = wx.MenuItem(menu, 1, "Back") | 201 | item2 = wx.MenuItem(menu, 1, "Back") |
205 | item2.SetBitmap(BACK_BMP) | 202 | item2.SetBitmap(BACK_BMP) |
206 | - | ||
207 | - TOP_BMP = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | 203 | + |
204 | + TOP_BMP = wx.Bitmap("../icons/view_top.png", wx.BITMAP_TYPE_PNG) | ||
208 | item3 = wx.MenuItem(menu, 2, "Top") | 205 | item3 = wx.MenuItem(menu, 2, "Top") |
209 | item3.SetBitmap(TOP_BMP) | 206 | item3.SetBitmap(TOP_BMP) |
210 | 207 | ||
211 | - BOTTOM_BMP = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | 208 | + BOTTOM_BMP = wx.Bitmap("../icons/view_bottom.png", wx.BITMAP_TYPE_PNG) |
212 | item4 = wx.MenuItem(menu, 3, "Bottom") | 209 | item4 = wx.MenuItem(menu, 3, "Bottom") |
213 | item4.SetBitmap(BOTTOM_BMP) | 210 | item4.SetBitmap(BOTTOM_BMP) |
214 | 211 | ||
215 | - RIGHT_BMP = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | 212 | + RIGHT_BMP = wx.Bitmap("../icons/view_right.png", wx.BITMAP_TYPE_PNG) |
216 | item5 = wx.MenuItem(menu, 4, "Right") | 213 | item5 = wx.MenuItem(menu, 4, "Right") |
217 | item5.SetBitmap(RIGHT_BMP) | 214 | item5.SetBitmap(RIGHT_BMP) |
218 | 215 | ||
219 | - LEFT_BMP = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | 216 | + LEFT_BMP = wx.Bitmap("../icons/view_left.png", wx.BITMAP_TYPE_PNG) |
220 | item6 = wx.MenuItem(menu, 5, "Left") | 217 | item6 = wx.MenuItem(menu, 5, "Left") |
221 | item6.SetBitmap(LEFT_BMP) | 218 | item6.SetBitmap(LEFT_BMP) |
222 | - | ||
223 | - ISOMETRIC_BMP = wx.Bitmap("../icons/brush_square.jpg", wx.BITMAP_TYPE_JPEG) | 219 | + |
220 | + ISOMETRIC_BMP = wx.Bitmap("../icons/view_isometric.png", wx.BITMAP_TYPE_PNG) | ||
224 | item7 = wx.MenuItem(menu, 6, "Isometric") | 221 | item7 = wx.MenuItem(menu, 6, "Isometric") |
225 | item7.SetBitmap(LEFT_BMP) | 222 | item7.SetBitmap(LEFT_BMP) |
226 | - | 223 | + |
227 | self.Bind(wx.EVT_MENU, self.OnMenu) | 224 | self.Bind(wx.EVT_MENU, self.OnMenu) |
228 | - | 225 | + |
229 | menu.AppendItem(item) | 226 | menu.AppendItem(item) |
230 | - menu.AppendItem(item2) | 227 | + menu.AppendItem(item2) |
231 | menu.AppendItem(item3) | 228 | menu.AppendItem(item3) |
232 | menu.AppendItem(item4) | 229 | menu.AppendItem(item4) |
233 | menu.AppendItem(item5) | 230 | menu.AppendItem(item5) |
234 | menu.AppendItem(item6) | 231 | menu.AppendItem(item6) |
235 | menu.AppendItem(item7) | 232 | menu.AppendItem(item7) |
236 | - | ||
237 | - button_position = pbtn.PlateButton(self, wx.ID_ANY,"", BMP_POSITION, | 233 | + |
234 | + button_position = pbtn.PlateButton(self, wx.ID_ANY,"", FRONT_BMP, | ||
238 | style=pbtn.PB_STYLE_SQUARE, size=(24,24)) | 235 | style=pbtn.PB_STYLE_SQUARE, size=(24,24)) |
239 | - | 236 | + |
240 | button_position.SetMenu(menu) | 237 | button_position.SetMenu(menu) |
241 | self.button_position = button_position | 238 | self.button_position = button_position |
242 | - | 239 | + |
243 | button_colour= csel.ColourSelect(self, 111,colour=(0,0,0),size=(24,24)) | 240 | button_colour= csel.ColourSelect(self, 111,colour=(0,0,0),size=(24,24)) |
244 | button_colour.Bind(csel.EVT_COLOURSELECT, self.OnSelectColour) | 241 | button_colour.Bind(csel.EVT_COLOURSELECT, self.OnSelectColour) |
245 | self.button_colour = button_colour | 242 | self.button_colour = button_colour |
@@ -250,7 +247,7 @@ class VolumeToolPanel(wx.Panel): | @@ -250,7 +247,7 @@ class VolumeToolPanel(wx.Panel): | ||
250 | sizer.Add(button_position, 0, wx.ALL, 1) | 247 | sizer.Add(button_position, 0, wx.ALL, 1) |
251 | self.SetSizer(sizer) | 248 | self.SetSizer(sizer) |
252 | sizer.Fit(self) | 249 | sizer.Fit(self) |
253 | - | 250 | + |
254 | def OnMenu(self, evt): | 251 | def OnMenu(self, evt): |
255 | values = {0:"FRONT", 1:"BACK", 2:"TOP",\ | 252 | values = {0:"FRONT", 1:"BACK", 2:"TOP",\ |
256 | 3:"BOTTOM", 4:"RIGHT", 5:"LEFT",\ | 253 | 3:"BOTTOM", 4:"RIGHT", 5:"LEFT",\ |