IDEFrame.py
changeset 1744 69dfdb26f600
parent 1743 c3c3d1318130
child 1745 f9d32913bad4
equal deleted inserted replaced
1743:c3c3d1318130 1744:69dfdb26f600
   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)