625 self.MasterStateEditor_Panel_Main_Sizer.AddSizer(self.MasterStateEditor_Panel, border=10, flag=wx.GROW) |
625 self.MasterStateEditor_Panel_Main_Sizer.AddSizer(self.MasterStateEditor_Panel, border=10, flag=wx.GROW) |
626 |
626 |
627 self.MasterStateEditor.SetSizer(self.MasterStateEditor_Panel_Main_Sizer) |
627 self.MasterStateEditor.SetSizer(self.MasterStateEditor_Panel_Main_Sizer) |
628 return self.MasterStateEditor |
628 return self.MasterStateEditor |
629 |
629 |
630 def OnResize(self, event): |
|
631 self.MasterStateEditor.GetBestSize() |
|
632 xstart, ystart = self.MasterStateEditor.GetViewStart() |
|
633 window_size = self.MasterStateEditor.GetClientSize() |
|
634 maxx, maxy = self.MasterStateEditor.GetMinSize() |
|
635 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
|
636 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
|
637 self.MasterStateEditor.Scroll(posx, posy) |
|
638 self.MasterStateEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT, |
|
639 maxx / SCROLLBAR_UNIT, |
|
640 maxy / SCROLLBAR_UNIT, |
|
641 posx, posy) |
|
642 event.Skip() |
|
643 |
|
644 def _create_EthercatMasterEditor(self, prnt): |
630 def _create_EthercatMasterEditor(self, prnt): |
645 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
631 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
646 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
632 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
647 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
633 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
648 |
634 |