Commit a55c37308871c4b3573487cb9ac39adff8d66378

Authored by Thiago Franco de Moraes
1 parent b6e94926
Exists in wxgtk3_bkp

Tests

invesalius/gui/default_tasks.py
... ... @@ -121,6 +121,7 @@ class Panel(wx.Panel):
121 121 #self.SetSizerAndFit(sizer)
122 122 self.SetSizer(sizer)
123 123  
  124 +
124 125 # Lower fold panel
125 126 class LowerTaskPanel(wx.Panel):
126 127 def __init__(self, parent):
... ... @@ -139,7 +140,7 @@ class LowerTaskPanel(wx.Panel):
139 140 self.gbs = gbs
140 141  
141 142 sizer = wx.BoxSizer(wx.VERTICAL)
142   - sizer.Add(gbs, 1, wx.GROW|wx.EXPAND)
  143 + #sizer.Add(gbs, 1, wx.GROW|wx.EXPAND)
143 144 self.SetSizer(sizer)
144 145  
145 146 image_list = wx.ImageList(16,16)
... ... @@ -156,15 +157,19 @@ class LowerTaskPanel(wx.Panel):
156 157 #npanel = wx.Panel(self, -1)
157 158 self.npanel = nb.NotebookPanel(item)
158 159  
159   - self.__calc_best_size(self.npanel)
  160 + #self.__calc_best_size(self.npanel)
160 161  
161 162 fold_panel.AddFoldPanelWindow(item, self.npanel, #fpb.FPB_ALIGN_WIDTH, #Spacing= 0,
162 163 leftSpacing=0, rightSpacing=0)
163 164  
164   - gbs.AddGrowableRow(0, 1)
165   - gbs.Add(fold_panel, (0, 0), flag=wx.EXPAND)
166   - gbs.Layout()
167   - item.ResizePanel()
  165 + #gbs.AddGrowableRow(0, 1)
  166 + #gbs.Add(fold_panel, (0, 0), flag=wx.EXPAND)
  167 + #gbs.Layout()
  168 + #item.ResizePanel()
  169 +
  170 + sizer.Add(fold_panel, 1, wx.EXPAND)
  171 +
  172 + self.ResizeFPB()
168 173  
169 174 sizer.Fit(self)
170 175 self.Fit()
... ... @@ -172,6 +177,7 @@ class LowerTaskPanel(wx.Panel):
172 177 self.SetStateProjectClose()
173 178 self.__bind_events()
174 179  
  180 +
175 181 def __calc_best_size(self, panel):
176 182 parent = panel.GetParent()
177 183 panel.Reparent(self)
... ... @@ -214,6 +220,11 @@ class LowerTaskPanel(wx.Panel):
214 220 for item in self.enable_items:
215 221 item.Enable()
216 222  
  223 + def ResizeFPB(self):
  224 + sizeNeeded = self.fold_panel.GetPanelsLength(0, 0)[2]
  225 + self.fold_panel.SetMinSize((self.fold_panel.GetSize()[0], sizeNeeded ))
  226 + self.fold_panel.SetSize((self.fold_panel.GetSize()[0], sizeNeeded))
  227 +
217 228  
218 229 # Upper fold panel
219 230 class UpperTaskPanel(wx.Panel):
... ... @@ -332,3 +343,16 @@ class UpperTaskPanel(wx.Panel):
332 343  
333 344  
334 345 evt.Skip()
  346 + wx.CallAfter(self.ResizeFPB)
  347 +
  348 + def ResizeFPB(self):
  349 + sizeNeeded = self.fold_panel.GetPanelsLength(0, 0)[2]
  350 + self.fold_panel.SetMinSize((self.fold_panel.GetSize()[0], sizeNeeded ))
  351 + self.fold_panel.SetSize((self.fold_panel.GetSize()[0], sizeNeeded))
  352 + print "UPPER", self.fold_panel.GetPanelsLength(0, 0), self.fold_panel.GetSize()
  353 +
  354 + try:
  355 + self.GetSizer().Layout()
  356 + self.Fit()
  357 + except:
  358 + pass
... ...
invesalius/gui/task_exporter.py
... ... @@ -44,7 +44,7 @@ WILDCARD_SAVE_3D = "Inventor (*.iv)|*.iv|"\
44 44 "VTK PolyData (*.vtp)|*.vtp|"\
45 45 "Wavefront (*.obj)|*.obj|"\
46 46 "X3D (*.x3d)|*.x3d"
47   -
  47 +
48 48 INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV,
49 49 1: const.FILETYPE_PLY,
50 50 2: const.FILETYPE_RIB,
... ... @@ -86,7 +86,7 @@ class TaskPanel(wx.Panel):
86 86  
87 87 inner_panel = InnerTaskPanel(self)
88 88  
89   - sizer = wx.BoxSizer(wx.HORIZONTAL)
  89 + sizer = wx.BoxSizer(wx.VERTICAL)
90 90 sizer.Add(inner_panel, 1, wx.EXPAND | wx.GROW | wx.BOTTOM | wx.RIGHT |
91 91 wx.LEFT, 7)
92 92 sizer.Fit(self)
... ... @@ -234,7 +234,7 @@ class InnerTaskPanel(wx.Panel):
234 234 self.__init_menu()
235 235  
236 236 def __init_menu(self):
237   -
  237 +
238 238  
239 239 menu = wx.Menu()
240 240 self.id_to_name = {const.AXIAL:_("Axial slice"),
... ... @@ -246,23 +246,23 @@ class InnerTaskPanel(wx.Panel):
246 246 item = wx.MenuItem(menu, id, self.id_to_name[id])
247 247 menu.AppendItem(item)
248 248  
249   - self.menu_picture = menu
  249 + self.menu_picture = menu
250 250 menu.Bind(wx.EVT_MENU, self.OnMenuPicture)
251 251  
252 252 def OnMenuPicture(self, evt):
253   - print "OnMenuPicture"
  253 + print "OnMenuPicture"
254 254 id = evt.GetId()
255 255 value = dlg.ExportPicture(self.id_to_name[id])
256 256 if value:
257   - filename, filetype = value
  257 + filename, filetype = value
258 258 Publisher.sendMessage('Export picture to file',
259 259 (id, filename, filetype))
260   -
  260 +
261 261  
262 262  
263 263 def OnLinkExportPicture(self, evt=None):
264 264 self.button_picture.PopupMenu(self.menu_picture)
265   -
  265 +
266 266  
267 267 def OnLinkExportMask(self, evt=None):
268 268 project = proj.Project()
... ... @@ -280,7 +280,7 @@ class InnerTaskPanel(wx.Panel):
280 280 WILDCARD_SAVE_MASK,
281 281 wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT)
282 282 dlg.SetFilterIndex(0) # default is VTI
283   -
  283 +
284 284 if dlg.ShowModal() == wx.ID_OK:
285 285 filename = dlg.GetPath()
286 286 print "filename", filename
... ... @@ -316,7 +316,7 @@ class InnerTaskPanel(wx.Panel):
316 316 WILDCARD_SAVE_3D,
317 317 wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT)
318 318 dlg.SetFilterIndex(3) # default is STL
319   -
  319 +
320 320 if dlg.ShowModal() == wx.ID_OK:
321 321 filetype_index = dlg.GetFilterIndex()
322 322 filetype = INDEX_TO_TYPE_3D[filetype_index]
... ...
invesalius/gui/task_slice.py
... ... @@ -395,13 +395,17 @@ class InnerFoldPanel(wx.Panel):
395 395 print self.fold_panel.GetPanelsLength(0, 0), self.fold_panel.GetSize()
396 396  
397 397 try:
398   - self.GetParent().GetSizer().Layout()
399   - self.GetParent().Fit()
400   -
  398 + #self.GetParent().GetParent().GetSizer().Layout()
  399 + #self.GetParent().GetParent().Fit()
401 400 self.GetSizer().Layout()
402 401 self.Fit()
403   - except:
404   - pass
  402 +
  403 + self.GetParent().GetSizer().Layout()
  404 + self.GetParent().Fit()
  405 + self.GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().ResizeFPB()
  406 + self.GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().Layout()
  407 + except Exception, e:
  408 + print e
405 409  
406 410 def OnRetrieveStyle(self, pubsub_evt):
407 411 if (self.last_style == const.SLICE_STATE_EDITOR):
... ...
invesalius/gui/task_surface.py
... ... @@ -49,8 +49,8 @@ class TaskPanel(wx.Panel):
49 49  
50 50 inner_panel = InnerTaskPanel(self)
51 51  
52   - sizer = wx.BoxSizer(wx.HORIZONTAL)
53   - sizer.Add(inner_panel, 1, wx.EXPAND | wx.GROW | wx.BOTTOM | wx.RIGHT |
  52 + sizer = wx.BoxSizer(wx.VERTICAL)
  53 + sizer.Add(inner_panel, 0, wx.EXPAND | wx.GROW | wx.BOTTOM | wx.RIGHT |
54 54 wx.LEFT, 7)
55 55 sizer.Fit(self)
56 56  
... ... @@ -68,7 +68,8 @@ class InnerTaskPanel(wx.Panel):
68 68 def __init__(self, parent):
69 69 wx.Panel.__init__(self, parent)
70 70 default_colour = self.GetBackgroundColour()
71   - self.SetBackgroundColour(wx.Colour(255,255,255))
  71 + #self.SetBackgroundColour(wx.Colour(255,255,255))
  72 + self.SetBackgroundColour(wx.Colour(0,0,255))
72 73 self.SetAutoLayout(1)
73 74  
74 75  
... ... @@ -109,13 +110,13 @@ class InnerTaskPanel(wx.Panel):
109 110 # Add line sizers into main sizer
110 111 main_sizer = wx.BoxSizer(wx.VERTICAL)
111 112 main_sizer.Add(line_new, 0,wx.GROW|wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, 5)
112   - main_sizer.Add(fold_panel, 1, wx.GROW|wx.EXPAND|wx.ALL, 5)
  113 + main_sizer.Add(fold_panel, 0, wx.GROW|wx.EXPAND|wx.ALL, 5)
113 114 main_sizer.Add(button_next, 0, wx.ALIGN_RIGHT|wx.RIGHT|wx.BOTTOM, 5)
114 115 main_sizer.Fit(self)
115 116  
116   - self.SetSizer(main_sizer)
  117 + self.SetSizerAndFit(main_sizer)
117 118 self.Update()
118   - self.SetAutoLayout(1)
  119 + #self.SetAutoLayout(1)
119 120  
120 121 self.sizer = main_sizer
121 122  
... ... @@ -181,10 +182,10 @@ class FoldPanel(wx.Panel):
181 182 inner_panel = InnerFoldPanel(self)
182 183  
183 184 sizer = wx.BoxSizer(wx.VERTICAL)
184   - sizer.Add(inner_panel, 1, wx.EXPAND|wx.GROW, 2)
  185 + sizer.Add(inner_panel, 0, wx.EXPAND|wx.GROW, 2)
185 186 sizer.Fit(self)
186 187  
187   - self.SetSizer(sizer)
  188 + self.SetSizerAndFit(sizer)
188 189 self.Update()
189 190 self.SetAutoLayout(1)
190 191  
... ... @@ -201,7 +202,7 @@ class InnerFoldPanel(wx.Panel):
201 202 # parent panel. Perhaps we need to insert the item into the sizer also...
202 203 # Study this.
203 204 fold_panel = fpb.FoldPanelBar(self, -1, wx.DefaultPosition,
204   - (10, 140), 0,fpb.FPB_SINGLE_FOLD)
  205 + wx.DefaultSize, 0,fpb.FPB_SINGLE_FOLD)
205 206  
206 207 # Fold panel style
207 208 style = fpb.CaptionBarStyle()
... ... @@ -226,6 +227,9 @@ class InnerFoldPanel(wx.Panel):
226 227 # leftSpacing=0, rightSpacing=0)
227 228 #fold_panel.Expand(fold_panel.GetFoldPanel(1))
228 229  
  230 + self.fold_panel = fold_panel
  231 + self.__bind_evt()
  232 +
229 233 # Panel sizer to expand fold panel
230 234 sizer = wx.BoxSizer(wx.VERTICAL)
231 235 sizer.Add(fold_panel, 1, wx.GROW|wx.EXPAND)
... ... @@ -235,14 +239,30 @@ class InnerFoldPanel(wx.Panel):
235 239 self.Update()
236 240 self.SetAutoLayout(1)
237 241  
  242 +
  243 + self.ResizeFPB()
  244 +
  245 + def __bind_evt(self):
  246 + self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption)
  247 +
  248 + def OnFoldPressCaption(self, evt):
  249 + evt.Skip()
  250 + self.ResizeFPB()
  251 +
  252 + def ResizeFPB(self):
  253 + sizeNeeded = self.fold_panel.GetPanelsLength(0, 0)[2]
  254 + self.fold_panel.SetMinSize((self.fold_panel.GetSize()[0], sizeNeeded ))
  255 + self.fold_panel.SetSize((self.fold_panel.GetSize()[0], sizeNeeded))
  256 +
238 257 BTN_LARGEST = wx.NewId()
239 258 BTN_SPLIT = wx.NewId()
240 259 BTN_SEEDS = wx.NewId()
241 260 class SurfaceTools(wx.Panel):
242 261 def __init__(self, parent):
243   - wx.Panel.__init__(self, parent, size=(50,400))
  262 + wx.Panel.__init__(self, parent)
244 263 default_colour = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR)
245   - self.SetBackgroundColour(default_colour)
  264 + #self.SetBackgroundColour(default_colour)
  265 + self.SetBackgroundColour((0, 255, 0))
246 266  
247 267 #self.SetBackgroundColour(wx.Colour(255,255,255))
248 268 self.SetAutoLayout(1)
... ... @@ -327,7 +347,7 @@ class SurfaceTools(wx.Panel):
327 347 main_sizer.Add(fixed_sizer, 0, wx.GROW|wx.EXPAND|wx.TOP, 5)
328 348  
329 349 # Update main sizer and panel layout
330   - self.SetSizer(main_sizer)
  350 + self.SetSizerAndFit(main_sizer)
331 351 self.Update()
332 352 self.SetAutoLayout(1)
333 353 self.sizer = main_sizer
... ... @@ -375,9 +395,10 @@ class SurfaceTools(wx.Panel):
375 395  
376 396 class SurfaceProperties(wx.Panel):
377 397 def __init__(self, parent):
378   - wx.Panel.__init__(self, parent, size=(50,400))
  398 + wx.Panel.__init__(self, parent)
379 399 default_colour = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR)
380   - self.SetBackgroundColour(default_colour)
  400 + #self.SetBackgroundColour(default_colour)
  401 + self.SetBackgroundColour((255, 0, 0))
381 402  
382 403 self.surface_dict = utl.TwoWaysDictionary()
383 404  
... ... @@ -439,7 +460,7 @@ class SurfaceProperties(wx.Panel):
439 460  
440 461 self.SetSizer(sizer)
441 462 self.Update()
442   - self.SetAutoLayout(1)
  463 + #self.SetAutoLayout(1)
443 464  
444 465 self.__bind_events()
445 466  
... ... @@ -528,7 +549,7 @@ class SurfaceProperties(wx.Panel):
528 549 class QualityAdjustment(wx.Panel):
529 550 def __init__(self, parent):
530 551 import constants as const
531   - wx.Panel.__init__(self, parent, size=(50,240))
  552 + wx.Panel.__init__(self, parent)
532 553 default_colour = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR)
533 554 self.SetBackgroundColour(default_colour)
534 555  
... ...