527 self.ProjectTree.SetBackgroundBitmap(GetBitmap("custom_tree_background"), |
527 self.ProjectTree.SetBackgroundBitmap(GetBitmap("custom_tree_background"), |
528 wx.ALIGN_RIGHT|wx.ALIGN_BOTTOM) |
528 wx.ALIGN_RIGHT|wx.ALIGN_BOTTOM) |
529 add_menu = wx.Menu() |
529 add_menu = wx.Menu() |
530 self._init_coll_AddMenu_Items(add_menu) |
530 self._init_coll_AddMenu_Items(add_menu) |
531 self.ProjectTree.SetAddMenu(add_menu) |
531 self.ProjectTree.SetAddMenu(add_menu) |
532 if wx.Platform == '__WXMSW__': |
532 self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnProjectTreeRightUp, |
533 self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnProjectTreeRightUp, |
533 id=ID_PLCOPENEDITORPROJECTTREE) |
534 id=ID_PLCOPENEDITORPROJECTTREE) |
534 self.ProjectTree.Bind(wx.EVT_LEFT_UP, self.OnProjectTreeLeftUp) |
535 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected, |
535 self.Bind(wx.EVT_TREE_SEL_CHANGING, self.OnProjectTreeItemChanging, |
536 id=ID_PLCOPENEDITORPROJECTTREE) |
536 id=ID_PLCOPENEDITORPROJECTTREE) |
537 else: |
|
538 self.ProjectTree.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp) |
|
539 self.ProjectTree.Bind(wx.EVT_LEFT_UP, self.OnProjectTreeLeftUp) |
|
540 self.Bind(wx.EVT_TREE_SEL_CHANGING, self.OnProjectTreeItemChanging, |
|
541 id=ID_PLCOPENEDITORPROJECTTREE) |
|
542 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
537 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag, |
543 id=ID_PLCOPENEDITORPROJECTTREE) |
538 id=ID_PLCOPENEDITORPROJECTTREE) |
544 self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnProjectTreeItemBeginEdit, |
539 self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnProjectTreeItemBeginEdit, |
545 id=ID_PLCOPENEDITORPROJECTTREE) |
540 id=ID_PLCOPENEDITORPROJECTTREE) |
546 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit, |
541 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit, |
1529 found = self.RecursiveProjectTreeItemSelection(item, items) |
1524 found = self.RecursiveProjectTreeItemSelection(item, items) |
1530 item, root_cookie = self.ProjectTree.GetNextChild(root, root_cookie) |
1525 item, root_cookie = self.ProjectTree.GetNextChild(root, root_cookie) |
1531 return found |
1526 return found |
1532 |
1527 |
1533 def OnProjectTreeBeginDrag(self, event): |
1528 def OnProjectTreeBeginDrag(self, event): |
1534 if wx.Platform == '__WXMSW__': |
|
1535 self.SelectedItem = event.GetItem() |
|
1536 if self.SelectedItem is not None and self.ProjectTree.GetPyData(self.SelectedItem)["type"] == ITEM_POU: |
1529 if self.SelectedItem is not None and self.ProjectTree.GetPyData(self.SelectedItem)["type"] == ITEM_POU: |
1537 block_name = self.ProjectTree.GetItemText(self.SelectedItem) |
1530 block_name = self.ProjectTree.GetItemText(self.SelectedItem) |
1538 block_type = self.Controler.GetPouType(block_name) |
1531 block_type = self.Controler.GetPouType(block_name) |
1539 if block_type != "program": |
1532 if block_type != "program": |
1540 data = wx.TextDataObject(str((block_name, block_type, ""))) |
1533 data = wx.TextDataObject(str((block_name, block_type, ""))) |
1687 |
1680 |
1688 def OnProjectTreeLeftUp(self, event): |
1681 def OnProjectTreeLeftUp(self, event): |
1689 if self.SelectedItem is not None: |
1682 if self.SelectedItem is not None: |
1690 self.ProjectTree.SelectItem(self.SelectedItem) |
1683 self.ProjectTree.SelectItem(self.SelectedItem) |
1691 self.ProjectTreeItemSelect(self.SelectedItem) |
1684 self.ProjectTreeItemSelect(self.SelectedItem) |
1692 wx.CallAfter(self.ResetSelectedItem) |
1685 self.ResetSelectedItem() |
1693 event.Skip() |
1686 event.Skip() |
1694 |
1687 |
1695 def OnProjectTreeMotion(self, event): |
1688 def OnProjectTreeMotion(self, event): |
1696 if not event.Dragging(): |
1689 if not event.Dragging(): |
1697 pt = wx.Point(event.GetX(), event.GetY()) |
1690 pt = wx.Point(event.GetX(), event.GetY()) |
1720 "%s : %s : %s" % ( |
1713 "%s : %s : %s" % ( |
1721 block_type, bodytype, item_infos["name"])) |
1714 block_type, bodytype, item_infos["name"])) |
1722 elif self.LastToolTipItem is not None: |
1715 elif self.LastToolTipItem is not None: |
1723 self.ProjectTree.SetToolTip(None) |
1716 self.ProjectTree.SetToolTip(None) |
1724 self.LastToolTipItem = None |
1717 self.LastToolTipItem = None |
1725 event.Skip() |
|
1726 |
|
1727 def OnProjectTreeItemSelected(self, event): |
|
1728 self.ProjectTreeItemSelect(event.GetItem()) |
|
1729 event.Skip() |
1718 event.Skip() |
1730 |
1719 |
1731 def OnProjectTreeItemChanging(self, event): |
1720 def OnProjectTreeItemChanging(self, event): |
1732 if self.ProjectTree.GetPyData(event.GetItem())["type"] not in ITEMS_UNEDITABLE and self.SelectedItem is None: |
1721 if self.ProjectTree.GetPyData(event.GetItem())["type"] not in ITEMS_UNEDITABLE and self.SelectedItem is None: |
1733 self.SelectedItem = event.GetItem() |
1722 self.SelectedItem = event.GetItem() |
1802 window.SetFocus() |
1791 window.SetFocus() |
1803 self.RefreshPageTitles() |
1792 self.RefreshPageTitles() |
1804 return new_window |
1793 return new_window |
1805 |
1794 |
1806 def OnProjectTreeRightUp(self, event): |
1795 def OnProjectTreeRightUp(self, event): |
1807 if wx.Platform == '__WXMSW__': |
1796 item = event.GetItem() |
1808 item = event.GetItem() |
|
1809 else: |
|
1810 item, flags = self.ProjectTree.HitTest(wx.Point(event.GetX(), event.GetY())) |
|
1811 self.ProjectTree.SelectItem(item) |
1797 self.ProjectTree.SelectItem(item) |
1812 self.ProjectTreeItemSelect(item) |
1798 self.ProjectTreeItemSelect(item) |
1813 name = self.ProjectTree.GetItemText(item) |
1799 name = self.ProjectTree.GetItemText(item) |
1814 item_infos = self.ProjectTree.GetPyData(item) |
1800 item_infos = self.ProjectTree.GetPyData(item) |
1815 |
1801 |