334 |
334 |
335 class IDEFrame(wx.Frame): |
335 class IDEFrame(wx.Frame): |
336 |
336 |
337 # Compatibility function for wx versions < 2.6 |
337 # Compatibility function for wx versions < 2.6 |
338 if wx.VERSION < (2, 6, 0): |
338 if wx.VERSION < (2, 6, 0): |
339 def Bind(self, event, function, id = None): |
339 def Bind(self, event, function, id=None): |
340 if id is not None: |
340 if id is not None: |
341 event(self, id, function) |
341 event(self, id, function) |
342 else: |
342 else: |
343 event(self, function) |
343 event(self, function) |
344 |
344 |
655 ## Constructor of the PLCOpenEditor class. |
655 ## Constructor of the PLCOpenEditor class. |
656 # @param parent The parent window. |
656 # @param parent The parent window. |
657 # @param controler The controler been used by PLCOpenEditor (default: None). |
657 # @param controler The controler been used by PLCOpenEditor (default: None). |
658 # @param fileOpen The filepath to open if no controler defined (default: None). |
658 # @param fileOpen The filepath to open if no controler defined (default: None). |
659 # @param debug The filepath to open if no controler defined (default: False). |
659 # @param debug The filepath to open if no controler defined (default: False). |
660 def __init__(self, parent, enable_debug = False): |
660 def __init__(self, parent, enable_debug=False): |
661 self.Controler = None |
661 self.Controler = None |
662 self.Config = wx.ConfigBase.Get() |
662 self.Config = wx.ConfigBase.Get() |
663 self.EnableDebug = enable_debug |
663 self.EnableDebug = enable_debug |
664 |
664 |
665 self._init_ctrls(parent) |
665 self._init_ctrls(parent) |
1605 else: |
1605 else: |
1606 item = event.GetItem() |
1606 item = event.GetItem() |
1607 old_name = self.ProjectTree.GetItemText(item) |
1607 old_name = self.ProjectTree.GetItemText(item) |
1608 item_infos = self.ProjectTree.GetPyData(item) |
1608 item_infos = self.ProjectTree.GetPyData(item) |
1609 if item_infos["type"] == ITEM_PROJECT: |
1609 if item_infos["type"] == ITEM_PROJECT: |
1610 self.Controler.SetProjectProperties(name = new_name) |
1610 self.Controler.SetProjectProperties(name=new_name) |
1611 elif item_infos["type"] == ITEM_DATATYPE: |
1611 elif item_infos["type"] == ITEM_DATATYPE: |
1612 if new_name.upper() in [name.upper() for name in self.Controler.GetProjectDataTypeNames() if name != old_name]: |
1612 if new_name.upper() in [name.upper() for name in self.Controler.GetProjectDataTypeNames() if name != old_name]: |
1613 message = _("\"%s\" data type already exists!") % new_name |
1613 message = _("\"%s\" data type already exists!") % new_name |
1614 abort = True |
1614 abort = True |
1615 if not abort: |
1615 if not abort: |
1774 self.SelectedItem = event.GetItem() |
1774 self.SelectedItem = event.GetItem() |
1775 event.Veto() |
1775 event.Veto() |
1776 else: |
1776 else: |
1777 event.Skip() |
1777 event.Skip() |
1778 |
1778 |
1779 def EditProjectElement(self, element, tagname, onlyopened = False): |
1779 def EditProjectElement(self, element, tagname, onlyopened=False): |
1780 openedidx = self.IsOpened(tagname) |
1780 openedidx = self.IsOpened(tagname) |
1781 if openedidx is not None: |
1781 if openedidx is not None: |
1782 old_selected = self.TabsOpened.GetSelection() |
1782 old_selected = self.TabsOpened.GetSelection() |
1783 if old_selected != openedidx: |
1783 if old_selected != openedidx: |
1784 if old_selected >= 0: |
1784 if old_selected >= 0: |
2296 tagname = self.Controler.ProjectAddDataType() |
2296 tagname = self.Controler.ProjectAddDataType() |
2297 if tagname is not None: |
2297 if tagname is not None: |
2298 self._Refresh(TITLE, FILEMENU, EDITMENU, PROJECTTREE) |
2298 self._Refresh(TITLE, FILEMENU, EDITMENU, PROJECTTREE) |
2299 self.EditProjectElement(ITEM_DATATYPE, tagname) |
2299 self.EditProjectElement(ITEM_DATATYPE, tagname) |
2300 |
2300 |
2301 def GenerateAddPouFunction(self, pou_type, type_readonly = False): |
2301 def GenerateAddPouFunction(self, pou_type, type_readonly=False): |
2302 def OnAddPouMenu(event): |
2302 def OnAddPouMenu(event): |
2303 dialog = PouDialog(self, pou_type, type_readonly) |
2303 dialog = PouDialog(self, pou_type, type_readonly) |
2304 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2304 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
2305 dialog.SetPouElementNames(self.Controler.GetProjectPouVariableNames()) |
2305 dialog.SetPouElementNames(self.Controler.GetProjectPouVariableNames()) |
2306 dialog.SetValues({"pouName": self.Controler.GenerateNewName(None, None, "%s%%d" % pou_type)}) |
2306 dialog.SetValues({"pouName": self.Controler.GenerateNewName(None, None, "%s%%d" % pou_type)}) |
2555 |
2555 |
2556 UPPER_DIV = lambda x, y: (x / y) + {True: 0, False: 1}[(x % y) == 0] |
2556 UPPER_DIV = lambda x, y: (x / y) + {True: 0, False: 1}[(x % y) == 0] |
2557 |
2557 |
2558 |
2558 |
2559 class GraphicPrintout(wx.Printout): |
2559 class GraphicPrintout(wx.Printout): |
2560 def __init__(self, viewer, page_size, margins, preview = False): |
2560 def __init__(self, viewer, page_size, margins, preview=False): |
2561 wx.Printout.__init__(self) |
2561 wx.Printout.__init__(self) |
2562 self.Viewer = viewer |
2562 self.Viewer = viewer |
2563 self.PageSize = page_size |
2563 self.PageSize = page_size |
2564 if self.PageSize[0] == 0 or self.PageSize[1] == 0: |
2564 if self.PageSize[0] == 0 or self.PageSize[1] == 0: |
2565 self.PageSize = (1050, 1485) |
2565 self.PageSize = (1050, 1485) |