Revision: 30854d34b6e9 Branch: rt1835-UndoRemoveElement Author: Brandon Roller<brandon.r.roller@xxxxxxxxx> Date: Tue Dec 9 21:34:17 2014 UTC Log: Fixed a bug with consecutive undo events https://code.google.com/p/brailleblaster/source/detail?r=30854d34b6e9 Modified: /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java/src/main/org/brailleblaster/perspectives/braille/stylers/TextUpdateHandler.java
=======================================--- /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java Mon Dec 8 19:05:31 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java Tue Dec 9 21:34:17 2014 UTC
@@ -5,6 +5,7 @@ import org.brailleblaster.perspectives.braille.mapping.maps.MapList; import org.brailleblaster.perspectives.braille.stylers.ElementRemover; import org.brailleblaster.perspectives.braille.stylers.HideActionHandler; +import org.brailleblaster.perspectives.braille.stylers.TextUpdateHandler;import org.brailleblaster.perspectives.braille.viewInitializer.ViewInitializer;
public class RedoQueue extends EventQueue{ =======================================--- /src/main/org/brailleblaster/perspectives/braille/stylers/TextUpdateHandler.java Tue Dec 9 16:18:02 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/stylers/TextUpdateHandler.java Tue Dec 9 21:34:17 2014 UTC
@@ -23,7 +23,7 @@ BrailleDocument document; MapList list; ViewInitializer vi; - +public TextUpdateHandler(Manager manager, ViewInitializer vi, MapList list){
this.manager = manager; text = manager.getText(); @@ -41,7 +41,8 @@ message.put("diff", 0); } else { - addEvent(message); + if(!message.contains("redoEvent")) + addEvent(); document.updateDOM(list, message); braille.updateBraille(list.getCurrent(), message); text.reformatText(list.getCurrent().n, message, manager); @@ -54,19 +55,24 @@ public void updateText(Event ev){ list.setCurrent(ev.getListIndex()); manager.dispatch(Message.createUpdateCursorsMessage(Sender.TREE));+ Message m = Message.createUpdateMessage(list.getCurrent().start, ev.getNode().getValue(), list.getCurrent().end - list.getCurrent().start);
+ m.put("redoEvent", true); + updateText(m); + /* int start = list.getCurrent().start; int end = list.getCurrent().end; text.setCurrentSelection(start, end); + text.view.replaceTextRange(start, end - start, ev.getNode().getValue()); text.update(true); + */ } - private void addEvent(Message m){ + private void addEvent(){ EventFrame f = new EventFrame(); TextMapElement t = list.getCurrent(); -Event e = new Event(EventTypes.Update, t.n, vi.getStartIndex(), list.getCurrentIndex(), t.start,
t.brailleList.getFirst().start, treeView.getItemPath()); f.addEvent(e);