Commit dcf9635c3651f75f652ec1c3517517b0e5ea18d8
1 parent
c70780c8
Exists in
wxgtk3_bkp
solved the problem with position of statusbar using idle event
Showing
1 changed file
with
14 additions
and
2 deletions
Show diff stats
invesalius/gui/frame.py
@@ -85,6 +85,7 @@ class Frame(wx.Frame): | @@ -85,6 +85,7 @@ class Frame(wx.Frame): | ||
85 | if sys.platform != 'darwin': | 85 | if sys.platform != 'darwin': |
86 | self.Maximize() | 86 | self.Maximize() |
87 | 87 | ||
88 | + self.sizeChanged = True | ||
88 | #Necessary update AUI (statusBar in special) | 89 | #Necessary update AUI (statusBar in special) |
89 | #when maximized in the Win 7 and XP | 90 | #when maximized in the Win 7 and XP |
90 | self.SetSize(self.GetSize()) | 91 | self.SetSize(self.GetSize()) |
@@ -132,6 +133,7 @@ class Frame(wx.Frame): | @@ -132,6 +133,7 @@ class Frame(wx.Frame): | ||
132 | Bind normal events from wx (except pubsub related). | 133 | Bind normal events from wx (except pubsub related). |
133 | """ | 134 | """ |
134 | self.Bind(wx.EVT_SIZE, self.OnSize) | 135 | self.Bind(wx.EVT_SIZE, self.OnSize) |
136 | + self.Bind(wx.EVT_IDLE, self.OnIdle) | ||
135 | self.Bind(wx.EVT_MENU, self.OnMenuClick) | 137 | self.Bind(wx.EVT_MENU, self.OnMenuClick) |
136 | self.Bind(wx.EVT_CLOSE, self.OnClose) | 138 | self.Bind(wx.EVT_CLOSE, self.OnClose) |
137 | #self.Bind(wx.EVT_MOVE, self.OnMove) | 139 | #self.Bind(wx.EVT_MOVE, self.OnMove) |
@@ -404,8 +406,17 @@ class Frame(wx.Frame): | @@ -404,8 +406,17 @@ class Frame(wx.Frame): | ||
404 | """ | 406 | """ |
405 | Refresh GUI when frame is resized. | 407 | Refresh GUI when frame is resized. |
406 | """ | 408 | """ |
407 | - Publisher.sendMessage(('ProgressBar Reposition')) | ||
408 | evt.Skip() | 409 | evt.Skip() |
410 | + self.Reposition() | ||
411 | + self.sizeChanged = True | ||
412 | + | ||
413 | + def OnIdle(self, evt): | ||
414 | + if self.sizeChanged: | ||
415 | + self.Reposition() | ||
416 | + | ||
417 | + def Reposition(self): | ||
418 | + Publisher.sendMessage(('ProgressBar Reposition')) | ||
419 | + self.sizeChanged = False | ||
409 | 420 | ||
410 | 421 | ||
411 | def OnMove(self, evt): | 422 | def OnMove(self, evt): |
@@ -732,9 +743,10 @@ class ProgressBar(wx.Gauge): | @@ -732,9 +743,10 @@ class ProgressBar(wx.Gauge): | ||
732 | """ | 743 | """ |
733 | Compute new size and position, according to parent resize | 744 | Compute new size and position, according to parent resize |
734 | """ | 745 | """ |
735 | - rect = self.parent.GetFieldRect(2) | 746 | + rect = self.Parent.GetFieldRect(2) |
736 | self.SetPosition((rect.x + 2, rect.y + 2)) | 747 | self.SetPosition((rect.x + 2, rect.y + 2)) |
737 | self.SetSize((rect.width - 4, rect.height - 4)) | 748 | self.SetSize((rect.width - 4, rect.height - 4)) |
749 | + self.Show() | ||
738 | 750 | ||
739 | def SetPercentage(self, value): | 751 | def SetPercentage(self, value): |
740 | """ | 752 | """ |