Commit a55c37308871c4b3573487cb9ac39adff8d66378
1 parent
b6e94926
Exists in
wxgtk3_bkp
Tests
Showing
4 changed files
with
86 additions
and
37 deletions
Show diff stats
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 | ... | ... |