[brailleblaster] push by brandon....@xxxxxxxxx - Added class for handling text changes to whitespace between elements on 2014-12-10 20:20 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 10 Dec 2014 20:20:37 +0000

Revision: 26ea9bc780e4
Branch:   rt1835-UndoRemoveElement
Author:   Brandon Roller<brandon.r.roller@xxxxxxxxx>
Date:     Wed Dec 10 20:14:45 2014 UTC
Log: Added class for handling text changes to whitespace between elements
https://code.google.com/p/brailleblaster/source/detail?r=26ea9bc780e4

Added:
/src/main/org/brailleblaster/perspectives/braille/stylers/WhiteSpaceHandler.java
Modified:
 /src/main/org/brailleblaster/perspectives/braille/Manager.java
 /src/main/org/brailleblaster/perspectives/braille/messages/BBEvent.java
 /src/main/org/brailleblaster/perspectives/braille/messages/Message.java
 /src/main/org/brailleblaster/settings/SettingsManager.java

=======================================
--- /dev/null
+++ /src/main/org/brailleblaster/perspectives/braille/stylers/WhiteSpaceHandler.java Wed Dec 10 20:14:45 2014 UTC
@@ -0,0 +1,54 @@
+package org.brailleblaster.perspectives.braille.stylers;
+
+import org.brailleblaster.perspectives.braille.Manager;
+import org.brailleblaster.perspectives.braille.mapping.elements.TextMapElement;
+import org.brailleblaster.perspectives.braille.mapping.maps.MapList;
+import org.brailleblaster.perspectives.braille.messages.Message;
+import org.brailleblaster.perspectives.braille.views.wp.BrailleView;
+import org.brailleblaster.perspectives.braille.views.wp.TextView;
+
+public class WhiteSpaceHandler {
+
+       Manager manager;
+       TextView text;
+       BrailleView braille;
+       MapList list;
+
+       public WhiteSpaceHandler(Manager manager, MapList list){
+               this.manager = manager;
+               this.text = manager.getText();
+               this.braille = manager.getBraille();
+               this.list = list;
+       }
+
+       public void removeWhitespace(Message message){
+               int brailleStart = 0;
+               list.checkList();
+               if(list.size() > 0){
+                       int start = (Integer)message.getValue("offset");
+                       int index = list.findClosest(message, 0, list.size() - 
1);
+                       TextMapElement t = list.get(index);
+                       if(start < t.start){
+                               if(index > 0){
+                                       if(t.brailleList.size() > 0)
+ brailleStart = t.brailleList.getFirst().start + (Integer)message.getValue("length");
+                               }
+                               else{
+                                       brailleStart = 0;
+                               }
+                       }
+                       else if(t.brailleList.size() > 0)
+                               brailleStart = t.brailleList.getLast().end;
+
+ braille.removeWhitespace(brailleStart, (Integer)message.getValue("length"));
+
+                       if(start >= t.end && index != list.size() - 1 && 
list.size() > 1)
+ list.shiftOffsetsFromIndex(index + 1, (Integer)message.getValue("length"), (Integer)message.getValue("length")); + else if(index != list.size() -1 || (index == list.size() - 1 && start < t.start)) + list.shiftOffsetsFromIndex(index, (Integer)message.getValue("length"), (Integer)message.getValue("length"));
+               }
+               else
+                       braille.removeWhitespace(0,  
(Integer)message.getValue("length"));
+       }
+
+}
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/Manager.java Wed Dec 10 14:36:26 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/Manager.java Wed Dec 10 20:14:45 2014 UTC
@@ -78,6 +78,7 @@
 import org.brailleblaster.perspectives.braille.stylers.ElementSplitter;
 import org.brailleblaster.perspectives.braille.stylers.HideActionHandler;
 import org.brailleblaster.perspectives.braille.stylers.TextUpdateHandler;
+import org.brailleblaster.perspectives.braille.stylers.WhiteSpaceHandler;
 import org.brailleblaster.search.*;
 import org.brailleblaster.perspectives.braille.viewInitializer.ViewFactory;
import org.brailleblaster.perspectives.braille.viewInitializer.ViewInitializer;
@@ -431,7 +432,7 @@
                        case GET_CURRENT:
                                handleGetCurrent(message);
                                break;
-                       case TEXT_DELETION:
+                       case WHITESPACE_DELETION:
                                handleTextDeletion(message);
                                break;
                        case UPDATE:
@@ -623,33 +624,8 @@
        }

        private void handleTextDeletion(Message message){
-               int brailleStart = 0;
-               list.checkList();
-               if(list.size() > 0){
-                       int start = (Integer)message.getValue("offset");
-                       int index = list.findClosest(message, 0, list.size() - 
1);
-                       TextMapElement t = list.get(index);
-                       if(start < t.start){
-                               if(index > 0){
-                                       if(t.brailleList.size() > 0)
- brailleStart = t.brailleList.getFirst().start + (Integer)message.getValue("length");
-                               }
-                               else{
-                                       brailleStart = 0;
-                               }
-                       }
-                       else if(t.brailleList.size() > 0)
-                               brailleStart = t.brailleList.getLast().end;
-
- braille.removeWhitespace(brailleStart, (Integer)message.getValue("length"));
-
-                       if(start >= t.end && index != list.size() - 1 && 
list.size() > 1)
- list.shiftOffsetsFromIndex(index + 1, (Integer)message.getValue("length"), (Integer)message.getValue("length")); - else if(index != list.size() -1 || (index == list.size() - 1 && start < t.start)) - list.shiftOffsetsFromIndex(index, (Integer)message.getValue("length"), (Integer)message.getValue("length"));
-               }
-               else
-                       braille.removeWhitespace(0,  
(Integer)message.getValue("length"));
+               WhiteSpaceHandler wsp = new WhiteSpaceHandler(this, list);
+               wsp.removeWhitespace(message);
        }

        private void handleUpdate(Message message){
@@ -683,12 +659,10 @@
                text.update(false);

ArrayList<Integer>posList = list.findTextMapElementRange(list.getCurrentIndex(), (Element)list.getCurrent().n.getParent(), true);
-           if (arch.getCurrentConfig().equals("epub.cfg")){
+           if (arch.getCurrentConfig().equals("epub.cfg"))
text.insertNewNode(list.get(posList.get(posList.size() - 1)).end,"aside");
-           }
-           else{
+           else
text.insertNewNode(list.get(posList.get(posList.size() - 1)).end,"prodnote");
-           }

                Styles style = styles.get("trnote");
Message styleMessage = Message.createUpdateStyleMessage(style, false, false);
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/messages/BBEvent.java Mon Dec 1 16:01:25 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/messages/BBEvent.java Wed Dec 10 20:14:45 2014 UTC
@@ -33,7 +33,7 @@
 public enum BBEvent {
        INCREMENT,
        DECREMENT,
-       TEXT_DELETION,
+       WHITESPACE_DELETION,
        UPDATE,
        INSERT_NODE,
        REMOVE_NODE,
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/messages/Message.java Mon Dec 1 16:01:25 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/messages/Message.java Wed Dec 10 20:14:45 2014 UTC
@@ -157,7 +157,7 @@
        }

public static Message createTextDeletionMessage(int offset, int length, boolean update){
-               Message m = new Message(BBEvent.TEXT_DELETION);
+               Message m = new Message(BBEvent.WHITESPACE_DELETION);
                m.put("offset", offset);
                m.put("length", length);
                m.put("update", update);
=======================================
--- /src/main/org/brailleblaster/settings/SettingsManager.java Tue Nov 25 18:49:04 2014 UTC +++ /src/main/org/brailleblaster/settings/SettingsManager.java Wed Dec 10 20:14:45 2014 UTC
@@ -193,17 +193,17 @@
        private void saveSettings(){
                File f = new File(USER_SETTINGS);

-                       try {
-                               if(!f.exists())
-                                       f.createNewFile();
+               try {
+                       if(!f.exists())
+                               f.createNewFile();

-                               PropertyFileManager pfm = new 
PropertyFileManager(USER_SETTINGS);
-                               for(Entry<String, String>entry : 
outputMap.entrySet()){
-                                       pfm.save(entry.getKey(), 
entry.getValue());
-                               }
-                       } catch (IOException e) {
-                               e.printStackTrace();
+                       PropertyFileManager pfm = new 
PropertyFileManager(USER_SETTINGS);
+                       for(Entry<String, String>entry : outputMap.entrySet()){
+                               pfm.save(entry.getKey(), entry.getValue());
                        }
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
        }

        public HashMap<String, String> getMapClone(){

Other related posts:

  • » [brailleblaster] push by brandon....@xxxxxxxxx - Added class for handling text changes to whitespace between elements on 2014-12-10 20:20 GMT - brailleblaster