[brailleblaster] push by brandon....@xxxxxxxxx - Added redo event for removing whitespace on 2014-12-22 19:01 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Mon, 22 Dec 2014 19:02:03 +0000

Revision: 5b6faa2c8d38
Branch:   rt1835-UndoRemoveElement
Author:   Brandon Roller<brandon.r.roller@xxxxxxxxx>
Date:     Mon Dec 22 19:03:56 2014 UTC
Log:      Added redo event for removing whitespace
https://code.google.com/p/brailleblaster/source/detail?r=5b6faa2c8d38

Modified:
 /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java
/src/main/org/brailleblaster/perspectives/braille/stylers/WhiteSpaceHandler.java

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java Mon Dec 22 15:26:49 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/eventQueue/RedoQueue.java Mon Dec 22 19:03:56 2014 UTC
@@ -7,6 +7,7 @@
 import org.brailleblaster.perspectives.braille.stylers.HideActionHandler;
 import org.brailleblaster.perspectives.braille.stylers.StyleHandler;
 import org.brailleblaster.perspectives.braille.stylers.TextUpdateHandler;
+import org.brailleblaster.perspectives.braille.stylers.WhiteSpaceHandler;
import org.brailleblaster.perspectives.braille.viewInitializer.ViewInitializer;

 public class RedoQueue extends EventQueue{
@@ -40,6 +41,10 @@
                                        StyleHandler s = new 
StyleHandler(manager, vi, list);
                                        s.redoStyle(frame);
                                        break;
+                               case Whitespace:
+                                       WhiteSpaceHandler wsh = new 
WhiteSpaceHandler(manager, list);
+                                       wsh.redoDelete(frame);
+                                       break;
                                default:
                                        break;
                        }
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/stylers/WhiteSpaceHandler.java Mon Dec 22 18:32:06 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/stylers/WhiteSpaceHandler.java Mon Dec 22 19:03:56 2014 UTC
@@ -17,6 +17,7 @@
        TextView text;
        BrailleView braille;
        MapList list;
+       EventFrame eventFrame;

        public WhiteSpaceHandler(Manager manager, MapList list){
                this.manager = manager;
@@ -26,6 +27,7 @@
        }

        public void removeWhitespace(Message message){
+               eventFrame = new EventFrame();
                int brailleStart = 0;
                list.checkList();
                if(!list.empty()){
@@ -54,12 +56,18 @@
                else
                        braille.removeWhitespace(0,  
(Integer)message.getValue("length"));

- addUndoEvent((Integer)message.getValue("offset"), brailleStart, (String)message.getValue("replacedText")); + eventFrame.addEvent(new ViewEvent(EventTypes.Whitespace, (Integer)message.getValue("offset"), brailleStart, (String)message.getValue("replacedText")));
+               manager.addUndoEvent(eventFrame);
        }

        public void UndoDelete(EventFrame frame){
- while(!frame.empty() && frame.peek().getEventType().equals(EventTypes.Whitespace))
-                       insertWhitespace((ViewEvent)frame.pop());
+               eventFrame = new EventFrame();
+ while(!frame.empty() && frame.peek().getEventType().equals(EventTypes.Whitespace)){
+                       ViewEvent ev = (ViewEvent)frame.pop();
+                       insertWhitespace(ev);
+                       eventFrame.addEvent(ev);
+               }
+               manager.addRedoEvent(eventFrame);
        }

        private void insertWhitespace(ViewEvent ev){
@@ -80,9 +88,13 @@
                }
        }

-       private void addUndoEvent(int textStart, int brailleStart, String text){
-               EventFrame frame = new EventFrame();
- frame.addEvent( new ViewEvent(EventTypes.Whitespace, textStart, brailleStart, text));
-               manager.addUndoEvent(frame);
+       public void redoDelete(EventFrame frame){
+ while(!frame.empty() && frame.peek().getEventType().equals(EventTypes.Whitespace))
+                       removeWhitespace((ViewEvent)frame.pop());
+       }
+
+       private void removeWhitespace(ViewEvent ev){
+ text.setCurrentSelection(ev.getTextOffset(), ev.getTextOffset() + ev.getText().length());
+               text.cut();
        }
 }

Other related posts:

  • » [brailleblaster] push by brandon....@xxxxxxxxx - Added redo event for removing whitespace on 2014-12-22 19:01 GMT - brailleblaster