--- a/Beremiz.py Sun Jan 08 19:10:12 2012 +0100
+++ b/Beremiz.py Mon Jan 09 18:18:43 2012 +0100
@@ -649,10 +649,11 @@
sizer = self.PLCConfig.GetSizer()
maxx, maxy = sizer.GetMinSize()
+ posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) + posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) + self.PLCConfig.Scroll(posx, posy) self.PLCConfig.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT,
- maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT,
- max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)),
- max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)))
+ maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy) def RefreshPLCParams(self):
@@ -815,7 +816,6 @@
self.ExpandLocation(locations_infos, "root", force)
locations_infos["root"]["expanded"] = True
def CollapsePlugin(self, plugin, force = False):
for child in self.PluginInfos[plugin]["children"]:
@@ -1085,6 +1085,7 @@
treectrl.Bind(wx.EVT_TREE_BEGIN_DRAG, self.GenerateLocationBeginDragFunction(locations_infos))
treectrl.Bind(wx.EVT_TREE_ITEM_EXPANDED, self.GenerateLocationExpandCollapseFunction(locations_infos, True))
treectrl.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self.GenerateLocationExpandCollapseFunction(locations_infos, False))
+ treectrl.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheelTreeCtrl) self.PluginTreeSizer.AddWindow(treectrl, 0, border=0, flag=0)
@@ -1100,6 +1101,7 @@
self.GenerateLocationTreeBranch(treectrl, treectrl.GetRootItem(), locations_infos, "root", location)
treectrl.Expand(treectrl.GetRootItem())
if locations_infos["root"]["expanded"]:
+ self.PluginTreeSizer.Layout() self.ExpandLocation(locations_infos, "root")
self.RefreshTreeCtrlSize(treectrl)
@@ -1138,7 +1140,7 @@
if location_name is not None:
infos = locations_infos[location_name]["infos"]
if infos["type"] in [LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY]:
- data = wx.TextDataObject(str((infos["location"], "location", infos["IEC_type"], infos["name"], infos["description"])))
+ data = wx.TextDataObject(str((infos["location"], "location", infos["IEC_type"], infos["var_name"], infos["description"]))) dragSource = wx.DropSource(self)
@@ -1146,9 +1148,18 @@
def RefreshTreeCtrlSize(self, treectrl):
rect = self.GetTreeCtrlItemRect(treectrl, treectrl.GetRootItem())
- treectrl.SetMinSize(wx.Size(max(rect.width, rect.x + rect.width) + 20, max(rect.height, rect.y + rect.height) + 10))
+ treectrl.SetMinSize(wx.Size(max(rect.width, rect.x + rect.width) + 20, max(rect.height, rect.y + rect.height) + 20)) self.PLCConfigMainSizer.Layout()
+ wx.CallAfter(self.RefreshScrollBars) + def OnMouseWheelTreeCtrl(self, event): + x, y = self.PLCConfig.GetViewStart() + rotation = - (event.GetWheelRotation() / event.GetWheelDelta()) * 3 + self.PLCConfig.Scroll(x + rotation, y) + self.PLCConfig.Scroll(x, y + rotation) def GetTreeCtrlItemRect(self, treectrl, item):
item_rect = treectrl.GetBoundingRect(item, True)