1641 old_values = {"name" : block.GetName(), "type" : block.GetType(), "inputs" : block.GetInputTypes(), |
1641 old_values = {"name" : block.GetName(), "type" : block.GetType(), "inputs" : block.GetInputTypes(), |
1642 "executionOrder" : block.GetExecutionOrder(), "extension" : block.GetExtension()} |
1642 "executionOrder" : block.GetExecutionOrder(), "extension" : block.GetExtension()} |
1643 dialog.SetValues(old_values) |
1643 dialog.SetValues(old_values) |
1644 if dialog.ShowModal() == wx.ID_OK: |
1644 if dialog.ShowModal() == wx.ID_OK: |
1645 new_values = dialog.GetValues() |
1645 new_values = dialog.GetValues() |
|
1646 rect = block.GetRedrawRect(1, 1) |
1646 if "name" in new_values: |
1647 if "name" in new_values: |
1647 block.SetName(new_values["name"]) |
1648 block.SetName(new_values["name"]) |
|
1649 else: |
|
1650 block.SetName("") |
1648 block.SetSize(*self.GetScaledSize(new_values["width"], new_values["height"])) |
1651 block.SetSize(*self.GetScaledSize(new_values["width"], new_values["height"])) |
1649 block.SetType(new_values["type"], new_values["extension"]) |
1652 block.SetType(new_values["type"], new_values["extension"]) |
1650 block.SetExecutionOrder(new_values["executionOrder"]) |
1653 block.SetExecutionOrder(new_values["executionOrder"]) |
|
1654 rect = rect.Union(block.GetRedrawRect()) |
1651 self.RefreshBlockModel(block) |
1655 self.RefreshBlockModel(block) |
1652 if old_values["executionOrder"] != new_values["executionOrder"]: |
1656 if old_values["executionOrder"] != new_values["executionOrder"]: |
1653 self.RefreshView() |
1657 self.RefreshView() |
1654 self.RefreshBuffer() |
1658 self.RefreshBuffer() |
1655 self.RefreshScrollBars() |
1659 self.RefreshScrollBars() |
1656 self.ParentWindow.RefreshVariablePanel(self.TagName) |
1660 self.ParentWindow.RefreshVariablePanel(self.TagName) |
1657 block.Refresh() |
1661 block.Refresh(rect) |
1658 dialog.Destroy() |
1662 dialog.Destroy() |
1659 |
1663 |
1660 def EditVariableContent(self, variable): |
1664 def EditVariableContent(self, variable): |
1661 dialog = VariablePropertiesDialog(self.ParentWindow) |
1665 dialog = VariablePropertiesDialog(self.ParentWindow) |
1662 dialog.SetMinVariableSize(variable.GetSize()) |
1666 dialog.SetMinVariableSize(variable.GetSize()) |
1673 old_values = {"name" : variable.GetName(), "type" : variable.GetType(), |
1677 old_values = {"name" : variable.GetName(), "type" : variable.GetType(), |
1674 "executionOrder" : variable.GetExecutionOrder()} |
1678 "executionOrder" : variable.GetExecutionOrder()} |
1675 dialog.SetValues(old_values) |
1679 dialog.SetValues(old_values) |
1676 if dialog.ShowModal() == wx.ID_OK: |
1680 if dialog.ShowModal() == wx.ID_OK: |
1677 new_values = dialog.GetValues() |
1681 new_values = dialog.GetValues() |
|
1682 rect = variable.GetRedrawRect(1, 1) |
1678 variable.SetName(new_values["name"]) |
1683 variable.SetName(new_values["name"]) |
1679 variable.SetType(new_values["type"], new_values["value_type"]) |
1684 variable.SetType(new_values["type"], new_values["value_type"]) |
1680 variable.SetSize(*self.GetScaledSize(new_values["width"], new_values["height"])) |
1685 variable.SetSize(*self.GetScaledSize(new_values["width"], new_values["height"])) |
1681 variable.SetExecutionOrder(new_values["executionOrder"]) |
1686 variable.SetExecutionOrder(new_values["executionOrder"]) |
|
1687 rect = rect.Union(variable.GetRedrawRect()) |
1682 if old_values["type"] != new_values["type"]: |
1688 if old_values["type"] != new_values["type"]: |
1683 id = variable.GetId() |
1689 id = variable.GetId() |
1684 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1690 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1685 self.Controler.AddEditedElementVariable(self.TagName, id, new_values["type"]) |
1691 self.Controler.AddEditedElementVariable(self.TagName, id, new_values["type"]) |
1686 self.RefreshVariableModel(variable) |
1692 self.RefreshVariableModel(variable) |
1687 if old_values["executionOrder"] != new_values["executionOrder"]: |
1693 if old_values["executionOrder"] != new_values["executionOrder"]: |
1688 self.RefreshView() |
1694 self.RefreshView() |
1689 self.RefreshBuffer() |
1695 self.RefreshBuffer() |
1690 self.RefreshScrollBars() |
1696 self.RefreshScrollBars() |
1691 variable.Refresh() |
1697 variable.Refresh(rect) |
1692 dialog.Destroy() |
1698 dialog.Destroy() |
1693 |
1699 |
1694 def EditConnectionContent(self, connection): |
1700 def EditConnectionContent(self, connection): |
1695 dialog = ConnectionPropertiesDialog(self.ParentWindow) |
1701 dialog = ConnectionPropertiesDialog(self.ParentWindow) |
1696 dialog.SetMinConnectionSize(connection.GetSize()) |
1702 dialog.SetMinConnectionSize(connection.GetSize()) |
1697 values = {"name" : connection.GetName(), "type" : connection.GetType()} |
1703 values = {"name" : connection.GetName(), "type" : connection.GetType()} |
1698 dialog.SetValues(values) |
1704 dialog.SetValues(values) |
1699 if dialog.ShowModal() == wx.ID_OK: |
1705 if dialog.ShowModal() == wx.ID_OK: |
1700 old_type = connection.GetType() |
1706 old_type = connection.GetType() |
1701 values = dialog.GetValues() |
1707 values = dialog.GetValues() |
|
1708 rect = connection.GetRedrawRect(1, 1) |
1702 connection.SetName(values["name"]) |
1709 connection.SetName(values["name"]) |
1703 connection.SetType(values["type"]) |
1710 connection.SetType(values["type"]) |
1704 connection.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
1711 connection.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
|
1712 rect = rect.Union(connection.GetRedrawRect()) |
1705 if old_type != values["type"]: |
1713 if old_type != values["type"]: |
1706 id = connection.GetId() |
1714 id = connection.GetId() |
1707 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1715 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1708 self.Controler.AddEditedElementConnection(self.TagName, id, values["type"]) |
1716 self.Controler.AddEditedElementConnection(self.TagName, id, values["type"]) |
1709 self.RefreshConnectionModel(connection) |
1717 self.RefreshConnectionModel(connection) |
1710 self.RefreshBuffer() |
1718 self.RefreshBuffer() |
1711 self.RefreshScrollBars() |
1719 self.RefreshScrollBars() |
1712 connection.Refresh() |
1720 connection.Refresh(rect) |
1713 dialog.Destroy() |
1721 dialog.Destroy() |
1714 |
1722 |
1715 def EditContactContent(self, contact): |
1723 def EditContactContent(self, contact): |
1716 dialog = LDElementDialog(self.ParentWindow, "contact") |
1724 dialog = LDElementDialog(self.ParentWindow, "contact") |
1717 varlist = [] |
1725 varlist = [] |
1724 values = {"name" : contact.GetName(), "type" : contact.GetType()} |
1732 values = {"name" : contact.GetName(), "type" : contact.GetType()} |
1725 dialog.SetValues(values) |
1733 dialog.SetValues(values) |
1726 dialog.SetElementSize(contact.GetSize()) |
1734 dialog.SetElementSize(contact.GetSize()) |
1727 if dialog.ShowModal() == wx.ID_OK: |
1735 if dialog.ShowModal() == wx.ID_OK: |
1728 values = dialog.GetValues() |
1736 values = dialog.GetValues() |
|
1737 rect = contact.GetRedrawRect(1, 1) |
1729 contact.SetName(values["name"]) |
1738 contact.SetName(values["name"]) |
1730 contact.SetType(values["type"]) |
1739 contact.SetType(values["type"]) |
1731 contact.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
1740 contact.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
|
1741 rect = rect.Union(contact.GetRedrawRect()) |
1732 self.RefreshContactModel(contact) |
1742 self.RefreshContactModel(contact) |
1733 self.RefreshBuffer() |
1743 self.RefreshBuffer() |
1734 self.RefreshScrollBars() |
1744 self.RefreshScrollBars() |
1735 contact.Refresh() |
1745 contact.Refresh(rect) |
1736 dialog.Destroy() |
1746 dialog.Destroy() |
1737 |
1747 |
1738 def EditCoilContent(self, coil): |
1748 def EditCoilContent(self, coil): |
1739 dialog = LDElementDialog(self.ParentWindow, "coil") |
1749 dialog = LDElementDialog(self.ParentWindow, "coil") |
1740 varlist = [] |
1750 varlist = [] |
1750 values = {"name" : coil.GetName(), "type" : coil.GetType()} |
1760 values = {"name" : coil.GetName(), "type" : coil.GetType()} |
1751 dialog.SetValues(values) |
1761 dialog.SetValues(values) |
1752 dialog.SetElementSize(coil.GetSize()) |
1762 dialog.SetElementSize(coil.GetSize()) |
1753 if dialog.ShowModal() == wx.ID_OK: |
1763 if dialog.ShowModal() == wx.ID_OK: |
1754 values = dialog.GetValues() |
1764 values = dialog.GetValues() |
|
1765 rect = coil.GetRedrawRect(1, 1) |
1755 coil.SetName(values["name"]) |
1766 coil.SetName(values["name"]) |
1756 coil.SetType(values["type"]) |
1767 coil.SetType(values["type"]) |
1757 coil.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
1768 coil.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
|
1769 rect = rect.Union(coil.GetRedrawRect()) |
1758 self.RefreshCoilModel(coil) |
1770 self.RefreshCoilModel(coil) |
1759 self.RefreshBuffer() |
1771 self.RefreshBuffer() |
1760 self.RefreshScrollBars() |
1772 self.RefreshScrollBars() |
1761 coil.Refresh() |
1773 coil.Refresh(rect) |
1762 dialog.Destroy() |
1774 dialog.Destroy() |
1763 |
1775 |
1764 def EditPowerRailContent(self, powerrail): |
1776 def EditPowerRailContent(self, powerrail): |
1765 dialog = LDPowerRailDialog(self.ParentWindow, powerrail.GetType(), len(powerrail.GetConnectors())) |
1777 dialog = LDPowerRailDialog(self.ParentWindow, powerrail.GetType(), len(powerrail.GetConnectors())) |
1766 dialog.SetMinSize(powerrail.GetSize()) |
1778 dialog.SetMinSize(powerrail.GetSize()) |
1767 if dialog.ShowModal() == wx.ID_OK: |
1779 if dialog.ShowModal() == wx.ID_OK: |
1768 old_type = powerrail.GetType() |
1780 old_type = powerrail.GetType() |
1769 values = dialog.GetValues() |
1781 values = dialog.GetValues() |
|
1782 rect = powerrail.GetRedrawRect(1, 1) |
1770 powerrail.SetType(values["type"], [True for i in xrange(values["number"])]) |
1783 powerrail.SetType(values["type"], [True for i in xrange(values["number"])]) |
1771 powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
1784 powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"])) |
|
1785 rect = rect.Union(powerrail.GetRedrawRect()) |
1772 if old_type != values["type"]: |
1786 if old_type != values["type"]: |
1773 id = powerrail.GetId() |
1787 id = powerrail.GetId() |
1774 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1788 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1775 self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"]) |
1789 self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"]) |
1776 self.RefreshPowerRailModel(powerrail) |
1790 self.RefreshPowerRailModel(powerrail) |
1777 self.RefreshBuffer() |
1791 self.RefreshBuffer() |
1778 self.RefreshScrollBars() |
1792 self.RefreshScrollBars() |
1779 powerrail.Refresh() |
1793 powerrail.Refresh(rect) |
1780 dialog.Destroy() |
1794 dialog.Destroy() |
1781 |
1795 |
1782 def EditStepContent(self, step): |
1796 def EditStepContent(self, step): |
1783 dialog = StepContentDialog(self.ParentWindow, step.GetInitial()) |
1797 dialog = StepContentDialog(self.ParentWindow, step.GetInitial()) |
1784 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1798 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1805 if values["action"]: |
1820 if values["action"]: |
1806 step.AddAction() |
1821 step.AddAction() |
1807 else: |
1822 else: |
1808 step.RemoveAction() |
1823 step.RemoveAction() |
1809 step.UpdateSize(*self.GetScaledSize(values["width"], values["height"])) |
1824 step.UpdateSize(*self.GetScaledSize(values["width"], values["height"])) |
1810 step.RefreshModel() |
1825 rect = rect.Union(step.GetRedrawRect()) |
1811 self.RefreshBuffer() |
1826 self.RefreshStepModel(step) |
1812 self.RefreshScrollBars() |
1827 self.RefreshBuffer() |
1813 step.Refresh() |
1828 self.RefreshScrollBars() |
|
1829 step.Refresh(rect) |
1814 |
1830 |
1815 def EditTransitionContent(self, transition): |
1831 def EditTransitionContent(self, transition): |
1816 dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) |
1832 dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) |
1817 dialog.SetTransitions(self.Controler.GetEditedElementTransitions(self.TagName)) |
1833 dialog.SetTransitions(self.Controler.GetEditedElementTransitions(self.TagName)) |
1818 dialog.SetValues({"type":transition.GetType(),"value":transition.GetCondition(), "priority":transition.GetPriority()}) |
1834 dialog.SetValues({"type":transition.GetType(),"value":transition.GetCondition(), "priority":transition.GetPriority()}) |
1819 dialog.SetElementSize(transition.GetSize()) |
1835 dialog.SetElementSize(transition.GetSize()) |
1820 if dialog.ShowModal() == wx.ID_OK: |
1836 if dialog.ShowModal() == wx.ID_OK: |
1821 values = dialog.GetValues() |
1837 values = dialog.GetValues() |
|
1838 rect = transition.GetRedrawRect(1, 1) |
1822 transition.SetType(values["type"],values["value"]) |
1839 transition.SetType(values["type"],values["value"]) |
1823 transition.SetPriority(values["priority"]) |
1840 transition.SetPriority(values["priority"]) |
1824 transition.RefreshModel() |
1841 rect = rect.Union(transition.GetRedrawRect()) |
1825 self.RefreshBuffer() |
1842 self.RefreshTransitionModel(transition) |
1826 self.RefreshScrollBars() |
1843 self.RefreshBuffer() |
1827 transition.Refresh() |
1844 self.RefreshScrollBars() |
|
1845 transition.Refresh(rect) |
1828 dialog.Destroy() |
1846 dialog.Destroy() |
1829 |
1847 |
1830 def EditJumpContent(self, jump): |
1848 def EditJumpContent(self, jump): |
1831 choices = [] |
1849 choices = [] |
1832 for block in self.Blocks: |
1850 for block in self.Blocks: |
1834 choices.append(block.GetName()) |
1852 choices.append(block.GetName()) |
1835 dialog = wx.SingleChoiceDialog(self.ParentWindow, "Edit jump target", "Please choose a target", choices, wx.OK|wx.CANCEL) |
1853 dialog = wx.SingleChoiceDialog(self.ParentWindow, "Edit jump target", "Please choose a target", choices, wx.OK|wx.CANCEL) |
1836 dialog.SetSelection(choices.index(jump.GetTarget())) |
1854 dialog.SetSelection(choices.index(jump.GetTarget())) |
1837 if dialog.ShowModal() == wx.ID_OK: |
1855 if dialog.ShowModal() == wx.ID_OK: |
1838 value = dialog.GetStringSelection() |
1856 value = dialog.GetStringSelection() |
|
1857 rect = jump.GetRedrawRect(1, 1) |
1839 jump.SetTarget(value) |
1858 jump.SetTarget(value) |
1840 jump.RefreshModel() |
1859 rect = rect.Union(jump.GetRedrawRect()) |
1841 self.RefreshBuffer() |
1860 self.RefreshJumpModel(jump) |
1842 self.RefreshScrollBars() |
1861 self.RefreshBuffer() |
1843 jump.Refresh() |
1862 self.RefreshScrollBars() |
|
1863 jump.Refresh(rect) |
1844 dialog.Destroy() |
1864 dialog.Destroy() |
1845 |
1865 |
1846 def EditActionBlockContent(self, actionblock): |
1866 def EditActionBlockContent(self, actionblock): |
1847 dialog = ActionBlockDialog(self.ParentWindow) |
1867 dialog = ActionBlockDialog(self.ParentWindow) |
1848 dialog.SetQualifierList(self.Controler.GetQualifierTypes()) |
1868 dialog.SetQualifierList(self.Controler.GetQualifierTypes()) |
1849 dialog.SetActionList(self.Controler.GetEditedElementActions(self.TagName)) |
1869 dialog.SetActionList(self.Controler.GetEditedElementActions(self.TagName)) |
1850 dialog.SetVariableList(self.Controler.GetEditedElementInterfaceVars(self.TagName)) |
1870 dialog.SetVariableList(self.Controler.GetEditedElementInterfaceVars(self.TagName)) |
1851 dialog.SetValues(actionblock.GetActions()) |
1871 dialog.SetValues(actionblock.GetActions()) |
1852 if dialog.ShowModal() == wx.ID_OK: |
1872 if dialog.ShowModal() == wx.ID_OK: |
1853 actions = dialog.GetValues() |
1873 actions = dialog.GetValues() |
|
1874 rect = actionblock.GetRedrawRect(1, 1) |
1854 actionblock.SetActions(actions) |
1875 actionblock.SetActions(actions) |
1855 actionblock.SetSize(*self.GetScaledSize(*actionblock.GetSize())) |
1876 actionblock.SetSize(*self.GetScaledSize(*actionblock.GetSize())) |
1856 actionblock.RefreshModel() |
1877 rect = rect.Union(actionblock.GetRedrawRect()) |
1857 self.RefreshBuffer() |
1878 self.RefreshActionBlockModel(actionblock) |
1858 self.RefreshScrollBars() |
1879 self.RefreshBuffer() |
1859 actionblock.Refresh() |
1880 self.RefreshScrollBars() |
|
1881 actionblock.Refresh(rect) |
1860 dialog.Destroy() |
1882 dialog.Destroy() |
1861 |
1883 |
1862 def EditCommentContent(self, comment): |
1884 def EditCommentContent(self, comment): |
1863 if wx.VERSION >= (2, 5, 0): |
1885 if wx.VERSION >= (2, 5, 0): |
1864 dialog = wx.TextEntryDialog(self.ParentWindow, "Edit comment", "Please enter comment text", comment.GetContent(), wx.OK|wx.CANCEL|wx.TE_MULTILINE) |
1886 dialog = wx.TextEntryDialog(self.ParentWindow, "Edit comment", "Please enter comment text", comment.GetContent(), wx.OK|wx.CANCEL|wx.TE_MULTILINE) |
1865 else: |
1887 else: |
1866 dialog = wx.TextEntryDialog(self.ParentWindow, "Edit comment", "Please enter comment text", comment.GetContent(), wx.OK|wx.CANCEL) |
1888 dialog = wx.TextEntryDialog(self.ParentWindow, "Edit comment", "Please enter comment text", comment.GetContent(), wx.OK|wx.CANCEL) |
1867 if dialog.ShowModal() == wx.ID_OK: |
1889 if dialog.ShowModal() == wx.ID_OK: |
1868 value = dialog.GetValue() |
1890 value = dialog.GetValue() |
|
1891 rect = comment.GetRedrawRect(1, 1) |
1869 comment.SetContent(value) |
1892 comment.SetContent(value) |
1870 comment.SetSize(*self.GetScaledSize(*comment.GetSize())) |
1893 comment.SetSize(*self.GetScaledSize(*comment.GetSize())) |
1871 comment.RefreshModel() |
1894 rect = rect.Union(comment.GetRedrawRect()) |
1872 self.RefreshBuffer() |
1895 self.RefreshCommentModel(comment) |
1873 self.RefreshScrollBars() |
1896 self.RefreshBuffer() |
1874 comment.Refresh() |
1897 self.RefreshScrollBars() |
|
1898 comment.Refresh(rect) |
1875 dialog.Destroy() |
1899 dialog.Destroy() |
1876 |
1900 |
1877 #------------------------------------------------------------------------------- |
1901 #------------------------------------------------------------------------------- |
1878 # Model update functions |
1902 # Model update functions |
1879 #------------------------------------------------------------------------------- |
1903 #------------------------------------------------------------------------------- |