[brailleblaster] push by brandon....@xxxxxxxxx - Added redo for text updates on 2014-12-10 14:35 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 10 Dec 2014 14:35:41 +0000

Revision: d4e2dcd7764f
Branch:   rt1835-UndoRemoveElement
Author:   Brandon Roller<brandon.r.roller@xxxxxxxxx>
Date:     Wed Dec 10 14:36:26 2014 UTC
Log:      Added redo for text updates
https://code.google.com/p/brailleblaster/source/detail?r=d4e2dcd7764f

Modified:
 /src/main/org/brailleblaster/perspectives/braille/Manager.java
 /src/main/org/brailleblaster/perspectives/braille/eventQueue/Event.java
 /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java
/src/main/org/brailleblaster/perspectives/braille/stylers/TextUpdateHandler.java

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/Manager.java Tue Dec 9 16:18:02 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/Manager.java Wed Dec 10 14:36:26 2014 UTC
@@ -59,6 +59,7 @@
 import org.brailleblaster.perspectives.braille.document.BrailleDocument;
 import org.brailleblaster.perspectives.braille.eventQueue.EventFrame;
 import org.brailleblaster.perspectives.braille.eventQueue.EventQueue;
+import org.brailleblaster.perspectives.braille.eventQueue.EventTypes;
 import org.brailleblaster.perspectives.braille.eventQueue.RedoQueue;
 import org.brailleblaster.perspectives.braille.eventQueue.UndoQueue;
import org.brailleblaster.perspectives.braille.mapping.elements.BrlOnlyMapElement;
@@ -1689,10 +1690,14 @@
        public void addUndoEvent(EventFrame f){
                undoQueue.add(f);
        }
+
+       public void addRedoEvent(EventFrame f){
+               redoQueue.add(f);
+       }

        public void undo(){
                EventFrame f = undoQueue.popEvent(vi, document, list, this);
-               if(f != null)
+               if(f != null && 
!f.get(0).getEventType().equals(EventTypes.Update))
                        redoQueue.add(f);
        }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/eventQueue/Event.java Thu Dec 4 16:29:20 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/eventQueue/Event.java Wed Dec 10 14:36:26 2014 UTC
@@ -55,4 +55,8 @@
        public int getFirstSectionIndex(){
                return firstSectionIndex;
        }
+
+       public EventTypes getEventType(){
+               return eventType;
+       }
 }
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java Tue Dec 9 21:34:17 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java Wed Dec 10 14:36:26 2014 UTC
@@ -22,6 +22,8 @@
                        Event event = f.get(i);
                        switch(event.eventType){
                                case Update:
+                                       TextUpdateHandler tuh = new 
TextUpdateHandler(manager, vi, list);
+                                       tuh.updateText(event);
                                        break;
                                case Insert:
                                        break;
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/stylers/TextUpdateHandler.java Tue Dec 9 21:34:17 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/stylers/TextUpdateHandler.java Wed Dec 10 14:36:26 2014 UTC
@@ -41,13 +41,8 @@
                        message.put("diff", 0);
                }
                else {
-                       if(!message.contains("redoEvent"))
-                               addEvent();
-                       document.updateDOM(list, message);
-                       braille.updateBraille(list.getCurrent(), message);
-                       text.reformatText(list.getCurrent().n, message, 
manager);
-                       list.updateOffsets(list.getCurrentIndex(), message);
-                       list.checkList();
+                       addUndoEvent();
+                       resetText(message);
                }
                manager.getArchiver().setDocumentEdited(true);
        }
@@ -55,27 +50,34 @@
        public void updateText(Event ev){
                list.setCurrent(ev.getListIndex());
                
manager.dispatch(Message.createUpdateCursorsMessage(Sender.TREE));
+               addRedoEvent();
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;
+               resetText(m);
+       }

-               text.setCurrentSelection(start, end);
-
-               text.view.replaceTextRange(start, end - start, 
ev.getNode().getValue());
-               text.update(true);
-       */
+       private void resetText(Message message){
+               document.updateDOM(list, message);
+               braille.updateBraille(list.getCurrent(), message);
+               text.reformatText(list.getCurrent().n, message, manager);
+               list.updateOffsets(list.getCurrentIndex(), message);
+               list.checkList();
+       }
+
+       private void addUndoEvent(){
+               manager.addUndoEvent(addEvent());
+       }
+
+       private void addRedoEvent(){
+               manager.addRedoEvent(addEvent());
        }

-       private void addEvent(){
+       private EventFrame 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);
-               manager.addUndoEvent(f);
+
+               return f;
        }
 }

Other related posts:

  • » [brailleblaster] push by brandon....@xxxxxxxxx - Added redo for text updates on 2014-12-10 14:35 GMT - brailleblaster