Viewer.py
changeset 162 e746ff4aa8be
parent 158 8a770e8d745a
child 165 e464a4e4e06d
equal deleted inserted replaced
161:6af49f77fa2b 162:e746ff4aa8be
  2182 #                            Editing functions
  2182 #                            Editing functions
  2183 #-------------------------------------------------------------------------------
  2183 #-------------------------------------------------------------------------------
  2184     
  2184     
  2185     def Cut(self):
  2185     def Cut(self):
  2186         if self.IsBlock(self.SelectedElement):
  2186         if self.IsBlock(self.SelectedElement):
  2187             self.ParentWindow.SetCopyBuffer(self.SelectedElement.Clone())
  2187             self.ParentWindow.SetCopyBuffer(self.SelectedElement.Clone(self))
  2188             rect = self.SelectedElement.GetRedrawRect(1, 1)
  2188             rect = self.SelectedElement.GetRedrawRect(1, 1)
  2189             self.SelectedElement.Delete()
  2189             self.SelectedElement.Delete()
  2190             self.SelectedElement = None
  2190             self.SelectedElement = None
  2191             self.RefreshBuffer()
  2191             self.RefreshBuffer()
  2192             self.RefreshScrollBars()
  2192             self.RefreshScrollBars()
  2193             self.RefreshRect(self.GetScrolledRect(rect), False)
  2193             self.RefreshRect(self.GetScrolledRect(rect), False)
  2194         
  2194         
  2195     def Copy(self):
  2195     def Copy(self):
  2196         if self.IsBlock(self.SelectedElement):
  2196         if self.IsBlock(self.SelectedElement):
  2197             self.ParentWindow.SetCopyBuffer(self.SelectedElement.Clone())
  2197             self.ParentWindow.SetCopyBuffer(self.SelectedElement.Clone(self))
  2198             
  2198             
  2199     def Paste(self):
  2199     def Paste(self):
  2200         element = self.ParentWindow.GetCopyBuffer()
  2200         element = self.ParentWindow.GetCopyBuffer()
  2201         if element is not None and self.CanAddBlock(element):
  2201         if element is not None and self.CanAddBlock(element):
  2202             block = self.CopyBlock(element, wx.Point(*self.CalcUnscrolledPosition(30, 30)))
  2202             block = self.CopyBlock(element, wx.Point(*self.CalcUnscrolledPosition(30, 30)))
  2228                 format = "Step%d"
  2228                 format = "Step%d"
  2229             i = 1
  2229             i = 1
  2230             while (format%i).upper() in names:
  2230             while (format%i).upper() in names:
  2231                 i += 1
  2231                 i += 1
  2232             name = format%i
  2232             name = format%i
  2233             block = element.Clone(id, name, pos)
  2233             block = element.Clone(self, id, name, pos)
  2234         else:
  2234         else:
  2235             name = None
  2235             name = None
  2236             block = element.Clone(id, pos=pos)
  2236             block = element.Clone(self, id, pos=pos)
  2237         self.AddBlock(block)
  2237         self.AddBlock(block)
  2238         if isinstance(block, Comment):
  2238         if isinstance(block, Comment):
  2239             self.Controler.AddEditedElementComment(self.TagName, id)
  2239             self.Controler.AddEditedElementComment(self.TagName, id)
  2240             self.RefreshCommentModel(block)
  2240             self.RefreshCommentModel(block)
  2241         elif isinstance(block, FBD_Block):
  2241         elif isinstance(block, FBD_Block):