Commit 25d43e7999989cdc43c3b53de15f86e14411dffb

Authored by Paulo Henrique Junqueira Amorim
1 parent 7c5949ff

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",\