147 for col, colname in enumerate(colnames): |
147 for col, colname in enumerate(colnames): |
148 if col == 0: |
148 if col == 0: |
149 self.VariablesGrid.SetItemText(item, str(idx), 0) |
149 self.VariablesGrid.SetItemText(item, str(idx), 0) |
150 else: |
150 else: |
151 value = entry.get(colname, "") |
151 value = entry.get(colname, "") |
|
152 # add jblee |
|
153 if value is None: |
|
154 value = "" |
152 if colname == "Access": |
155 if colname == "Access": |
153 value = GetAccessValue(value, entry.get("PDOMapping", "")) |
156 value = GetAccessValue(value, entry.get("PDOMapping", "")) |
154 self.VariablesGrid.SetItemText(item, value, col) |
157 self.VariablesGrid.SetItemText(item, value, col) |
155 if entry["PDOMapping"] == "": |
158 if entry["PDOMapping"] == "": |
156 self.VariablesGrid.SetItemBackgroundColour(item, wx.LIGHT_GREY) |
159 self.VariablesGrid.SetItemBackgroundColour(item, wx.LIGHT_GREY) |
615 |
618 |
616 def _create_MasterStateEditor(self, prnt): |
619 def _create_MasterStateEditor(self, prnt): |
617 self.MasterStateEditor = wx.ScrolledWindow(prnt, style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
620 self.MasterStateEditor = wx.ScrolledWindow(prnt, style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
618 self.MasterStateEditor.Bind(wx.EVT_SIZE, self.OnResize) |
621 self.MasterStateEditor.Bind(wx.EVT_SIZE, self.OnResize) |
619 |
622 |
620 self.MasterStateEditor_Panel_Main_Sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
623 self.MasterStateEditor_Panel_Main_Sizer = wx.BoxSizer(wx.VERTICAL) |
621 self.MasterStateEditor_Panel_Main_Sizer.AddGrowableCol(0) |
|
622 self.MasterStateEditor_Panel_Main_Sizer.AddGrowableRow(0) |
|
623 |
624 |
624 self.MasterStateEditor_Panel = MasterStatePanelClass(self.MasterStateEditor, self.Controler) |
625 self.MasterStateEditor_Panel = MasterStatePanelClass(self.MasterStateEditor, self.Controler) |
625 |
626 |
626 self.MasterStateEditor_Panel_Main_Sizer.AddSizer(self.MasterStateEditor_Panel, border=10, flag=wx.GROW) |
627 self.MasterStateEditor_Panel_Main_Sizer.AddSizer(self.MasterStateEditor_Panel, border=10, flag=wx.GROW) |
627 |
628 |
628 self.MasterStateEditor.SetSizer(self.MasterStateEditor_Panel_Main_Sizer) |
629 self.MasterStateEditor.SetSizer(self.MasterStateEditor_Panel_Main_Sizer) |
629 return self.MasterStateEditor |
630 return self.MasterStateEditor |
|
631 |
|
632 def OnResize2(self, event): |
|
633 self.MasterStateEditor.GetBestSize() |
|
634 xstart, ystart = self.MasterStateEditor.GetViewStart() |
|
635 window_size = self.MasterStateEditor.GetClientSize() |
|
636 maxx, maxy = self.MasterStateEditor.GetMinSize() |
|
637 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
|
638 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
|
639 self.MasterStateEditor.Scroll(posx, posy) |
|
640 self.MasterStateEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT, |
|
641 maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy) |
|
642 event.Skip() |
630 |
643 |
631 def _create_EthercatMasterEditor(self, prnt): |
644 def _create_EthercatMasterEditor(self, prnt): |
632 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
645 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
633 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
646 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
634 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
647 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |