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): |