PLCOpenEditor.py
changeset 384 ed27a676d5c9
parent 372 8cab11dd2325
child 390 020420ad8914
equal deleted inserted replaced
383:25ffba02b6a8 384:ed27a676d5c9
   175     else:
   175     else:
   176         parent.Append(helpString=help, id=id, kind=kind, item=text)
   176         parent.Append(helpString=help, id=id, kind=kind, item=text)
   177 
   177 
   178 class PLCOpenEditor(wx.Frame):
   178 class PLCOpenEditor(wx.Frame):
   179     
   179     
   180     CopyBuffer = None
   180     # Compatibility function for wx versions < 2.6
   181     
       
   182     if wx.VERSION < (2, 6, 0):
   181     if wx.VERSION < (2, 6, 0):
   183         def Bind(self, event, function, id = None):
   182         def Bind(self, event, function, id = None):
   184             if id is not None:
   183             if id is not None:
   185                 event(self, id, function)
   184                 event(self, id, function)
   186             else:
   185             else:
   687     def OnPageDragged(self, event):
   686     def OnPageDragged(self, event):
   688         wx.CallAfter(self.RefreshTabCtrlEvent)
   687         wx.CallAfter(self.RefreshTabCtrlEvent)
   689         event.Skip()
   688         event.Skip()
   690 
   689 
   691     def GetCopyBuffer(self):
   690     def GetCopyBuffer(self):
   692         return PLCOpenEditor.CopyBuffer
   691         data = None
   693     
   692         if wx.TheClipboard.Open():
   694     def SetCopyBuffer(self, element):
   693             dataobj = wx.TextDataObject()
   695         PLCOpenEditor.CopyBuffer = element
   694             if wx.TheClipboard.GetData(dataobj):
       
   695                 data = dataobj.GetText()
       
   696             wx.TheClipboard.Close()
       
   697         return data
       
   698         
       
   699     def SetCopyBuffer(self, text):
       
   700         if wx.TheClipboard.Open():
       
   701             data = wx.TextDataObject()
       
   702             data.SetText(text)
       
   703             wx.TheClipboard.SetData(data)
       
   704             wx.TheClipboard.Flush()
       
   705             wx.TheClipboard.Close()
   696         self.RefreshEditMenu()
   706         self.RefreshEditMenu()
   697 
   707 
   698     def GetDrawingMode(self):
   708     def GetDrawingMode(self):
   699         return self.DrawingMode
   709         return self.DrawingMode
   700 
   710 
  1069                 self.EditMenu.Enable(wx.ID_ADD, True)
  1079                 self.EditMenu.Enable(wx.ID_ADD, True)
  1070                 self.EditMenu.Enable(wx.ID_DELETE, True)
  1080                 self.EditMenu.Enable(wx.ID_DELETE, True)
  1071                 if self.TabsOpened.GetPageCount() > 0:
  1081                 if self.TabsOpened.GetPageCount() > 0:
  1072                     self.EditMenu.Enable(wx.ID_CUT, True)
  1082                     self.EditMenu.Enable(wx.ID_CUT, True)
  1073                     self.EditMenu.Enable(wx.ID_COPY, True)
  1083                     self.EditMenu.Enable(wx.ID_COPY, True)
  1074                     if self.CopyBuffer is not None:
  1084                     if self.GetCopyBuffer() is not None:
  1075                         self.EditMenu.Enable(wx.ID_PASTE, True)
  1085                         self.EditMenu.Enable(wx.ID_PASTE, True)
  1076                     else:
  1086                     else:
  1077                         self.EditMenu.Enable(wx.ID_PASTE, False)
  1087                         self.EditMenu.Enable(wx.ID_PASTE, False)
  1078                     self.EditMenu.Enable(wx.ID_SELECTALL, True)
  1088                     self.EditMenu.Enable(wx.ID_SELECTALL, True)
  1079                 else:
  1089                 else: