[brailleblaster] 4 new revisions pushed by brandon....@xxxxxxxxx on 2014-07-17 20:43 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Thu, 17 Jul 2014 20:43:41 +0000

4 new revisions:

Revision: cd0a8e6ee1c9
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Tue Jul 15 16:44:07 2014 UTC
Log:      Added a platform check for linux to getBrailleblasterPath method
http://code.google.com/p/brailleblaster/source/detail?r=cd0a8e6ee1c9

Revision: 6b3196c3854b
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Thu Jul 17 19:46:53 2014 UTC
Log:      Moved page map elements from paginator to maplist
http://code.google.com/p/brailleblaster/source/detail?r=6b3196c3854b

Revision: 7067d1e70d4c
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Thu Jul 17 20:03:48 2014 UTC
Log:      Merged branch
http://code.google.com/p/brailleblaster/source/detail?r=7067d1e70d4c

Revision: b74856ff6f16
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Thu Jul 17 20:42:51 2014 UTC
Log:      Fixed bug after merge
http://code.google.com/p/brailleblaster/source/detail?r=b74856ff6f16

==============================================================================
Revision: cd0a8e6ee1c9
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Tue Jul 15 16:44:07 2014 UTC
Log:      Added a platform check for linux to getBrailleblasterPath method
http://code.google.com/p/brailleblaster/source/detail?r=cd0a8e6ee1c9

Modified:
 /src/main/org/brailleblaster/BBIni.java

=======================================
--- /src/main/org/brailleblaster/BBIni.java     Tue Jul 15 13:30:29 2014 UTC
+++ /src/main/org/brailleblaster/BBIni.java     Tue Jul 15 16:44:07 2014 UTC
@@ -276,7 +276,7 @@
                String url = System.getenv("BBLASTER_WORK");

                if (url != null) {
-                       if (BBIni.getPlatformName().equals("cocoa"))
+ if (BBIni.getPlatformName().equals("cocoa") || BBIni.getPlatformName().equals("gtk"))
                                url = "file://" + url;
                        else
                                url = "file:/" + url;

==============================================================================
Revision: 6b3196c3854b
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Thu Jul 17 19:46:53 2014 UTC
Log:      Moved page map elements from paginator to maplist
http://code.google.com/p/brailleblaster/source/detail?r=6b3196c3854b

Deleted:
/src/main/org/brailleblaster/perspectives/braille/mapping/maps/Paginator.java
Modified:
 /src/main/org/brailleblaster/document/BBDocument.java
 /src/main/org/brailleblaster/perspectives/braille/Manager.java
/src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java /src/main/org/brailleblaster/perspectives/braille/mapping/elements/SectionElement.java
 /src/main/org/brailleblaster/perspectives/braille/mapping/maps/MapList.java
 /src/main/org/brailleblaster/perspectives/braille/ui/BrailleMenu.java
/src/main/org/brailleblaster/perspectives/braille/viewInitializer/NimasInitializer.java /src/main/org/brailleblaster/perspectives/braille/viewInitializer/ViewInitializer.java
 /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java
 /src/main/org/brailleblaster/perspectives/braille/views/tree/XMLTree.java
 /src/main/org/brailleblaster/perspectives/braille/views/wp/BrailleView.java
 /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java
/src/main/org/brailleblaster/perspectives/imageDescriber/ImageDescriberController.java
 /src/main/org/brailleblaster/perspectives/webView/WebViewController.java
/src/main/org/brailleblaster/perspectives/webView/WebViewMenu/WebViewMenu.java
 /src/main/org/brailleblaster/wordprocessor/BBMenu.java

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/maps/Paginator.java Thu Jul 3 16:07:57 2014 UTC
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.brailleblaster.perspectives.braille.mapping.maps;
-
-import java.util.LinkedList;
-
-import org.brailleblaster.perspectives.braille.mapping.elements.PageMapElement; -import org.brailleblaster.perspectives.braille.mapping.elements.TextMapElement;
-import org.brailleblaster.perspectives.braille.messages.Message;
-
-
-public class Paginator {
-       private LinkedList<PageMapElement>list;
-
-       public Paginator(){
-               list = new LinkedList<PageMapElement>();
-       }
-
-       public PageMapElement getPageMapElement(int index){
-               return list.get(index);
-       }
-
-       public PageMapElement getLast(){
-               return list.getLast();
-       }
-
-       public void add(PageMapElement p){
-               list.add(p);
-       }
-
-       public void add(int index, PageMapElement p){
-               list.add(index, p);
-       }
-
-       public boolean inPrintPageRange(int offset){
-               if(list.size() > 0 && searchList(offset, 0, list.size() - 1) != 
-1)
-                       return true;
-               else
-                       return false;
-       }
-
-       public boolean inBraillePageRange(int offset){
-               if(list.size() > 0 && searchBraille(offset, 0, list.size() - 1) 
!= -1)
-                       return true;
-               else
-                       return false;
-       }
-
-       public PageMapElement findPage(int offset){
-               int index= searchList(offset, 0, list.size());
-               if(index != -1)
-                       return list.get(index);
-               else
-                       return null;
-       }
-
-       public String findCurrentPrintPageValue(int offset){
-               if(list.size() == 0)
-                       return null;
-               else{
-                       int pos = findRange(offset, 0, list.size() - 1);
-                       String value = list.get(pos).n.getValue();
-                       return value.substring(value.lastIndexOf("-") + 1);
-               }
-       }
-
-       public String findCurrentBraillePageValue(int offset){
-               if(list.size() == 0)
-                       return null;
-               else{
-                       int pos = findBrailleRange(offset, 0, list.size() - 1);
-                       String value = list.get(pos).n.getValue();
-                       return value.substring(value.lastIndexOf("-") + 1);
-               }
-       }
-
-       private int findRange(int offset, int low, int high){
-               if(low > high)
-                       return -1;
-
-               int mid = low + (high - low) / 2;
-               PageMapElement current = list.get(mid);
-
-               if(mid == 0 && offset < current.start)
-                       return mid;
-               else if(offset < current.start && offset > list.get(mid - 
1).end)
-                       return mid;
-               else if(mid == list.size() - 1 && offset > current.end)
-                       return mid;
-               else if(offset > current.end)
-                       return findRange(offset, mid + 1, high);
-               else if(offset < current.start)
-                       return findRange(offset, low, mid - 1);
-
-               return -1;
-       }
-
-       private int findBrailleRange(int offset, int low, int high){
-               if(low > high)
-                       return -1;
-
-               int mid = low + (high - low) / 2;
-               PageMapElement current = list.get(mid);
-
-               if(mid == 0 && offset < current.brailleStart)
-                       return mid;
- else if(offset < current.brailleStart && offset > list.get(mid - 1).brailleEnd)
-                       return mid;
-               else if(mid == list.size() - 1 && offset > current.brailleEnd)
-                       return mid;
-               else if(offset > current.brailleEnd)
-                       return findBrailleRange(offset, mid + 1, high);
-               else if(offset < current.brailleStart)
-                       return findBrailleRange(offset, low, mid - 1);
-
-               return -1;
-       }
-
-       private int searchList(int offset, int low, int high){
-               if(low > high)
-                       return -1;
-
-               int mid = low + (high - low) / 2;
-               PageMapElement current = list.get(mid);
-               if(offset >= current.start && offset <= current.end)
-                       return mid;
-               else if(offset < current.start)
-                       return searchList(offset, low, mid - 1);
-               else
-                       return searchList(offset, mid + 1, high);
-       }
-
-       public PageMapElement findBraillePage(int offset){
-               int index= searchBraille(offset, 0, list.size());
-               if(index != -1)
-                       return list.get(index);
-               else
-                       return null;
-       }
-
-       private int searchBraille(int offset, int low, int high){
-               if(low > high)
-                       return -1;
-
-               int mid = low + (high - low) / 2;
-               PageMapElement current = list.get(mid);
-               if(offset >= current.brailleStart && offset <= 
current.brailleEnd)
-                       return mid;
-               else if(offset < current.brailleStart)
-                       return searchBraille(offset, low, mid - 1);
-               else
-                       return searchBraille(offset, mid + 1, high);
-       }
-
-       public void updateOffsets(TextMapElement t, Message message){
-               int textOffset = (Integer)message.getValue("length");
-               int brailleOffset;
-               if(message.contains("newBrailleLength"))
- brailleOffset = (Integer)message.getValue("newBrailleLength") - (Integer)message.getValue("brailleLength");
-               else
-                       brailleOffset =  (Integer)message.getValue("length");
-
-               for(int i = 0; i < list.size(); i++){
-                       if(list.get(i).start > t.end){
-                               list.get(i).start += textOffset;
-                               list.get(i).end += textOffset;
-
-                               list.get(i).brailleStart += brailleOffset;
-                               list.get(i).brailleEnd += brailleOffset;
-                       }
-               }
-       }
-
-       public void shiftOffsets(int offset, int textOffset, int brailleOffset){
-               for(int i = 0; i < list.size(); i++){
-                       if(list.get(i).start > offset){
-                               list.get(i).start += textOffset;
-                               list.get(i).end += textOffset;
-
-                               list.get(i).brailleStart += brailleOffset;
-                               list.get(i).brailleEnd += brailleOffset;
-                       }
-               }
-       }
-
-       public int getPrintPageStart(int offset){
-               PageMapElement p = findPage(offset);
-
-               if(p != null)
-                       return p.start;
-               else
-                       return -1;
-       }
-
-       public int getPrintPageEnd(int offset){
-               PageMapElement p = findPage(offset);
-
-               if(p != null)
-                       return p.end;
-               else
-                       return -1;
-       }
-
-       public int getBraillePageStart(int offset){
-               PageMapElement p = findBraillePage(offset);
-
-               if(p != null)
-                       return p.brailleStart;
-               else
-                       return -1;
-       }
-
-       public int getBraillePageEnd(int offset){
-               PageMapElement p = findBraillePage(offset);
-
-               if(p != null)
-                       return p.brailleEnd;
-               else
-                       return -1;
-       }
-
-       public void clear(){
-               list.clear();
-       }
-
-       public int getSize(){
-               return list.size();
-       }
-
-       public void removePage(PageMapElement p){
-               list.remove(p);
-       }
-}
=======================================
--- /src/main/org/brailleblaster/document/BBDocument.java Thu Jul 3 16:07:57 2014 UTC +++ /src/main/org/brailleblaster/document/BBDocument.java Thu Jul 17 19:46:53 2014 UTC
@@ -96,8 +96,6 @@
                mistranslationList = new ArrayList<String>();
                semHandler = new SemanticFileHandler(dm.getCurrentConfig());
                sm = new SettingsManager(dm.getCurrentConfig());
- org.liblouis.LibLouis.getInstance().setLogLevel(org.liblouis.LogLevel.OFF); - org.liblouis.LibLouisUTDML.getInstance().setLogLevel(org.liblouis.LogLevel.OFF);
        }

        public BBDocument(Controller dm, Document doc){
@@ -108,8 +106,6 @@
                mistranslationList = new ArrayList<String>();
                semHandler = new SemanticFileHandler(dm.getCurrentConfig());
                sm = new SettingsManager(dm.getCurrentConfig());
- org.liblouis.LibLouis.getInstance().setLogLevel(org.liblouis.LogLevel.OFF); - org.liblouis.LibLouisUTDML.getInstance().setLogLevel(org.liblouis.LogLevel.OFF);
        }

        public boolean createNewDocument(){
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/Manager.java Mon Jul 14 19:18:30 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/Manager.java Thu Jul 17 19:46:53 2014 UTC
@@ -54,7 +54,6 @@
import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.Styles; import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.StylesType;
 import org.brailleblaster.perspectives.braille.document.BrailleDocument;
-import org.brailleblaster.perspectives.braille.mapping.elements.PageMapElement;
 import org.brailleblaster.perspectives.braille.mapping.elements.Range;
import org.brailleblaster.perspectives.braille.mapping.elements.SectionElement; import org.brailleblaster.perspectives.braille.mapping.elements.TextMapElement;
@@ -483,6 +482,7 @@
                list.checkList();

                if(message.getValue("isBraille").equals(true)){
+                       message.put("selection", 
treeView.getSelection(list.getCurrent()));
                        index = list.findClosestBraille(message);
                        list.setCurrent(index);
                        list.getCurrentNodeData(message);
@@ -1192,6 +1192,7 @@
        public TextMapElement getElementInRange(int offset){
                Message m = new Message(null);
                m.put("offset", offset);
+               m.put("selection", treeView.getSelection(list.getCurrent()));

                int index = list.findClosest(m, 0, list.size() - 1);
                TextMapElement t = null;
@@ -1203,6 +1204,22 @@
                else
                        return null;
        }
+
+       public TextMapElement getElementInBrailleRange(int offset){
+               Message m = new Message(null);
+               m.put("offset", offset);
+               m.put("selection", treeView.getSelection(list.getCurrent()));
+
+               int index = list.findClosestBraille(m);
+               TextMapElement t = null;
+               if(index != -1)
+                       t = list.get(index);
+
+ if(t != null && offset >= t.brailleList.getFirst().start && offset <= t.brailleList.getLast().end)
+                       return t;
+               else
+                       return null;
+       }

        public TextMapElement getClosest(int offset){
                Message m = new Message(null);
@@ -1221,6 +1238,10 @@
                else
                        return list.indexOf(t);
        }
+
+       public int getSectionSize(int index){
+               return vi.getSectionList().get(index).getList().size();
+       }

        public int getSection(TextMapElement t){
                for(int i = 0; i < vi.getSectionList().size(); i++){
@@ -1340,44 +1361,19 @@
        public String getCurrentPrintPage(){
                if(list.getPageCount() > 0){
                        StyledText stView;
-                       if(text.view.isFocusControl())
+                       if(text.view.isFocusControl()){
                                stView = text.view;
-                       else
+                               return 
list.findCurrentPrintPageValue(stView.getCaretOffset());
+                       }
+                       else {
                                stView = braille.view;
-
-                       if(stView.getCaretOffset() >list.getLastPage().start)
-                               return String.valueOf(list.getPageCount());
-                       else{
-                               if(stView.equals(text.view))
-                                       return 
list.findCurrentPrintPageValue(stView.getCaretOffset());
-                               else
-                                       return 
list.findCurrentBraillePageValue(stView.getCaretOffset());
+                               return 
list.findCurrentBraillePageValue(stView.getCaretOffset());
                        }
                }
                else
                        return null;
        }
-
-       public int getPrintPageStart(int offset){
-               return list.getPrintPageStart(offset);
-       }
-
-       public int getPrintPageEnd(int offset){
-               return list.getPrintPageEnd(offset);
-       }
-
-       public int getBraillePageStart(int offset){
-               return list.getBraillePageStart(offset);
-       }
-
-       public int getBraillePageEnd(int offset){
-               return list.getBraillePageEnd(offset);
-       }
-
-       public PageMapElement getPageElement(int offset){
-               return list.findPage(offset);
-       }
-
+
        public FontManager getFontManager(){
                return fontManager;
        }
@@ -1463,7 +1459,7 @@
        public boolean canReuseTab() {
                if(text.hasChanged || braille.hasChanged || documentName != 
null)
                        return false;
-               else
+               else
                        return true;
        }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java Thu Jul 3 16:07:57 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java Thu Jul 17 19:46:53 2014 UTC
@@ -1,35 +1,44 @@
 package org.brailleblaster.perspectives.braille.mapping.elements;

+import java.util.LinkedList;
+
+import nu.xom.Element;
 import nu.xom.Node;


-public class PageMapElement extends AbstractMapElement {
+public class PageMapElement extends TextMapElement {

-       public int brailleStart, brailleEnd, index, listIndex;
+       public int brailleStart, brailleEnd;
        public Node brailleNode;
+       private Element parent;

-       public PageMapElement(int start, int end, Node n) {
+       public PageMapElement(int start, int end, Node n, Element parent) {
                super(start, end, n);
+               this.parent = parent;
+               this.brailleList = new LinkedList<BrailleMapElement>();
        }

-       public PageMapElement(Node n, int index){
+       public PageMapElement(Element parent, Node n){
                super(n);
-               this.index = index;
-               this.listIndex = index;
+               this.parent = parent;
+               this.brailleList = new LinkedList<BrailleMapElement>();
        }

        public void setBraillePage(Node n){
-               brailleNode = n;
+               brailleList.add(new BrailleMapElement(n));
        }

        public void setBraillePage(int brailleStart, int brailleEnd, Node n){
-               this.brailleStart = brailleStart;
-               this.brailleEnd = brailleEnd;
-               brailleNode = n;
+               brailleList.add(new BrailleMapElement(brailleStart, brailleEnd, 
n));
        }

        public void setBrailleOffsets(int start, int end){
-               brailleStart = start;
-               brailleEnd = end;
+               brailleList.getFirst().start = start;
+               brailleList.getFirst().end = end;
+       }
+
+       @Override
+       public Element parentElement(){
+               return parent;
        }
 }
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/elements/SectionElement.java Mon Jul 14 19:18:30 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/elements/SectionElement.java Thu Jul 17 19:46:53 2014 UTC
@@ -101,11 +101,10 @@
        protected void initializePrintPage(Manager m, Element page){
                Node textNode = m.getDocument().findPrintPageNode(page);
                if(textNode != null){
-                       list.addPrintPage(new PageMapElement(textNode, 
list.size()));
-
+                       PageMapElement  p = new PageMapElement(page, textNode);
                        Node brailleText = 
m.getDocument().findBraillePageNode(page);
-                       list.getLastPage().setBraillePage(brailleText);
-
+                       p.setBraillePage(brailleText);
+                       list.add(p);
                }
        }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/maps/MapList.java Thu Jul 3 16:07:57 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/maps/MapList.java Thu Jul 17 19:46:53 2014 UTC
@@ -83,11 +83,11 @@
        private TextMapElement current;
        private int currentIndex = -1;
        private int prevEnd, nextStart, prevBraille, nextBraille;
-       private Paginator paginator;
+       private int pageCount;

        public MapList(Manager dm){
                this.dm = dm;
-               paginator = new Paginator();
+               pageCount = 0;
        }

        public int findClosest(Message message, int low, int high){
@@ -181,7 +181,7 @@
                        return this.indexOf(this.getLast());
                }

-               for(int i = 0; i < this.size(); i++){
+               for(int i = 0; i < this.size(); i++){
if(this.get(i).brailleList.size() > 0 && location >= this.get(i).brailleList.getFirst().start && location <= this.get(i).brailleList.getLast().end){
                                return i;
                        }
@@ -206,7 +206,6 @@
        }

        public void updateOffsets(int index, Message message){
-               paginator.updateOffsets(get(index), message);
                int offset = (Integer)message.getValue("length");
int total = (Integer)message.getValue("newBrailleLength") - (Integer)message.getValue("brailleLength");

@@ -237,7 +236,6 @@


public void shiftOffsetsFromIndex(int index, int offset, int brailleOffset, int origPos){
-               paginator.shiftOffsets(origPos, offset, brailleOffset);
                UpdaterThread [] arr = new UpdaterThread[PROCESSORS];
                int length = (this.size() - index) / PROCESSORS;
                int start = index;
@@ -559,7 +557,6 @@

        public void clearList(){
                this.clear();
-               paginator.clear();
                this.current = null;
                currentIndex = -1;
        }
@@ -572,77 +569,94 @@
                                get(i).brailleList.get(j).setOffsets(0, 0);
                        }
                }
-
-               int pageCount = paginator.getSize();
-               for(int i = 0; i < pageCount; i++){
-                       paginator.getPageMapElement(i).setOffsets(0, 0);
-                       paginator.getPageMapElement(i).setBrailleOffsets(0, 0);
- paginator.getPageMapElement(i).listIndex = paginator.getPageMapElement(i).index;
-               }
        }

-       public void removePage(PageMapElement p){
-               paginator.removePage(p);
-       }
-
-       public PageMapElement getPage(int index){
-               return paginator.getPageMapElement(index);
-       }
-
-       public int getPrintPageStart(int offset){
-               return paginator.getPrintPageStart(offset);
-       }
-
-       public int getPrintPageEnd(int offset){
-               return paginator.getPrintPageEnd(offset);
-       }
-
-       public int getBraillePageStart(int offset){
-               return paginator.getBraillePageStart(offset);
+       public boolean inPrintPageRange(int offset){
+               if(size() > 0){
+                       Message m = new Message(null);
+                       m.put("offset", offset);
+                       int index = findClosest(m, 0, size() -1);
+                       if(get(index) instanceof PageMapElement){
+                               if(offset >= get(index).start && offset <= 
get(index).end)
+                                       return true;
+                       }
+               }
+
+               return false;
        }

-       public int getBraillePageEnd(int offset){
-               return paginator.getBraillePageEnd(offset);
-       }
-
-       public void addPrintPage(PageMapElement p){
-               paginator.add(p);
-       }
-
-       public void addPrintPage(int index, PageMapElement p){
-               paginator.add(index, p);
+       public boolean inBraillePageRange(int offset){
+               if(size() > 0){
+                       Message m = new Message(null);
+                       m.put("offset", offset);
+                       int index = findClosestBraille(m);
+                       if(get(index) instanceof PageMapElement){
+ if(offset >= get(index).brailleList.getFirst().start && offset <= get(index).brailleList.getLast().end)
+                                       return true;
+                       }
+               }
+
+               return false;
        }
-
-       public PageMapElement getLastPage(){
-               return paginator.getLast();
+
+       public String findCurrentPrintPageValue(int offset){
+               Message m = new Message(null);
+               m.put("offset", offset);
+               int index = findClosest(m, 0, size() - 1);
+
+               String value = "";
+               for(int i = index; i < size(); i++){
+                       if(get(i) instanceof PageMapElement){
+                               value = get(i).getText();
+                               return value.substring(value.lastIndexOf("-") + 
1);
+                       }
+               }
+
+               return value.substring(value.lastIndexOf("-") + 1);
        }

-       public boolean inPrintPageRange(int offset){
-               return paginator.inPrintPageRange(offset);
+       public String findCurrentBraillePageValue(int offset){
+               Message m = new Message(null);
+               m.put("offset", offset);
+               int index = findClosestBraille(m);
+
+               String value = "";
+               for(int i = index; i < size(); i++){
+                       if(get(i) instanceof PageMapElement){
+                               value = get(i).getText();
+                               return value.substring(value.lastIndexOf("-") + 
1);
+                       }
+               }
+
+               return value.substring(value.lastIndexOf("-") + 1);
        }

-       public boolean inBraillePageRange(int offset){
-               return paginator.inBraillePageRange(offset);
+       public int getPageCount(){
+               return pageCount;
        }

-       public PageMapElement findPage(int offset){
-               return paginator.findPage(offset);
+       @Override
+       public boolean add(TextMapElement t){
+               if(t instanceof PageMapElement)
+                       pageCount++;
+
+               return super.add(t);
        }

-       public PageMapElement findBraillePage(int offset){
-               return paginator.findBraillePage(offset);
-       }

-       public String findCurrentPrintPageValue(int offset){
-               return paginator.findCurrentPrintPageValue(offset);
+       public boolean addAll(MapList list){
+               pageCount += list.getPageCount();
+               return super.addAll(list);
        }

-       public String findCurrentBraillePageValue(int offset){
-               return paginator.findCurrentBraillePageValue(offset);
+       public boolean addAll(int index, MapList list){
+               pageCount += list.getPageCount();
+               return super.addAll(index, list);
        }

-       public int getPageCount(){
-               return paginator.getSize();
+       public boolean removeAll(MapList list){
+               pageCount -= list.getPageCount();
+               return super.removeAll(list);
        }

        public boolean contains(Node n){
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/ui/BrailleMenu.java Fri Jul 11 17:01:11 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/ui/BrailleMenu.java Thu Jul 17 19:46:53 2014 UTC
@@ -1,12 +1,10 @@
 package org.brailleblaster.perspectives.braille.ui;

-import org.brailleblaster.BBIni;
 import org.brailleblaster.perspectives.Controller;
 import org.brailleblaster.perspectives.braille.Manager;
 import org.brailleblaster.perspectives.braille.views.tree.BookTree;
 import org.brailleblaster.perspectives.braille.views.tree.XMLTree;
 import org.brailleblaster.settings.SettingsDialog;
-import org.brailleblaster.util.YesNoChoice;
 import org.brailleblaster.wordprocessor.BBMenu;
 import org.brailleblaster.wordprocessor.WPManager;
 import org.eclipse.swt.SWT;
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/viewInitializer/NimasInitializer.java Thu Jul 3 16:07:57 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/viewInitializer/NimasInitializer.java Thu Jul 17 19:46:53 2014 UTC
@@ -58,10 +58,6 @@
                        if(sectionList.get(i).isVisible()){
                                viewList.addAll(sectionList.get(i).getList());
                                
viewList.setCurrent(viewList.indexOf(viewList.getCurrent()));
-                               int pageCount = 
sectionList.get(i).getList().getPageCount();
-                               for(int j = 0; j < pageCount; j++){
-                                       
viewList.addPrintPage(sectionList.get(i).getList().getPage(j));
-                               }
                        }
                }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/viewInitializer/ViewInitializer.java Thu Jul 10 17:59:36 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/viewInitializer/ViewInitializer.java Thu Jul 17 19:46:53 2014 UTC
@@ -9,6 +9,7 @@
import org.brailleblaster.perspectives.braille.mapping.elements.BrlOnlyMapElement; import org.brailleblaster.perspectives.braille.mapping.elements.SectionElement; import org.brailleblaster.perspectives.braille.mapping.elements.TextMapElement; +import org.brailleblaster.perspectives.braille.mapping.elements.PageMapElement;
 import org.brailleblaster.perspectives.braille.mapping.maps.MapList;
 import org.brailleblaster.perspectives.braille.views.tree.BBTree;
 import org.brailleblaster.perspectives.braille.views.wp.BrailleView;
@@ -33,27 +34,21 @@

        protected void appendToViews(MapList list, int index){
                int count = list.size();
-               int pageIndex = 0;
-               int pageCount = list.getPageCount();

                for(int i = index; i < count; i++){
-                       if(pageIndex < pageCount){
-
-                               if(list.getPage(pageIndex).listIndex == i){
-                                       
text.addPageNumber(list.getPage(pageIndex), false);
-                                       
braille.addPageNumber(list.getPage(pageIndex), false);
-                                       pageIndex++;
-                               }
-                       }
                        if(list.get(i).isMathML()){
                                text.setMathML(list, list.get(i));
                                braille.setBraille(list.get(i), list, i);
                        }
-                       else if(list.get(i) instanceof BrlOnlyMapElement ){
+                       else if(list.get(i) instanceof BrlOnlyMapElement ){
                                text.setBRLOnlyText((BrlOnlyMapElement) 
list.get(i),false);
                                braille.setBRLOnlyBraille((BrlOnlyMapElement) 
list.get(i),false);

                        }
+                       else if(list.get(i) instanceof PageMapElement){
+                               text.addPageNumber((PageMapElement)list.get(i), 
false);
+                               
braille.addPageNumber((PageMapElement)list.get(i), false);
+                       }
                        else {
                                text.setText(list.get(i), list, i);
                                braille.setBraille(list.get(i), list, i);
@@ -64,21 +59,11 @@

        protected void prependToViews(MapList list, int index){
                int count = list.size();
-               int pageIndex = 0;
-               int pageCount = list.getPageCount();

                text.view.setCaretOffset(0);
                braille.view.setCaretOffset(0);

                for(int i = index; i < count; i++){
-                       if(pageIndex < pageCount){
-                               if(list.getPage(pageIndex).listIndex == i){
-                                       
text.addPageNumber(list.getPage(pageIndex), true);
-                                       
braille.addPageNumber(list.getPage(pageIndex), true);
-                                       pageIndex++;
-                               }
-                       }
-
                        if(list.get(i).isMathML()){
                                text.prependMathML(list, list.get(i));
                                braille.prependBraille(list.get(i), list, i);
@@ -88,6 +73,14 @@
                                braille.setBRLOnlyBraille((BrlOnlyMapElement) 
list.get(i),true);

                        }
+                       else if(list.get(i) instanceof BrlOnlyMapElement ){
+                               text.setBRLOnlyText((BrlOnlyMapElement) 
list.get(i), true);
+                               braille.setBRLOnlyBraille((BrlOnlyMapElement) 
list.get(i), true);
+                       }
+                       else if(list.get(i) instanceof PageMapElement){
+                               text.addPageNumber((PageMapElement)list.get(i), 
true);
+                               
braille.addPageNumber((PageMapElement)list.get(i), true);
+                       }
                        else {
                                text.prependText(list.get(i), list, i);
                                braille.prependBraille(list.get(i), list, i);
@@ -111,14 +104,11 @@
                                
viewList.removeAll(sectionList.get(endPos).getList());
                                //remove text from views

- replaceTextRange(findEnd(sectionList.get(startPos).getList()), text.view.getCharCount() - findEnd(sectionList.get(startPos).getList()), findBrailleEnd(sectionList.get(startPos).getList()), braille.view.getCharCount() - findBrailleEnd(sectionList.get(startPos).getList()));
-                               removePages(sectionList.get(endPos).getList());
+ replaceTextRange(sectionList.get(startPos).getList().getLast().end, text.view.getCharCount() - sectionList.get(startPos).getList().getLast().end, sectionList.get(startPos).getList().getLast().brailleList.getLast().end, braille.view.getCharCount() - sectionList.get(startPos).getList().getLast().brailleList.getLast().end);
                                sectionList.get(endPos).resetList();

                                //reset page indexes for elements not removed
                                int size = sectionList.get(startPos - 
1).getList().size();
-                               for(int j = 0; j < viewList.getPageCount(); j++)
-                                       viewList.getPage(j).listIndex += size;

                                int index = startPos - 1;
                                do{
@@ -128,11 +118,6 @@

                                        //add elements to viewList
                                        viewList.addAll(0, 
sectionList.get(index).getList());
-
-                                       //add Pages
-                                       int pageCount = 
sectionList.get(index).getList().getPageCount();
-                                       for(int j = 0; j < pageCount; j++)
- viewList.addPrintPage(j, sectionList.get(index).getList().getPage(j));

                                        //set in view and initialize
                                        sectionList.get(index).setInView(true);
@@ -149,12 +134,6 @@
                                                }
                                        }

-                                       for(int i = pageCount; i < 
viewList.getPageCount(); i++){
-                                               viewList.getPage(i).start += 
textTotal;
-                                               viewList.getPage(i).end += 
textTotal;
-                                               
viewList.getPage(i).brailleStart += brailleTotal;
-                                               viewList.getPage(i).brailleEnd 
+= brailleTotal;
-                                       }
                                        index --;
                                }       while(index >= 0 && 
text.view.getCharCount() < CHAR_COUNT);
                                setCursorOffset(t, caretOffset);
@@ -174,7 +153,6 @@
                        if(startPos != endPos && endPos != sectionList.size() - 
1){
                                TextMapElement t = viewList.getCurrent();
                                
viewList.removeAll(sectionList.get(startPos).getList());
-                               
removePages(sectionList.get(startPos).getList());
                                int textOffset = 
sectionList.get(startPos).getList().getLast().end;
int brailleOffset = sectionList.get(startPos).getList().getLast().brailleList.getLast().end;
                                replaceTextRange(0, textOffset, 0, 
brailleOffset);
@@ -189,14 +167,6 @@
                                                
viewList.get(i).brailleList.get(j).end -= brailleOffset;
                                        }
                                }
-
-                               int pageCount = viewList.getPageCount();
-                               for(int j = 0; j < pageCount; j++){
-                                       viewList.getPage(j).start -= textOffset;
-                                       viewList.getPage(j).end -= textOffset;
-                                       viewList.getPage(j).brailleStart -= 
brailleOffset;
-                                       viewList.getPage(j).brailleEnd -= 
brailleOffset;
-                               }

                                int pos = endPos + 1;
                                do {
@@ -204,14 +174,8 @@
                                        text.setTotal(text.view.getCharCount());
                                        
braille.setTotal(braille.view.getCharCount());
                                        
viewList.addAll(sectionList.get(pos).getList());
-                                       pageCount = 
sectionList.get(pos).getList().getPageCount();
-                                       int offset = viewList.size();
                                        sectionList.get(pos).setInView(true);
                                        
appendToViews(sectionList.get(pos).getList(), 0);
-                                       for(int j = 0; j < pageCount; j++){
- sectionList.get(pos).getList().getPage(j).listIndex = offset + sectionList.get(pos).getList().getPage(j).index;
-                                               
viewList.addPrintPage(sectionList.get(pos).getList().getPage(j));
-                                       }
                                        pos++;
}while(pos < sectionList.size() && text.view.getCharCount() < CHAR_COUNT);
                                setCursorOffset(t, caretOffset);
@@ -236,7 +200,6 @@
                        for(int i = startPos; i <= endPos; i++){
                                
viewList.removeAll(sectionList.get(i).getList());
                                sectionList.get(i).resetList();
-                               removePages(sectionList.get(i).getList());
                        }

replaceTextRange(0, text.view.getCharCount(), 0, braille.view.getCharCount());
@@ -247,19 +210,8 @@

                        int totalChars = 0;
while(i < sectionList.size() && (i < firstIndex + 2 || totalChars < CHAR_COUNT)){
-                               int offset = viewList.size();
                                viewList.addAll(sectionList.get(i).getList());
                                totalChars += sectionList.get(i).getCharCount();
-                               int pageCount = 
sectionList.get(i).getList().getPageCount();
-
-                               for(int j = 0; j < pageCount; j++){
-                                       if(i != firstIndex)
- sectionList.get(i).getList().getPage(j).listIndex = offset + sectionList.get(i).getList().getPage(j).index;
-                                       else
- sectionList.get(i).getList().getPage(j).listIndex = sectionList.get(i).getList().getPage(j).index;
-
-                                       
viewList.addPrintPage(sectionList.get(i).getList().getPage(j));
-                               }
                                sectionList.get(i).setInView(true);
                                i++;
                        }
@@ -326,45 +278,7 @@

                return position;
        }
-
-       private void removePages(MapList list){
-               int count = list.getPageCount();
-
-               for(int i = 0; i < count; i++){
-                       viewList.removePage(list.getPage(i));
-                       list.getPage(i).listIndex = list.getPage(i).index;
-               }
-       }
-       /*
-       private int findStart(MapList list){
- if(list.getPageCount() == 0 || list.getPage(0).start > list.getFirst().start)
-                       return list.getFirst().start;
-               else
-                       return list.getPage(0).start;
-       }
-
-       private int findBrailleStart(MapList list){
- if(list.getPageCount() == 0 || list.getPage(0).brailleStart > list.getFirst().brailleList.getFirst().start)
-                       return  list.getFirst().brailleList.getFirst().start;
-               else
-                       return list.getPage(0).brailleStart;
-       }
-       */
-
-       private int findEnd(MapList list){
- if(list.getPageCount() == 0 || list.getLastPage().end < list.getLast().end)
-                       return list.getLast().end;
-               else
-                       return list.getLastPage().end;
-       }
-
-       private int findBrailleEnd(MapList list){
- if(list.getPageCount() == 0 || list.getLastPage().brailleEnd < list.getLast().brailleList.getLast().end)
-                       return list.getLast().brailleList.getLast().end;
-               else
-                       return list.getLastPage().brailleEnd;
-       }
-
+
        public ArrayList<SectionElement> getSectionList() {
                return sectionList;
        }
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java Thu Jul 3 16:07:57 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java Thu Jul 17 19:46:53 2014 UTC
@@ -178,7 +178,10 @@
                if(range != null && range.start != -1){
                        item.setData(new TreeItemData(e, range.section, 
range.start));
                        if(previousItem != null){
-                               ((TreeItemData)previousItem.getData()).endRange 
= range.start - 1;
+                               if(getItemData(previousItem).startRange > 
range.start)
+ ((TreeItemData)previousItem.getData()).endRange = manager.getSectionSize(getItemData(previousItem).sectionIndex) - 1;
+                               else
+                                       
((TreeItemData)previousItem.getData()).endRange = range.start - 1;
                        }

                        item.setText(formatItemText(getItemData(item),e));
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/XMLTree.java Thu Jul 10 18:48:12 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/XMLTree.java Thu Jul 17 19:46:53 2014 UTC
@@ -9,6 +9,7 @@

 import org.brailleblaster.perspectives.braille.Manager;
import org.brailleblaster.perspectives.braille.mapping.elements.BrlOnlyMapElement; +import org.brailleblaster.perspectives.braille.mapping.elements.PageMapElement; import org.brailleblaster.perspectives.braille.mapping.elements.TextMapElement;
 import org.brailleblaster.perspectives.braille.messages.Message;
 import org.brailleblaster.perspectives.braille.messages.Sender;
@@ -237,7 +238,7 @@
                Elements els = e.getChildElements();

                for(int i = 0; i < els.size(); i++){
- if(!els.get(i).getLocalName().equals("pagenum") && !els.get(i).getLocalName().equals("brl") && manager.getDocument().checkAttribute(els.get(i), "semantics") && !els.get(i).getAttributeValue("semantics").contains("skip")){ + if(!els.get(i).getLocalName().equals("brl") && manager.getDocument().checkAttribute(els.get(i), "semantics") && !els.get(i).getAttributeValue("semantics").contains("skip")){
                                TreeItem temp = new TreeItem(item, 0);
                                temp.setText(els.get(i).getLocalName());
                                TreeItemData data = new 
TreeItemData(els.get(i));
@@ -397,6 +398,11 @@
                        found = true;
                }

+               if(t instanceof PageMapElement || t instanceof 
BrlOnlyMapElement){
+                       searchTreeForElement(item, t.parentElement(), m);
+                       if(m.contains("item"))
+                               found = true;
+               }
                else if(t.n instanceof Element) {
                        searchTreeForElement(item, (Element)t.n, m);
                        if(m.contains("item"))
@@ -426,7 +432,7 @@

                for(int i = 0; i < item.getItemCount() && !found; i++){
                        Element itemElement = 
getTreeItemData(item.getItem(i)).element;
-
+
                        if(itemElement.equals(e)){
                                m.put("item", item.getItem(i));
                                m.put("itemElement",itemElement);
@@ -524,7 +530,7 @@
                        }
                }
                else {
-                       Element parent = (Element)t.n.getParent();
+                       Element parent = t.parentElement();
                        buildTreeFromElement(parent);
                        searchTree(this.getRoot(), t, message);
                        
this.tree.setSelection(((TreeItem)message.getValue("item")));
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/wp/BrailleView.java Mon Jul 14 19:18:30 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/BrailleView.java Thu Jul 17 19:46:53 2014 UTC
@@ -84,6 +84,7 @@
        private CaretListener caretListener;
        private SelectionAdapter selectionListener;
        private TraverseListener traverseListener;
+       private TextMapElement currentElement;

public BrailleView(Manager manager, Group documentWindow, BBSemanticsTable table) { super(manager, documentWindow, LEFT_MARGIN, RIGHT_MARGIN, TOP_MARGIN, BOTTOM_MARGIN, table);
@@ -109,11 +110,8 @@
                                currentChar = e.keyCode;

//Handles single case where page is on last line and text is selected to last line and arrow down is pressed which does not move cursor - if(manager.inBraillePageRange(view.getCaretOffset()) && e.keyCode == SWT.ARROW_DOWN && view.getLineAtOffset(view.getCaretOffset()) == view.getLineCount() - 1){
-                                       setListenerLock(true);
-                                       nextPageStart(view.getCaretOffset());
-                                       setListenerLock(false);
-                               }
+ if(manager.inBraillePageRange(view.getCaretOffset()) && e.keyCode == SWT.ARROW_DOWN && view.getLineAtOffset(view.getCaretOffset()) == view.getLineCount() - 1)
+                                       view.setCaretOffset(nextStart);

                                oldCursorPosition = view.getCaretOffset();
                        }
@@ -142,14 +140,19 @@
                view.addMouseListener(mouseListener = new MouseAdapter(){
                        @Override
                        public void mouseDown(MouseEvent e) {
- if(view.getCaretOffset() > currentEnd || view.getCaretOffset() < currentStart){
-                                       
if(manager.inBraillePageRange(view.getCaretOffset())){
-                                               if(view.getCaretOffset() < 
currentStart)
-                                                       
previousPageEnd(view.getCaretOffset());
-                                               else if(view.getCaretOffset() > 
currentEnd)
-                                                       
nextPageStart(view.getCaretOffset());
+                               if(!getLock()){
+                                       int start = currentStart;
+                                       int end = currentEnd;
+
+ if(view.getCaretOffset() > currentEnd || view.getCaretOffset() < currentStart){
+                                               setCurrent();
+                                               if(currentElement instanceof 
PageMapElement){
+ if((previousEnd != -1 && view.getCaretOffset() < start) || nextStart == -1)
+                                                               
previousValidPosition();
+ else if((nextStart != -1 && view.getCaretOffset() > end) || previousEnd == -1)
+                                                               
nextValidPosition();
+                                               }
                                        }
-                                       setCurrent();
                                }
                        }
                });
@@ -158,31 +161,21 @@
                        @Override
                        public void caretMoved(CaretEvent e) {
                                if(!getLock()){
-                                       if(e.caretOffset >= currentEnd || 
e.caretOffset < currentStart){
-                                               setListenerLock(true);
- if((e.caretOffset > currentEnd && (e.caretOffset < nextStart || nextStart == -1)) || (e.caretOffset > currentStart && e.caretOffset > nextStart)){
-                                                       
if(manager.inBraillePageRange(e.caretOffset)){
-                                                               if(currentChar 
== SWT.ARROW_DOWN || currentChar == SWT.ARROW_RIGHT)
-                                                                       
nextPageStart(e.caretOffset);
- else if(currentChar == SWT.ARROW_LEFT || currentChar == SWT.ARROW_UP)
-                                                                       
previousPageEnd(e.caretOffset);
-                                                       }
-                                               }
- else if((e.caretOffset < currentStart && (e.caretOffset > previousEnd || previousEnd == -1)) || (e.caretOffset < currentStart && e.caretOffset < previousEnd)){
-                                                       
if(manager.inBraillePageRange(e.caretOffset)){
-                                                               if(currentChar 
== SWT.ARROW_LEFT || currentChar == SWT.ARROW_UP)
-                                                                       
previousPageEnd(e.caretOffset);
- else if(currentChar == SWT.ARROW_DOWN || currentChar == SWT.ARROW_RIGHT)
-                                                                       
nextPageStart(e.caretOffset);
+ if(currentChar == SWT.ARROW_DOWN || currentChar == SWT.ARROW_LEFT || currentChar == SWT.ARROW_RIGHT || currentChar == SWT.ARROW_UP || currentChar == SWT.PAGE_DOWN || currentChar == SWT.PAGE_UP){
+                                               if(e.caretOffset >= currentEnd || 
e.caretOffset < currentStart){
+                                                       setCurrent();
+                                                       if(currentElement 
instanceof PageMapElement){
+ if(nextStart != -1 && currentChar == SWT.ARROW_DOWN || currentChar == SWT.ARROW_RIGHT)
+                                                                       
nextValidPosition();
+ else if(previousEnd != -1 && currentChar == SWT.ARROW_LEFT || currentChar == SWT.ARROW_UP)
+                                                                       
previousValidPosition();
                                                        }
-                                               }
-                                               setListenerLock(false);

-                                               setCurrent();
-                                               currentChar = ' ';
-                                       }
- if(view.getLineAtOffset(view.getCaretOffset()) != currentLine && !manager.inBraillePageRange(view.getCaretOffset())){
-                                               
sendStatusBarUpdate(view.getLineAtOffset(view.getCaretOffset()));
+                                                       currentChar = ' ';
+                                               }
+                                               
if(view.getLineAtOffset(view.getCaretOffset()) != currentLine){
+                                                       
sendStatusBarUpdate(view.getLineAtOffset(view.getCaretOffset()));
+                                               }
                                        }
                                }
                        }
@@ -211,39 +204,6 @@
                view.addModifyListener(viewMod);
                setListenerLock(false);
        }
-
-       private void previousPageEnd(int offset){
-               int pos = manager.getBraillePageStart(offset);
-               //account for blank pages before more text
-               while(manager.inBraillePageRange(pos - 1))
-                       pos = manager.getBraillePageStart(pos - 1);
-
-               if(pos != -1 && pos != 0)
-                       view.setCaretOffset(pos - 1);
-               else
-                       view.setCaretOffset(oldCursorPosition);
-       }
-
-       private void nextPageStart(int offset){
-               int pos = manager.getBraillePageEnd(offset);
-               //account for blank pages before more text
-               while(manager.inBraillePageRange(pos + 1)){
-                       pos = manager.getBraillePageEnd(pos + 1);
-               }
-
-               if(pos != -1 && pos != view.getCharCount())
-                       view.setCaretOffset(pos + 1);
-               else {
-                       pos = manager.getBraillePageStart(offset);
-                       while(manager.inBraillePageRange(pos - 1)){
-                               pos = manager.getBraillePageStart(pos - 1);
-                       }
-                       if(pos == -1)
-                               view.setCaretOffset(oldCursorPosition);
-                       else
-                               view.setCaretOffset(pos - 1);
-               }
-       }

        @Override
        public void removeListeners(){
@@ -255,6 +215,40 @@
                view.removeCaretListener(caretListener);
                
view.getVerticalBar().removeSelectionListener(selectionListener);
        }
+
+       private void previousValidPosition(){
+ TextMapElement t = manager.getElementInBrailleRange(view.getCaretOffset());
+               int index= manager.indexOf(t);
+ while((t.brailleList.getFirst().start != 0 && manager.indexOf(t) != 0) && t instanceof PageMapElement){
+                       index--;
+                       t = manager.getTextMapElement(index);
+               }
+
+               currentChar = SWT.ARROW_UP;
+               if(t instanceof PageMapElement){
+                       view.setCaretOffset(t.brailleList.getLast().end);
+                       nextValidPosition();
+               }
+               else
+                       view.setCaretOffset(t.brailleList.getLast().end);
+       }
+
+       private void nextValidPosition(){
+ TextMapElement t = manager.getElementInBrailleRange(view.getCaretOffset());
+               int index = manager.indexOf(t);
+ while((t.brailleList.getLast().end != view.getCharCount() && manager.indexOf(t) != manager.getListSize() - 1) && t instanceof PageMapElement){
+                       index++;
+                       t = manager.getTextMapElement(index);
+               }
+
+               currentChar = SWT.ARROW_DOWN;
+               if(t instanceof PageMapElement){
+                       view.setCaretOffset(t.brailleList.getFirst().start);
+                       previousValidPosition();
+               }
+               else
+                       view.setCaretOffset(t.brailleList.getFirst().start);
+       }

        private void setCurrent(){
Message message = Message.createSetCurrentMessage(Sender.BRAILLE, view.getCaretOffset(), true);
@@ -274,6 +268,7 @@
                currentEnd = (Integer)message.getValue("brailleEnd");
                nextStart = (Integer)message.getValue("nextBrailleStart");
                previousEnd = (Integer)message.getValue("previousBrailleEnd");
+               currentElement = 
(TextMapElement)message.getValue("currentElement");
                this.pageRanges.clear();
setPageRange((ArrayList<BrailleMapElement>)message.getValue("pageRanges"));
        }
@@ -520,55 +515,22 @@

        private int getPrev(Message m){
                int prev = (Integer)m.getValue("braillePrev");
-               int start = (Integer)m.getValue("start");

-               if(-1 != prev){
+               if(-1 != prev)
                        prev++;
-                       if(manager.inBraillePageRange((prev + start) / 2)){
-                               prev = manager.getBraillePageEnd((prev + start) 
/ 2);
-                               while(manager.inBraillePageRange(prev)){
-                                       prev = manager.getBraillePageEnd(prev) 
+ 1;
-                               }
-                       }
-               }
-               else {
-                       if(manager.inBraillePageRange(start / 2)){
-                               prev = manager.getBraillePageEnd(start / 2);
-                               while(manager.inBraillePageRange(prev)){
-                                       prev = manager.getBraillePageEnd(prev) 
+ 1;
-                               }
-                       }
-                       else
-                               prev = 0;
-               }
+               else
+                       prev = 0;

                return prev;
        }

        private int getNext(Message m){
-               //int start = (Integer)m.getValue("start");
-               int end = (Integer)m.getValue("end");
                int next = (Integer)m.getValue("brailleNext");

-               if(-1 != next){
+               if(-1 != next)
                        next--;
-                       if(manager.inBraillePageRange((end + next) / 2)){
-                               next = manager.getBraillePageStart((end + next) 
/ 2);
-                               while(manager.inBraillePageRange(next)){
-                                       next = 
manager.getBraillePageStart(next) - 1;
-                               }
-                       }
-               }
-               else {
-                       if(manager.inBraillePageRange((end + 
view.getCharCount()) / 2)){
-                               next = manager.getBraillePageStart((end + 
view.getCharCount()) / 2);
-                               while(manager.inBraillePageRange(next)){
-                                       next = 
manager.getBraillePageStart(next) - 1;
-                               }
-                       }
-                       else
-                               next = view.getCharCount();
-               }
+               else
+                       next = view.getCharCount();

                return next;
        }
@@ -939,7 +901,7 @@

        @Override
        public void addPageNumber(PageMapElement p, boolean insert) {
-               String text = p.brailleNode.getValue();
+               String text = p.brailleList.getFirst().value();

                spaceBeforeText++;
                if(insert){
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Mon Jul 14 19:18:30 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Thu Jul 17 19:46:53 2014 UTC
@@ -42,6 +42,7 @@
 import org.brailleblaster.perspectives.braille.document.BBSemanticsTable;
import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.Styles; import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.StylesType;
+
 import org.brailleblaster.perspectives.braille.mapping.maps.MapList;
import org.brailleblaster.perspectives.braille.mapping.elements.BrlOnlyMapElement; import org.brailleblaster.perspectives.braille.mapping.elements.PageMapElement;
@@ -240,9 +241,8 @@

//Handles single case where page is on last line and text is selected to last line and arrow down is pressed which does not move cursor if(manager.inPrintPageRange(view.getCaretOffset()) && e.keyCode == SWT.ARROW_DOWN && view.getLineAtOffset(view.getCaretOffset()) == view.getLineCount() - 1){
-                                       setListenerLock(true);
-                                       nextPageStart(view.getCaretOffset());
-                                       setListenerLock(false);
+                                       previousValidPosition();
+                                       e.doit = false;
                                }
                        }
                });
@@ -291,53 +291,43 @@
                                                        if(textChanged == true){
                                                                sendUpdate();
                                                        }
-
-                                                       setListenerLock(true);
- if((e.caretOffset > currentEnd && (e.caretOffset < nextStart || nextStart == -1)) || (e.caretOffset > currentStart && e.caretOffset > nextStart)){
-                                                               
if(manager.inPrintPageRange(e.caretOffset)){
- if(currentChar == SWT.ARROW_DOWN || currentChar == SWT.ARROW_RIGHT)
-                                                                               
nextPageStart(e.caretOffset);
- else if(currentChar == SWT.ARROW_LEFT || currentChar == SWT.ARROW_UP)
-                                                                               
previousPageEnd(e.caretOffset);
-                                                               }
+
+                                                       
setCurrent(view.getCaretOffset());
+                                                       if(currentElement 
instanceof PageMapElement){
+ if(nextStart != -1 && currentChar == SWT.ARROW_DOWN || currentChar == SWT.ARROW_RIGHT)
+                                                                       
nextValidPosition();
+ else if(previousEnd != -1 && currentChar == SWT.ARROW_LEFT || currentChar == SWT.ARROW_UP)
+                                                                       
previousValidPosition();
                                                        }
- else if((e.caretOffset < currentStart && (e.caretOffset > previousEnd || previousEnd == -1)) || (e.caretOffset < currentStart && e.caretOffset < previousEnd)){
-                                                               
if(manager.inPrintPageRange(e.caretOffset)){
-                                                                       
if(currentChar == SWT.ARROW_LEFT || currentChar == SWT.ARROW_UP)
-                                                                               
previousPageEnd(e.caretOffset);
- else if(currentChar == SWT.ARROW_DOWN || currentChar == SWT.ARROW_RIGHT)
-                                                                               
nextPageStart(e.caretOffset);
-                                                               }
-                                                       }
-                                                       setListenerLock(false);

-                                                       
setCurrent(view.getCaretOffset());
                                                        currentChar = ' ';
                                                        
sendStatusBarUpdate(view.getLineAtOffset(view.getCaretOffset()));
                                                }
                                        }
                                }

- if(view.getLineAtOffset(view.getCaretOffset()) != currentLine && !manager.inPrintPageRange(view.getCaretOffset()))
+                               if(view.getLineAtOffset(view.getCaretOffset()) 
!= currentLine)
                                        
sendStatusBarUpdate(view.getLineAtOffset(view.getCaretOffset()));
-
                        }
                });

                view.addMouseListener(mouseListener = new MouseAdapter(){
                        @Override
                        public void mouseDown(MouseEvent e) {
+                               int start = currentStart;
+                               int end = currentEnd;
+
if( (view.getCaretOffset() > currentEnd || view.getCaretOffset() < currentStart)){
                                        if(textChanged == true)
                                                sendUpdate();
-
-                                       
if(manager.inPrintPageRange(view.getCaretOffset())){
-                                               if(view.getCaretOffset() < 
currentStart)
-                                                       
previousPageEnd(view.getCaretOffset());
-                                               else if(view.getCaretOffset() > 
currentEnd)
-                                                       
nextPageStart(view.getCaretOffset());
-                                       }
+
                                        setCurrent(view.getCaretOffset());
+                                       if(currentElement instanceof 
PageMapElement){
+ if((previousEnd != -1 && view.getCaretOffset() < start) || nextStart == -1)
+                                                       previousValidPosition();
+ else if((nextStart != -1 && view.getCaretOffset() > end) || previousEnd == -1)
+                                                       nextValidPosition();
+                                       }
                                }
                        }
                });
@@ -442,45 +432,44 @@
                }
        }

-       private void nextPageStart(int offset){
-               int pos = manager.getPrintPageEnd(offset);
-               //account for blank pages before more text
-               while(manager.inPrintPageRange(pos + 1)){
-                       pos = manager.getPrintPageEnd(pos + 1);
+       private void nextValidPosition(){
+               TextMapElement t = 
manager.getElementInRange(view.getCaretOffset());
+               int index = manager.indexOf(t);
+ while((t.end != view.getCharCount() && manager.indexOf(t) != manager.getListSize() - 1) && t instanceof PageMapElement){
+                       index++;
+                       t = manager.getTextMapElement(index);
                }

-               if(pos != -1 && pos != view.getCharCount())
-                       view.setCaretOffset(pos + 1);
-               else {
-                       pos = manager.getPrintPageStart(offset);
-                       while(manager.inPrintPageRange(pos - 1)){
-                               pos = manager.getPrintPageStart(pos - 1);
-                       }
-                       if(pos == -1)
-                               view.setCaretOffset(oldCursorPosition);
-                       else
-                               view.setCaretOffset(pos - 1);
+               currentChar = SWT.ARROW_DOWN;
+               if(t instanceof PageMapElement){
+                       view.setCaretOffset(t.start);
+                       previousValidPosition();
                }
+               else
+                       view.setCaretOffset(t.start);
        }

-       private void previousPageEnd(int offset){
-               int pos = manager.getPrintPageStart(offset);
-               //account for blank pages before more text
-               while(manager.inPrintPageRange(pos - 1)){
-                       pos = manager.getPrintPageStart(pos - 1);
+       private void previousValidPosition(){
+               TextMapElement t = 
manager.getElementInRange(view.getCaretOffset());
+               int index = manager.indexOf(t);
+ while((t.start != 0 && manager.indexOf(t) != 0) && t instanceof PageMapElement){
+                       index--;
+                       t = manager.getTextMapElement(index);
                }

-               if(pos != -1 && pos != 0)
-                       view.setCaretOffset(pos - 1);
-               else
-                       view.setCaretOffset(oldCursorPosition);
+               currentChar = SWT.ARROW_UP;
+               if(t instanceof PageMapElement){
+                       view.setCaretOffset(t.end);
+                       nextValidPosition();
+               }
+               else
+                       view.setCaretOffset(t.end);
        }

//public method to check if an update should be made before exiting or saving
        public void update(boolean forceUpdate){
-               if(textChanged || forceUpdate){
+               if(textChanged || forceUpdate)
                        sendUpdate();
-               }
        }

        private void sendUpdate(){
@@ -592,7 +581,8 @@
                int textLength = newText.length();

                view.append(newText);
-               handleStyle(prevStyle, style, t.n, newText);
+               if(!(t instanceof PageMapElement))
+                       handleStyle(prevStyle, style, t.n, newText);

t.setOffsets(spaceBeforeText + total, spaceBeforeText + total + textLength);
                total += spaceBeforeText + textLength + spaceAfterText;
@@ -1181,13 +1171,13 @@
                        int changes = 0;
                        while(selectionLength > 0){
                                if(manager.inPrintPageRange(selectionStart + 
1)){
-                                       PageMapElement p = 
manager.getPageElement(selectionStart + 1);
+ PageMapElement p = (PageMapElement)manager.getElementInRange(selectionStart + 1);
                                        int pos = p.end;

                                        setListenerLock(true);
                                        String pageText = "\n"+ p.n.getValue();
                                        while(manager.inPrintPageRange(pos + 
1)){
-                                               p = manager.getPageElement(pos 
+ 1);
+                                               p =  
(PageMapElement)manager.getElementInRange(pos + 1);
                                                pos = p.end;
                                                pageText += "\n"+ 
p.n.getValue();
                                        }
@@ -1204,10 +1194,12 @@
                                        selectionStart = pos + 1;
                                        view.setCaretOffset(selectionStart);
                                        
if(manager.inPrintPageRange(view.getCaretOffset())){
-                                               int start = 
manager.getPrintPageStart(view.getCaretOffset());
+                                               int start = 
manager.getElementInRange(view.getCaretOffset()).start;
                                                view.setCaretOffset(start - 1);
                                        }
                                        setCurrent(view.getCaretOffset());
+                                       if(currentElement.equals(p))
+                                               incrementCurrent();
                                        if(selectionLength <= 0)
                                                break;
                                }
@@ -1226,7 +1218,7 @@
                                }
                                else if(selectionStart == currentEnd && 
selectionStart != nextStart){
if(nextStart != -1 && manager.inPrintPageRange((selectionStart + nextStart) / 2)) - changes = manager.getPrintPageStart((selectionStart + nextStart) / 2) - selectionStart - 1; + changes = manager.getElementInRange((selectionStart + nextStart) / 2).start - selectionStart - 1;
                                        else if(nextStart != -1)
                                                changes = nextStart - 
currentEnd;
                                        else
@@ -1290,8 +1282,9 @@
                        }
                }
                setSelection(-1, -1);
-               if(manager.inPrintPageRange(view.getCaretOffset()))
-                       previousPageEnd(view.getCaretOffset());
+
+               if(currentElement instanceof PageMapElement)
+                       view.setCaretOffset(previousEnd);
        }

//a helper method for common series of methods that typically, but not always, follow one another
@@ -1588,27 +1581,11 @@
        //private helper method used by adjust style
//finds the point from which to remove any excess spacing before applying lines before
        private int getPrev(Message m){
-               int start = (Integer)m.getValue("start");
                int prev = (Integer)m.getValue("prev");
-               if(-1 != prev){
-                       prev++;
-                       if(manager.inPrintPageRange((prev + start) / 2)){
-                               prev = manager.getPrintPageEnd((prev + start) / 
2);
-                               while(manager.inPrintPageRange(prev)){
-                                       prev = manager.getPrintPageEnd(prev) + 
1;
-                               }
-                       }
-               }
-               else {
-                       if(manager.inPrintPageRange(start / 2)){
-                               prev = manager.getPrintPageEnd(start / 2);
-                               while(manager.inPrintPageRange(prev)){
-                                       prev = manager.getPrintPageEnd(prev) + 
1;
-                               }
-                       }
-                       else
-                               prev = 0;
-               }
+               if(-1 != prev)
+                       prev++;
+               else
+                       prev = 0;

                return prev;
        }
@@ -1616,27 +1593,11 @@
        //private helper method used by adjust style
//finds the point from which to remove any excess spacing before applying lines after
        private int getNext(Message m){
-               int end = (Integer)m.getValue("end");
                int next = (Integer)m.getValue("next");
-               if(next != -1){
+               if(next != -1)
                        next--;
-                       if(manager.inPrintPageRange((end + next) / 2)){
-                               next = manager.getPrintPageStart((end + next) / 
2);
-                               while(manager.inPrintPageRange(next)){
-                                       next = manager.getPrintPageStart(next) 
- 1;
-                               }
-                       }
-               }
-               else {
-                       if(manager.inPrintPageRange((end + view.getCharCount()) 
/ 2)){
-                               next = manager.getPrintPageStart((end + 
view.getCharCount()) / 2);
-                               while(manager.inPrintPageRange(next)){
-                                       next = manager.getPrintPageStart(next) 
- 1;
-                               }
-                       }
-                       else
-                               next = view.getCharCount();
-               }
+               else
+                       next = view.getCharCount();

                return next;
        }
@@ -1775,5 +1736,6 @@
b.setOffsets(spaceBeforeText+total, spaceBeforeText+total+textSidebar.length());
                total += spaceBeforeText+textSidebar.length();
                spaceBeforeText = 0;
-       }
+         spaceBeforeText = 0;
+        }
 }
=======================================
--- /src/main/org/brailleblaster/perspectives/imageDescriber/ImageDescriberController.java Fri Jul 11 17:01:11 2014 UTC +++ /src/main/org/brailleblaster/perspectives/imageDescriber/ImageDescriberController.java Thu Jul 17 19:46:53 2014 UTC
@@ -38,7 +38,6 @@
 import org.brailleblaster.archiver.Archiver;
 import org.brailleblaster.archiver.ArchiverFactory;
 import org.brailleblaster.archiver.EPub3Archiver;
-import org.brailleblaster.archiver.NimasArchiver;
 import org.brailleblaster.localization.LocaleHandler;
 import org.brailleblaster.perspectives.Controller;
import org.brailleblaster.perspectives.imageDescriber.document.ImageDescriber;
=======================================
--- /src/main/org/brailleblaster/perspectives/webView/WebViewController.java Wed Jun 25 17:39:54 2014 UTC +++ /src/main/org/brailleblaster/perspectives/webView/WebViewController.java Thu Jul 17 19:46:53 2014 UTC
@@ -12,8 +12,10 @@
 import org.brailleblaster.archiver.EPub3Archiver;
 import org.brailleblaster.archiver.NimasArchiver;
 import org.brailleblaster.converter.Converter;
+import org.brailleblaster.localization.LocaleHandler;
 import org.brailleblaster.perspectives.Controller;
import org.brailleblaster.perspectives.webView.WebViewDocument.webViewDocument;
+import org.brailleblaster.util.YesNoChoice;
 import org.brailleblaster.wordprocessor.BBFileDialog;
 import org.brailleblaster.wordprocessor.BBStatusBar;
 import org.brailleblaster.wordprocessor.WPManager;
@@ -279,7 +281,7 @@
        public void close() {
                dispose();
                vb.item.dispose();
-
+               wp.removeController(this);
        }

        @Override
=======================================
--- /src/main/org/brailleblaster/perspectives/webView/WebViewMenu/WebViewMenu.java Fri Jun 6 18:14:47 2014 UTC +++ /src/main/org/brailleblaster/perspectives/webView/WebViewMenu/WebViewMenu.java Thu Jul 17 19:46:53 2014 UTC
@@ -109,7 +109,7 @@
                                if(count > 0)
                                        currentController.close();

-                               wp.removeController(temp);
+                               //wp.removeController(temp);

                                if(wp.getList().size() == 0)
                                        setCurrent(null);
=======================================
--- /src/main/org/brailleblaster/wordprocessor/BBMenu.java Fri Jul 11 17:01:11 2014 UTC +++ /src/main/org/brailleblaster/wordprocessor/BBMenu.java Thu Jul 17 19:46:53 2014 UTC
@@ -150,6 +150,7 @@
                                        while(wp.getList().size() > 0 && i < 
wp.getList().size()){
                                                int size = wp.getList().size();
                                                Controller temp = 
wp.getList().get(i);
+                                               //wp.removeController(temp);
                                                temp.close();
                                                if(size == wp.getList().size())
                                                        i++;

==============================================================================
Revision: 7067d1e70d4c
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Thu Jul 17 20:03:48 2014 UTC
Log:      Merged branch
http://code.google.com/p/brailleblaster/source/detail?r=7067d1e70d4c

Modified:
 /src/main/org/brailleblaster/BBIni.java
 /src/main/org/brailleblaster/document/BBDocument.java
 /src/main/org/brailleblaster/perspectives/braille/Manager.java
/src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java /src/main/org/brailleblaster/perspectives/braille/mapping/elements/SectionElement.java
 /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java

=======================================
--- /src/main/org/brailleblaster/BBIni.java     Tue Jul 15 16:44:07 2014 UTC
+++ /src/main/org/brailleblaster/BBIni.java     Thu Jul 17 20:03:48 2014 UTC
@@ -41,15 +41,14 @@
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Properties;
-import java.util.logging.FileHandler;
-import java.util.logging.Level;
-import java.util.logging.Logger;

 import org.brailleblaster.util.FileUtils;
 import org.brailleblaster.util.PropertyFileManager;
 import org.eclipse.swt.SWT;
+import org.liblouis.LibLouis;
 import org.liblouis.LibLouisUTDML;
-import org.liblouis.LogLevel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;


 /**
@@ -75,7 +74,7 @@
        private static String debugFilePath;
        private static boolean gotGui = true;
        private static boolean multipleSubcommands = false;
-       private static Logger logger;
+       private final static Logger logger = 
LoggerFactory.getLogger(BBIni.class);
        private static final String productName = "BrailleBlaster ND";
        private static final String BBVersion = "2014.06.05";
        private static final String releaseDate = "June 5, 2014";
@@ -99,7 +98,7 @@
        public final static String propExtension = ".properties";
        private static boolean hSubcommands = false;
        private static boolean hLiblouisutdml = false;
-       private static FileHandler logFile;
+       // private static FileHandler logFile;
        private static final String BBID = "brlblst";
        private static String instanceId;
        private static String defaultCfg;
@@ -218,20 +217,7 @@
                if (!logPath.exists()) {
                        logPath.mkdirs();
                }
-               logger = Logger.getLogger("org.brailleblaster");
-               try {
-                       logFile = new FileHandler(logFilesPath + fileSep + 
"log.xml");
-               }
-               catch (IOException e) {
-                       e.printStackTrace();
-                       logger.log(Level.SEVERE, "cannot open logfile", e);
-                       e.printStackTrace();
-               }
-               if (logFile != null) {
-                       logger.addHandler(logFile);
-               }
-               // disable output to console
-               logger.setUseParentHandlers(false);
+
                if (args.length > 0) {
                        int i = 0;
                        while (i < args.length) {
@@ -258,16 +244,18 @@
                try {
                        LibLouisUTDML.loadLibrary(nativeLibraryPath, 
nativeLibrarySuffix);
                        // 
LibLouisUTDML.getInstance().setLogLevel(LogLevel.ERROR);
- LibLouisUTDML.getInstance().registerLogCallback(new org.brailleblaster.louisutdml.LogHandler(logger)); + org.brailleblaster.louisutdml.LogHandler louisutdmlLogHandler = new org.brailleblaster.louisutdml.LogHandler();
+                       
LibLouis.getInstance().registerLogCallback(louisutdmlLogHandler);
+                       
LibLouisUTDML.getInstance().registerLogCallback(louisutdmlLogHandler);
LibLouisUTDML.initialize(programDataPath, tempFilesPath, "liblouisutdml.log");
                        hLiblouisutdml = true;
                }
                catch (UnsatisfiedLinkError e) {
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "Problem with liblouisutdml 
library", e);
+                       logger.error("Problem with liblouisutdml library", e);
                }
                catch (Exception e) {
-                       logger.log(Level.WARNING, "This shouldn't happen", e);
+                       logger.warn("This shouldn't happen", e);
                }
        }

@@ -400,10 +388,6 @@
        public static String getRecentDocs() {
                return recentDocs;
        }
-
-       public static Logger getLogger() {
-               return logger;
-       }

        public static PropertyFileManager getPropertyFileManager(){
                return propManager;
=======================================
--- /src/main/org/brailleblaster/document/BBDocument.java Thu Jul 17 19:46:53 2014 UTC +++ /src/main/org/brailleblaster/document/BBDocument.java Thu Jul 17 20:03:48 2014 UTC
@@ -41,8 +41,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.EnumMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;

 import nu.xom.Attribute;
 import nu.xom.Builder;
@@ -81,7 +82,7 @@
        private static String fileSep = BBIni.getFileSep();
        protected LibLouisUTDML lutdml = LibLouisUTDML.getInstance();
        protected FileUtils fu = new FileUtils();
-       protected static Logger logger = BBIni.getLogger();
+ protected static Logger logger = LoggerFactory.getLogger(BBDocument.class);
        private ArrayList<String>missingSemanticsList;
        private ArrayList<String>mistranslationList;
        private String systemId;
@@ -214,26 +215,26 @@
                catch(ConnectException e){
                        new Notify(lh.localValue("connectionError"));
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "Connections Error", e);
+                       logger.error("Connections Error", e);
                        return false;
                }
                catch(UnknownHostException e){
                        new Notify(lh.localValue("connectionError"));
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "Unknown Host Error", e);
+                       logger.error("Unknown Host Error", e);
                        return false;
                }
                catch (ParsingException e) {
new Notify(lh.localValue("processingProb") + fileName + "\n" + lh.localValue("seeTrace"));
                        new CheckLiblouisutdmlLog().displayLog();
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "Parse Error", e);
+                       logger.error("Parse Error", e);
                        return false;
                }
                catch (IOException e) {
new Notify (lh.localValue("ioProb") + fileName + "\n" + lh.localValue("seeTrace"));
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "IO Error", e);
+                       logger.error("IO Error", e);
                        return false;
                }
        }
@@ -372,7 +373,7 @@
                                return false;
                }
                catch(Exception ex){
-                       logger.log(Level.SEVERE, "Exception", ex);
+                       logger.error("Exception", ex);
                        return false;
                }
        }
@@ -417,13 +418,14 @@
        }

        public Node findPrintPageNode(Element e){
+
                Node n = findPrintPageNodeHelper(e);
-               if(n == null){
+               if (n == null) {
                        mistranslationList.add(e.toXML().toString());
                        return null;
-               }
-               else
+               } else
                        return n;
+
        }

        private Node findPrintPageNodeHelper(Element e){
@@ -442,12 +444,12 @@

        public Node findBraillePageNode(Element e){
                Node n = findBraillePageNodeHelper(e);
-               if(n == null){
+               if (n == null) {
                        mistranslationList.add(e.toXML().toString());
                        return null;
-               }
-               else
+               } else
                        return n;
+
        }

        private Node findBraillePageNodeHelper(Element e){
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/Manager.java Thu Jul 17 19:46:53 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/Manager.java Thu Jul 17 20:03:48 2014 UTC
@@ -36,8 +36,9 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;

 import nu.xom.Document;
 import nu.xom.Element;
@@ -106,7 +107,7 @@
        String configSettings = null;
        static String recentFileName = null;
        LocaleHandler lh = new LocaleHandler();
-       static Logger logger;
+       final static Logger logger = LoggerFactory.getLogger(Manager.class);
        public BrailleDocument document;
        private FontManager fontManager;
        private boolean simBrailleDisplayed;
@@ -133,9 +134,6 @@
                pb = new BBProgressBar(wp.getShell());
                fontManager.setFontWidth(simBrailleDisplayed);
                srch = new SearchDialog(wp.getShell(), SWT.NONE, this);
-
-               logger = BBIni.getLogger();
-
                if(docName != null)
                        openDocument(docName);
                else {
@@ -173,9 +171,6 @@
                pb = new BBProgressBar(wp.getShell());
                fontManager.setFontWidth(simBrailleDisplayed);
                srch = new SearchDialog(wp.getShell(), SWT.NONE, this);
-
-               logger = BBIni.getLogger();
-
                document = new BrailleDocument(this, doc, this.styles);
                vi = ViewFactory.createUpdater(arch, document, text, braille, 
treeView);

@@ -319,13 +314,13 @@
                        }
                        else {
                                System.out.println("The Document Base document tree 
is empty");
- logger.log(Level.SEVERE, "The Document Base document tree is null, the file failed to parse properly"); + logger.error("The Document Base document tree is null, the file failed to parse properly");
                                //workingFilePath = null;
                        }
                }
                catch(Exception e){
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "Unforeseen Exception", e);
+                       logger.error("Unforeseen Exception", e);
                }
        }

@@ -1066,7 +1061,7 @@
                catch (IOException e) {
new Notify("An error occurred while refreshing the document. Please save your work and try again.");
                        e.printStackTrace();
-                       logger.log(Level.SEVERE, "IO Exception", e);
+                       logger.error("IO Exception", e);
                }
        }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java Thu Jul 17 19:46:53 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java Thu Jul 17 20:03:48 2014 UTC
@@ -4,6 +4,7 @@

 import nu.xom.Element;
 import nu.xom.Node;
+import nu.xom.Text;


 public class PageMapElement extends TextMapElement {
@@ -25,7 +26,9 @@
        }

        public void setBraillePage(Node n){
-               brailleList.add(new BrailleMapElement(n));
+           Text t=(Text)n;
+           t.setValue(removeWord(n.getValue()));
+           n=(Node)t;
        }

        public void setBraillePage(int brailleStart, int brailleEnd, Node n){
@@ -37,8 +40,18 @@
                brailleList.getFirst().end = end;
        }

-       @Override
-       public Element parentElement(){
-               return parent;
+       //Remove word page or any word between ";" and "#" character
+       private String removeWord(String str){
+               int startRemove =0;
+               int endRemove=0;
+               if((str.contains(";")) && (str.contains("#"))){
+                       startRemove=str.indexOf(";");
+                       endRemove=str.indexOf("#");
+                       String removedString=str.substring(startRemove+1, 
endRemove);
+                       str=str.replace(removedString, "");
+
+               }
+               return str;
+
        }
 }
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/elements/SectionElement.java Thu Jul 17 19:46:53 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/elements/SectionElement.java Thu Jul 17 20:03:48 2014 UTC
@@ -98,9 +98,9 @@
                }
        }

-       protected void initializePrintPage(Manager m, Element page){
+       protected void initializePrintPage(Manager m, Element page) {
                Node textNode = m.getDocument().findPrintPageNode(page);
-               if(textNode != null){
+               if (textNode != null) {
                        PageMapElement  p = new PageMapElement(page, textNode);
                        Node brailleText = 
m.getDocument().findBraillePageNode(page);
                        p.setBraillePage(brailleText);
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Thu Jul 17 19:46:53 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Thu Jul 17 20:03:48 2014 UTC
@@ -32,7 +32,6 @@

 import java.util.ArrayList;
 import java.util.Map.Entry;
-import java.util.logging.Level;

 import nu.xom.Element;
 import nu.xom.Node;
@@ -43,10 +42,10 @@
import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.Styles; import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.StylesType;

-import org.brailleblaster.perspectives.braille.mapping.maps.MapList;
import org.brailleblaster.perspectives.braille.mapping.elements.BrlOnlyMapElement; import org.brailleblaster.perspectives.braille.mapping.elements.PageMapElement; 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.messages.Sender;
 import org.brailleblaster.util.Notify;
@@ -897,7 +896,7 @@
                }
                catch(StringIndexOutOfBoundsException e){
new Notify("An error occured while translating. Be aware the this may affect cursor accurarcy and other translations in the document. The document is most likely not be suitable for editing. Check the logs for details"); - logger.log(Level.SEVERE, "Index Error:\t" + n.getParent().toXML().toString(), e);
+                       logger.error("Index Error:\t" + 
n.getParent().toXML().toString(), e);
                        text.append(n.getValue().substring(start));
                }

@@ -984,7 +983,7 @@
                }
                catch(StringIndexOutOfBoundsException e){
new Notify("An error occured while translating. Be aware the this may affect cursor accurarcy and other translations in the document. The document is most likely not be suitable for editing. Check the logs for details"); - logger.log(Level.SEVERE, "Index Error:\t" + n.getParent().toXML().toString(), e);
+                       logger.error("Index Error:\t" + 
n.getParent().toXML().toString(), e);
                        text.append(n.getValue().substring(start));
                }


==============================================================================
Revision: b74856ff6f16
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Thu Jul 17 20:42:51 2014 UTC
Log:      Fixed bug after merge
http://code.google.com/p/brailleblaster/source/detail?r=b74856ff6f16

Modified:
/src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java Thu Jul 17 20:03:48 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/elements/PageMapElement.java Thu Jul 17 20:42:51 2014 UTC
@@ -28,7 +28,7 @@
        public void setBraillePage(Node n){
            Text t=(Text)n;
            t.setValue(removeWord(n.getValue()));
-           n=(Node)t;
+           brailleList.add(new BrailleMapElement(brailleStart, brailleEnd, n));
        }

        public void setBraillePage(int brailleStart, int brailleEnd, Node n){
@@ -54,4 +54,9 @@
                return str;

        }
+
+       @Override
+       public Element parentElement(){
+               return parent;
+       }
 }

Other related posts:

  • » [brailleblaster] 4 new revisions pushed by brandon....@xxxxxxxxx on 2014-07-17 20:43 GMT - brailleblaster