545 id=ID_PLCOPENEDITORPROJECTTREE) |
545 id=ID_PLCOPENEDITORPROJECTTREE) |
546 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit, |
546 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit, |
547 id=ID_PLCOPENEDITORPROJECTTREE) |
547 id=ID_PLCOPENEDITORPROJECTTREE) |
548 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
548 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated, |
549 id=ID_PLCOPENEDITORPROJECTTREE) |
549 id=ID_PLCOPENEDITORPROJECTTREE) |
|
550 self.ProjectTree.Bind(wx.EVT_MOTION, self.OnProjectTreeMotion) |
550 |
551 |
551 #----------------------------------------------------------------------- |
552 #----------------------------------------------------------------------- |
552 # Creating PLCopen Project POU Instance Variables Panel |
553 # Creating PLCopen Project POU Instance Variables Panel |
553 #----------------------------------------------------------------------- |
554 #----------------------------------------------------------------------- |
554 |
555 |
672 self.PouInstanceVariablesPanel.SetTreeImageList(self.TreeImageList) |
673 self.PouInstanceVariablesPanel.SetTreeImageList(self.TreeImageList) |
673 |
674 |
674 self.CurrentEditorToolBar = [] |
675 self.CurrentEditorToolBar = [] |
675 self.CurrentMenu = None |
676 self.CurrentMenu = None |
676 self.SelectedItem = None |
677 self.SelectedItem = None |
|
678 self.LastToolTipItem = None |
677 self.SearchParams = None |
679 self.SearchParams = None |
678 self.Highlights = {} |
680 self.Highlights = {} |
679 self.DrawingMode = FREEDRAWING_MODE |
681 self.DrawingMode = FREEDRAWING_MODE |
680 #self.DrawingMode = DRIVENDRAWING_MODE |
682 #self.DrawingMode = DRIVENDRAWING_MODE |
681 self.AuiTabCtrl = [] |
683 self.AuiTabCtrl = [] |
1691 self.ProjectTree.SelectItem(self.SelectedItem) |
1693 self.ProjectTree.SelectItem(self.SelectedItem) |
1692 self.ProjectTreeItemSelect(self.SelectedItem) |
1694 self.ProjectTreeItemSelect(self.SelectedItem) |
1693 wx.CallAfter(self.ResetSelectedItem) |
1695 wx.CallAfter(self.ResetSelectedItem) |
1694 event.Skip() |
1696 event.Skip() |
1695 |
1697 |
|
1698 def OnProjectTreeMotion(self, event): |
|
1699 if not event.Dragging(): |
|
1700 pt = wx.Point(event.GetX(), event.GetY()) |
|
1701 item, flags = self.ProjectTree.HitTest(pt) |
|
1702 if item.IsOk() and flags & wx.TREE_HITTEST_ONITEMLABEL: |
|
1703 item_infos = self.ProjectTree.GetPyData(item) |
|
1704 if item != self.LastToolTipItem and self.LastToolTipItem is not None: |
|
1705 self.ProjectTree.SetToolTip(None) |
|
1706 self.LastToolTipItem = None |
|
1707 if (self.LastToolTipItem != item and |
|
1708 item_infos["type"] in [ITEM_POU, ITEM_TRANSITION, ITEM_ACTION]): |
|
1709 bodytype = self.Controler.GetEditedElementBodyType( |
|
1710 item_infos["tagname"]) |
|
1711 if item_infos["type"] == ITEM_POU: |
|
1712 block_type = { |
|
1713 "program": _("Program"), |
|
1714 "functionBlock": _("Function Block"), |
|
1715 "function": _("Function") |
|
1716 }[self.Controler.GetPouType(item_infos["name"])] |
|
1717 elif item_infos["type"] == ITEM_TRANSITION: |
|
1718 block_type = "Transition" |
|
1719 else: |
|
1720 block_type = "Action" |
|
1721 self.LastToolTipItem = item |
|
1722 wx.CallAfter(self.ProjectTree.SetToolTipString, |
|
1723 "%s : %s : %s" % ( |
|
1724 block_type, bodytype, item_infos["name"])) |
|
1725 elif self.LastToolTipItem is not None: |
|
1726 self.ProjectTree.SetToolTip(None) |
|
1727 self.LastToolTipItem = None |
|
1728 event.Skip() |
|
1729 |
1696 def OnProjectTreeItemSelected(self, event): |
1730 def OnProjectTreeItemSelected(self, event): |
1697 self.ProjectTreeItemSelect(event.GetItem()) |
1731 self.ProjectTreeItemSelect(event.GetItem()) |
1698 event.Skip() |
1732 event.Skip() |
1699 |
1733 |
1700 def OnProjectTreeItemChanging(self, event): |
1734 def OnProjectTreeItemChanging(self, event): |