1
2
3
4
5
6
7
8
9
10
11
12 package sk.uniba.euromath.editor.xmlEditor.commands;
13
14 import sk.baka.ikslibs.interval.DOMIntervalSet;
15 import sk.uniba.euromath.document.XMLAccess;
16 import sk.uniba.euromath.editor.selections.IDOMSelectionProvider;
17 import sk.uniba.euromath.editor.textEditor.CaretManager;
18 import sk.uniba.euromath.editor.textEditor.Direction;
19
20 /***
21 * @author Tomáš Studva 21.8.2006
22 */
23 public class DeleteSelectionCommand extends DeleteDOMIntervalSetCommand {
24
25 private final IDOMSelectionProvider selectionProvider;
26
27 /***
28 * Constructor.
29 */
30 public DeleteSelectionCommand(XMLAccess xmlAccess,
31 CaretManager caretManager, Direction direction,
32 int caretMovement,
33 IDOMSelectionProvider selectionProvider) {
34 super(selectionProvider.getDOMSelection(), xmlAccess,
35 caretManager, direction, caretMovement);
36 this.selectionProvider = selectionProvider;
37 }
38
39 /***
40 * Constructor.
41 *
42 */
43 public DeleteSelectionCommand(XMLAccess xmlAccess,
44 CaretManager caretManager,
45 IDOMSelectionProvider selectionProvider) {
46 super(selectionProvider.getDOMSelection(), xmlAccess,
47 caretManager);
48 this.selectionProvider = selectionProvider;
49 }
50
51 @Override
52 public void execute() {
53 this.selectionProvider.setSelection(new DOMIntervalSet());
54 super.execute();
55 }
56
57 @Override
58 public void undo() {
59 super.undo();
60 this.selectionProvider.setSelection(this.toDelete);
61 }
62
63 @Override
64 public void redo() {
65 this.selectionProvider.setSelection(new DOMIntervalSet());
66 super.redo();
67 }
68 }