Revision: 701b13ce0744 Branch: default Author: Brandon Roller <brandon.r.roller@xxxxxxxxx> Date: Thu Sep 19 17:15:58 2013 UTC Log: Moved repetive code for indent to abstract view class http://code.google.com/p/brailleblaster/source/detail?r=701b13ce0744 Modified: /src/main/org/brailleblaster/abstractClasses/AbstractView.java /src/main/org/brailleblaster/views/BrailleView.java /src/main/org/brailleblaster/views/TextView.java =======================================--- /src/main/org/brailleblaster/abstractClasses/AbstractView.java Tue Sep 10 19:49:10 2013 UTC +++ /src/main/org/brailleblaster/abstractClasses/AbstractView.java Thu Sep 19 17:15:58 2013 UTC
@@ -32,6 +32,8 @@ import nu.xom.Node; import nu.xom.Text; +import org.brailleblaster.document.BBSemanticsTable.Styles; +import org.brailleblaster.document.BBSemanticsTable.StylesType; import org.brailleblaster.messages.Message; import org.brailleblaster.wordprocessor.DocumentManager; import org.eclipse.swt.*; @@ -322,6 +324,18 @@ view.setCaretOffset(originalPosition); setListenerLock(false); } + + protected void setFirstLineIndent(int start, Styles style){ + int margin = 0;+ int indentSpaces = Integer.valueOf((String)style.get(StylesType.firstLineIndent));
+ + if(style.contains(StylesType.leftMargin)){ + margin = Integer.valueOf((String)style.get(StylesType.leftMargin)); + indentSpaces = margin + indentSpaces; + } + int startLine = view.getLineAtOffset(start); + view.setLineIndent(startLine, 1, indentSpaces * charWidth); + } public void clearRange(int start, int length){ setListenerLock(true); @@ -336,7 +350,6 @@ protected boolean isText(Node n){ return (n instanceof Text); } - protected abstract void setViewData(Message message); public abstract void resetView(Group group); =======================================--- /src/main/org/brailleblaster/views/BrailleView.java Fri Sep 13 17:44:22 2013 UTC +++ /src/main/org/brailleblaster/views/BrailleView.java Thu Sep 19 17:15:58 2013 UTC
@@ -276,17 +276,8 @@ } break; case firstLineIndent:- if(isFirst && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin))){
- int margin = 0; - int spaces = Integer.valueOf(entry.getValue()); - - if(style.contains(StylesType.leftMargin)){ - margin = Integer.valueOf((String)style.get(StylesType.leftMargin)); - spaces = margin + spaces; - } -- view.setLineIndent(view.getLineAtOffset(spaceBeforeText + total) , 1, spaces * charWidth);
- }+ if(isFirst && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin)))
+ setFirstLineIndent(spaceBeforeText + total, style); break; case format:view.setLineAlignment(view.getLineAtOffset(spaceBeforeText + total + spaceAfterText), 1, Integer.valueOf(entry.getValue()));
@@ -296,7 +287,6 @@ break; case leftMargin: if(followsNewLine(n)){- //this.view.setLineIndent(this.view.getLineAtOffset(this.spaceBeforeText + this.total), 1, this.view.getLineIndent(this.view.getLineAtOffset(this.spaceBeforeText + this.total))+ (Integer.valueOf(entry.getValue()) * getFontWidth()));
if(isFirst && !style.contains(StylesType.firstLineIndent))view.setLineIndent(view.getLineAtOffset(spaceBeforeText + total), 1, (Integer.valueOf(entry.getValue()) * charWidth));
else if(!isFirst) @@ -392,16 +382,8 @@view.setLineAlignment(view.getLineAtOffset(currentStart), getLineNumber(currentStart, view.getTextRange(currentStart, (currentEnd - currentStart))), Integer.valueOf(entry.getValue()));
break; case firstLineIndent:- if(isFirst(t.brailleList.getFirst().n) && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin))){
- int margin = 0; - int indentSpaces = Integer.valueOf(entry.getValue()); - - if(style.contains(StylesType.leftMargin)){ - margin = Integer.valueOf((String)style.get(StylesType.leftMargin)); - indentSpaces = margin + indentSpaces; - }- view.setLineIndent(view.getLineAtOffset(currentStart), 1,indentSpaces * charWidth);
- }+ if(isFirst(t.brailleList.getFirst().n) && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin)))
+ setFirstLineIndent(currentStart, style); break; case leftMargin:if(isFirst(t.brailleList.getFirst().n) && style.contains(StylesType.firstLineIndent))
@@ -527,7 +509,7 @@ private boolean isFirstElement(Element child){ Element parent = (Element)child.getParent();- //while(!this.stylesTable.getKeyFromAttribute(parent).equals("para") && !this.stylesTable.getKeyFromAttribute(parent).equals("list")){
+ while(parent.getAttributeValue("semantics").contains("action")){ if(parent.indexOf(child) != 0) return false; @@ -599,7 +581,6 @@ if(t.brailleList.getFirst().start != -1){ setListenerLock(true); - int startLine = view.getLineAtOffset(t.brailleList.getFirst().start);view.replaceTextRange(t.brailleList.getFirst().start, total, insertionString); restoreStyleState(t.brailleList.getFirst().start, t.brailleList.getLast().end);
@@ -612,10 +593,9 @@handleLineWrap(t.brailleList.getFirst().start, insertionString, margin, style.contains(StylesType.firstLineIndent));
}- if(isFirst(t.brailleList.getFirst().n) && style.contains(StylesType.firstLineIndent)){ - int lineIndent = Integer.valueOf((String)style.get(StylesType.firstLineIndent));
- view.setLineIndent(startLine, 1, (margin + lineIndent) * charWidth); - }+ if(isFirst(t.brailleList.getFirst().n) && style.contains(StylesType.firstLineIndent))
+ setFirstLineIndent(t.brailleList.getFirst().start, style); + setListenerLock(false); } } @@ -759,8 +739,6 @@ view.insert(n.getValue());t.brailleList.add(new BrailleMapElement(start, start + n.getValue().length(), n));
- int startLine = view.getLineAtOffset(t.brailleList.getFirst().start); - //reset margin in case it is not appliedif(t.brailleList.getLast().start == view.getOffsetAtLine(view.getLineAtOffset(t.brailleList.getLast().start)))
handleLineWrap(t.brailleList.getLast().start, n.getValue(), 0, false); @@ -770,14 +748,11 @@handleLineWrap(t.brailleList.getLast().start, n.getValue(), margin, false);
} - if(isFirst(n) && style.contains(StylesType.firstLineIndent)){- int lineIndent = Integer.valueOf((String)style.get(StylesType.firstLineIndent));
- view.setLineIndent(startLine, 1, (margin + lineIndent) * charWidth); - } + if(isFirst(n) && style.contains(StylesType.firstLineIndent)) + setFirstLineIndent(t.brailleList.getFirst().start, style); if(style.contains(StylesType.format)){int lines = (view.getLineAtOffset(start + n.getValue().length()) - view.getLineAtOffset(start)) + 1;
-view.setLineAlignment(view.getLineAtOffset(start), lines, Integer.valueOf((String)style.get(StylesType.format)));
} =======================================--- /src/main/org/brailleblaster/views/TextView.java Fri Sep 13 17:44:22 2013 UTC +++ /src/main/org/brailleblaster/views/TextView.java Thu Sep 19 17:15:58 2013 UTC
@@ -478,10 +478,8 @@handleLineWrap(currentStart, reformattedText, margin, style.contains(StylesType.firstLineIndent));
} - if(isFirst(n) && style.contains(StylesType.firstLineIndent)){- int indent = Integer.valueOf((String)style.get(StylesType.firstLineIndent)); - view.setLineIndent(view.getLineAtOffset(currentStart), 1, (margin + indent) * charWidth);
- } + if(isFirst(n) && style.contains(StylesType.firstLineIndent)) + setFirstLineIndent(currentStart, style); if(style.contains(StylesType.Font)){setFontRange(currentStart, reformattedText.length(), Integer.valueOf((String)style.get(StylesType.Font)));
@@ -503,7 +501,6 @@ view.insert(reformattedText);list.add(listIndex, new TextMapElement(start, start + reformattedText.length(), n));
- int startLine = view.getLineAtOffset(start); int margin = 0; //reset margin in case it is not applied @@ -515,10 +512,8 @@handleLineWrap(start, reformattedText, margin, style.contains(StylesType.firstLineIndent));
} - if(isFirst(n) && style.contains(StylesType.firstLineIndent)){- int lineIndent = Integer.valueOf((String)style.get(StylesType.firstLineIndent));
- view.setLineIndent(startLine, 1, (margin + lineIndent) * charWidth); - } + if(isFirst(n) && style.contains(StylesType.firstLineIndent)) + setFirstLineIndent(start, style); if(style.contains(StylesType.format)){int lines = (view.getLineAtOffset(start + n.getValue().length()) - view.getLineAtOffset(start)) + 1;
@@ -628,17 +623,8 @@ } break; case firstLineIndent:- if(isFirst && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin))){
- int margin = 0; - int spaces = Integer.valueOf(entry.getValue()); - - if(style.contains(StylesType.leftMargin)){ - margin = Integer.valueOf((String)style.get(StylesType.leftMargin)); - spaces = margin + spaces; - } -- view.setLineIndent(view.getLineAtOffset(spaceBeforeText + total) , 1, spaces * charWidth);
- }+ if(isFirst && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin)))
+ setFirstLineIndent(spaceBeforeText + total, style); break; case format:view.setLineAlignment(view.getLineAtOffset(spaceBeforeText + total + spaceAfterText), getLineNumber(spaceBeforeText + total, viewText), Integer.valueOf(entry.getValue()));
@@ -903,7 +889,7 @@ private boolean isFirstElement(Element child){ Element parent = (Element)child.getParent();- //while(!this.stylesTable.getKeyFromAttribute(parent).equals("para") && !this.stylesTable.getKeyFromAttribute(parent).equals("list")){
+ while(parent.getAttributeValue("semantics").contains("action")){ if(parent.indexOf(child) != 0) return false; @@ -1140,17 +1126,8 @@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))){
- int margin = 0; - int indentSpaces = Integer.valueOf(entry.getValue()); - - if(style.contains(StylesType.leftMargin)){ - margin = Integer.valueOf((String)style.get(StylesType.leftMargin)); - indentSpaces = margin + indentSpaces; - } - startLine = view.getLineAtOffset(currentStart); - view.setLineIndent(startLine, 1, indentSpaces * charWidth); - }+ if(isFirst && (Integer.valueOf(entry.getValue()) > 0 || style.contains(StylesType.leftMargin)))
+ setFirstLineIndent(currentStart, style); break; case leftMargin: if(isFirst && style.contains(StylesType.firstLineIndent))