[brailleblaster] [brailleblaster.newdesign] push by brandon....@xxxxxxxxx - Fixed more bugs with applying styles on 2013-09-11 17:48 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 11 Sep 2013 17:49:05 +0000

Revision: e570fcb24a99
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Wed Sep 11 17:46:32 2013 UTC
Log:      Fixed more bugs with applying styles
http://code.google.com/p/brailleblaster/source/detail?r=e570fcb24a99&repo=newdesign

Modified:
 /src/main/org/brailleblaster/document/BBDocument.java
 /src/main/org/brailleblaster/document/ElementDivider.java
 /src/main/org/brailleblaster/views/BrailleView.java
 /src/main/org/brailleblaster/views/TextView.java

=======================================
--- /src/main/org/brailleblaster/document/BBDocument.java Wed Sep 11 14:00:18 2013 UTC +++ /src/main/org/brailleblaster/document/BBDocument.java Wed Sep 11 17:46:32 2013 UTC
@@ -528,7 +528,7 @@

                        String semPath;
                        if(dm.getWorkingPath() == null){
- semPath = BBIni.getProgramDataPath() + BBIni.getFileSep() + "xmlTemplates" + BBIni.getFileSep() + "dtbook.xml"; + semPath = BBIni.getTempFilesPath() + BBIni.getFileSep() + "outFile.utd";
                        }
                        else {
semPath = BBIni.getTempFilesPath() + BBIni.getFileSep() + fu.getFileName(dm.getWorkingPath()) + ".xml";
=======================================
--- /src/main/org/brailleblaster/document/ElementDivider.java Wed Sep 11 14:00:18 2013 UTC +++ /src/main/org/brailleblaster/document/ElementDivider.java Wed Sep 11 17:46:32 2013 UTC
@@ -42,20 +42,17 @@

                        Element grandParent = (Element)parent.getParent();
                        int parentIndex = grandParent.indexOf(parent);
-                       if(!isDefaultStyle(parent)){
- firstElement.addAttribute(new Attribute("id", parent.getAttributeValue("id")));
-                               Message styleMessage = new Message(null);
- styleMessage.put("Style", table.get(table.getKeyFromAttribute(parent)));
-                               doc.changeSemanticAction(styleMessage, 
secondElement);
-                       }
+                       checkElementStyle(parent, firstElement, secondElement);
                        replaceElement(els, grandParent, parent, firstElement);
                        insertElement(els, grandParent, secondElement, 
parentIndex + 1);
                }
                else if(e.getChildCount() > 2 && nodeIndex > 0){
+                       checkElementStyle(e, firstElement, secondElement);
                        replaceElement(els, parent, e, firstElement);
                        insertElement(els, parent, secondElement, index + 1);
                }
                else {
+                       checkElementStyle(e, firstElement, secondElement);
                        replaceElement(els, parent, e, firstElement);
                        insertElement(els, parent,secondElement, index + 1);
                }
@@ -94,18 +91,22 @@

                Element grandParent = (Element)parent.getParent();
                int parentIndex = grandParent.indexOf(parent);
+
+               checkElementStyle(parent, firstElement, secondElement);

+               replaceElement(els, grandParent, parent, firstElement);
+               insertElement(els, grandParent, secondElement, parentIndex + 1);
+
+               return els;
+       }
+
+ private void checkElementStyle(Element parent, Element firstElement, Element secondElement){
                if(!isDefaultStyle(parent)){
firstElement.addAttribute(new Attribute("id", parent.getAttributeValue("id")));
                        Message styleMessage = new Message(null);
                        styleMessage.put("Style", 
table.get(table.getKeyFromAttribute(parent)));
                        doc.changeSemanticAction(styleMessage, secondElement);
                }
-
-               replaceElement(els, grandParent, parent, firstElement);
-               insertElement(els, grandParent, secondElement, parentIndex + 1);
-
-               return els;
        }

private Element createFirstElement(TextMapElement t, Element parent, Element e, int textPosition){
=======================================
--- /src/main/org/brailleblaster/views/BrailleView.java Wed Sep 11 14:00:18 2013 UTC +++ /src/main/org/brailleblaster/views/BrailleView.java Wed Sep 11 17:46:32 2013 UTC
@@ -353,7 +353,9 @@
                                                insertBefore(currentStart - 
(currentStart - prev), textBefore);
                                                currentStart += offset;
                                                currentEnd += offset;
-                                               nextStart += offset;
+                                               if(nextStart != -1)
+                                                       nextStart += offset;
+
                                                
view.setLineIndent(view.getLineAtOffset(currentStart), 1, indent);
                                                restoreStyleState(currentStart, 
currentEnd);
                                        }
@@ -377,7 +379,9 @@
                                                textBefore = 
makeInsertionString(spaces + 1,'\n');
                                                insertBefore(currentEnd, 
textBefore);
                                                offset = (spaces + 1) - length;
-                                               nextStart += offset;
+                                               if(nextStart != 1)
+                                                       nextStart += offset;
+
                                                if(nextStart != -1){
                                                        
view.setLineIndent(view.getLineAtOffset(nextStart), 1, indent);
                                                        
restoreStyleState(currentStart, currentEnd);
@@ -424,7 +428,7 @@
                                length = currentStart - prev;
                        }

-                       if(isFirst(t.brailleList.getFirst().n) && previousEnd 
!= -1){
+                       if(isFirst(t.brailleList.getFirst().n)){
                                spaces = 1;
                                textBefore = makeInsertionString(spaces,'\n');
                                offset = spaces - length;
@@ -443,14 +447,22 @@
                }

if(!style.contains(StylesType.linesAfter) && previousStyle.contains(StylesType.linesAfter)){
-                       if(currentEnd != nextStart && nextStart != -1){
+                       if(currentEnd != nextStart){
+                               int removedSpaces;
+                               if(nextStart != -1)
+                                       removedSpaces = nextStart - currentEnd;
+                               else
+                                       removedSpaces = view.getCharCount() - 
currentEnd;
+
                                saveStyleState(currentStart);
-                               indent  = 
view.getLineIndent(view.getLineAtOffset(nextStart));
-                               view.replaceTextRange(currentEnd, (nextStart - 
currentEnd), "");
-                               length = nextStart - currentEnd;
+                               if(nextStart != -1)
+                                       indent  = 
view.getLineIndent(view.getLineAtOffset(nextStart));
+
+                               view.replaceTextRange(currentEnd, removedSpaces, 
"");
+                               length = removedSpaces;
                        }

-                       if(isLast(t.brailleList.getLast().n)){
+                       if(isLast(t.brailleList.getLast().n) && nextStart != 
-1){
                                spaces = 1;
                                textBefore = makeInsertionString(1,'\n');
                                insertBefore(currentEnd, textBefore);
=======================================
--- /src/main/org/brailleblaster/views/TextView.java Wed Sep 11 14:00:18 2013 UTC +++ /src/main/org/brailleblaster/views/TextView.java Wed Sep 11 17:46:32 2013 UTC
@@ -1101,7 +1101,8 @@
                                                m.put("linesBeforeOffset", 
offset);
                                                currentStart += offset;
                                                currentEnd += offset;
-                                               nextStart += offset;
+                                               if(nextStart != -1)
+                                                       nextStart += offset;
                                                
view.setLineIndent(view.getLineAtOffset(currentStart), 1, indent);
                                                restoreStyleState(currentStart, 
currentEnd);
                                        }
@@ -1126,7 +1127,8 @@
                                                insertBefore(currentEnd, 
textBefore);
                                                offset = (spaces + 1) - length;
                                                m.put("linesAfterOffset", 
offset);
-                                               nextStart += offset;
+                                               if(nextStart != -1)
+                                                       nextStart += offset;
                                                if(nextStart != -1){
                                                        
view.setLineIndent(view.getLineAtOffset(nextStart), 1, indent);
                                                        
restoreStyleState(currentStart, currentEnd);
@@ -1134,7 +1136,7 @@
                                        }
                                        break;
                                case format:
- view.setLineAlignment(view.getLineAtOffset(currentStart), getLineNumber(currentStart, view.getTextRange(currentStart, (currentEnd - currentStart))), Integer.valueOf(entry.getValue())); + view.setLineAlignment(view.getLineAtOffset(currentStart), getLineNumber(currentStart, view.getTextRange(currentStart, (currentEnd - currentStart))), Integer.valueOf(entry.getValue()));
                                        break;
                                case firstLineIndent:
if(isFirst && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin))){
@@ -1174,7 +1176,7 @@
                                length = currentStart - prev;
                        }

-                       if(isFirst && previousEnd != -1){
+                       if(isFirst){
                                spaces = 1;
                                textBefore = makeInsertionString(spaces,'\n');
                                offset = spaces - length;
@@ -1194,14 +1196,22 @@
                }

if(!style.contains(StylesType.linesAfter) && previousStyle.contains(StylesType.linesAfter) && isLast){
-                       if(currentEnd != nextStart && nextStart != -1){
+                       if(currentEnd != nextStart){
+                               int removedSpaces;
+                               if(nextStart != -1)
+                                       removedSpaces = nextStart - currentEnd;
+                               else
+                                       removedSpaces = view.getCharCount() - 
currentEnd;
+
                                saveStyleState(currentStart);
-                               indent  = 
view.getLineIndent(view.getLineAtOffset(nextStart));
-                               view.replaceTextRange(currentEnd, (nextStart - 
currentEnd), "");
-                               length = nextStart - currentEnd;
+                               if(nextStart != -1)
+                                       indent  = 
view.getLineIndent(view.getLineAtOffset(nextStart));
+
+                               view.replaceTextRange(currentEnd, removedSpaces, 
"");
+                               length = removedSpaces;
                        }

-                       if(isLast){
+                       if(isLast && nextStart != -1){
                                spaces = 1;
                                textBefore = makeInsertionString(1,'\n');
                                insertBefore(currentEnd, textBefore);

Other related posts:

  • » [brailleblaster] [brailleblaster.newdesign] push by brandon....@xxxxxxxxx - Fixed more bugs with applying styles on 2013-09-11 17:48 GMT - brailleblaster