Class: Textbringer::OverwriteAction
- Inherits:
-
UndoableAction
- Object
- UndoableAction
- Textbringer::OverwriteAction
- Defined in:
- lib/textbringer/modes/overwrite_mode.rb
Instance Attribute Summary
Attributes inherited from UndoableAction
Instance Method Summary collapse
-
#initialize(buffer, location, inserted_string, deleted_string) ⇒ OverwriteAction
constructor
A new instance of OverwriteAction.
- #merge(inserted_string, deleted_string) ⇒ Object
- #redo ⇒ Object
- #undo ⇒ Object
Constructor Details
#initialize(buffer, location, inserted_string, deleted_string) ⇒ OverwriteAction
Returns a new instance of OverwriteAction.
53 54 55 56 57 58 |
# File 'lib/textbringer/modes/overwrite_mode.rb', line 53 def initialize(buffer, location, inserted_string, deleted_string) super(buffer, location) @inserted_string = inserted_string @deleted_string = deleted_string @copied = false end |
Instance Method Details
#merge(inserted_string, deleted_string) ⇒ Object
73 74 75 76 77 78 79 80 81 |
# File 'lib/textbringer/modes/overwrite_mode.rb', line 73 def merge(inserted_string, deleted_string) unless @copied @inserted_string = @inserted_string.dup @deleted_string = @deleted_string.dup @copied = true end @inserted_string.concat(inserted_string) @deleted_string.concat(deleted_string) end |
#redo ⇒ Object
67 68 69 70 71 |
# File 'lib/textbringer/modes/overwrite_mode.rb', line 67 def redo @buffer.goto_char(@location) @buffer.delete_region(@location, @location + @deleted_string.bytesize) @buffer.insert(@inserted_string) end |
#undo ⇒ Object
60 61 62 63 64 65 |
# File 'lib/textbringer/modes/overwrite_mode.rb', line 60 def undo @buffer.goto_char(@location) @buffer.delete_region(@location, @location + @inserted_string.bytesize) @buffer.insert(@deleted_string) @buffer.goto_char(@location) end |