--- a/etherlab/ConfigEditor.py Wed Nov 13 11:21:04 2019 +0100
+++ b/etherlab/ConfigEditor.py Mon Nov 25 08:10:45 2019 +0100
@@ -149,6 +149,9 @@
self.VariablesGrid.SetItemText(item, str(idx), 0)
else:
value = entry.get(colname, "")
+ # add jblee
+ if value is None:
+ value = ""
if colname == "Access":
value = GetAccessValue(value, entry.get("PDOMapping", ""))
self.VariablesGrid.SetItemText(item, value, col)
@@ -617,9 +620,7 @@
self.MasterStateEditor = wx.ScrolledWindow(prnt, style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
self.MasterStateEditor.Bind(wx.EVT_SIZE, self.OnResize)
- self.MasterStateEditor_Panel_Main_Sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
- self.MasterStateEditor_Panel_Main_Sizer.AddGrowableCol(0)
- self.MasterStateEditor_Panel_Main_Sizer.AddGrowableRow(0)
+ self.MasterStateEditor_Panel_Main_Sizer = wx.BoxSizer(wx.VERTICAL)
self.MasterStateEditor_Panel = MasterStatePanelClass(self.MasterStateEditor, self.Controler)
@@ -628,6 +629,18 @@
self.MasterStateEditor.SetSizer(self.MasterStateEditor_Panel_Main_Sizer)
return self.MasterStateEditor
+ def OnResize2(self, event):
+ self.MasterStateEditor.GetBestSize()
+ xstart, ystart = self.MasterStateEditor.GetViewStart()
+ window_size = self.MasterStateEditor.GetClientSize()
+ maxx, maxy = self.MasterStateEditor.GetMinSize()
+ posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT))
+ posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT))
+ self.MasterStateEditor.Scroll(posx, posy)
+ self.MasterStateEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT,
+ maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy)
+ event.Skip()
+
def _create_EthercatMasterEditor(self, prnt):
self.EthercatMasterEditor = wx.ScrolledWindow(prnt,
style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)