Revision: f554e0b41d96 Branch: rt1835-UndoRemoveElement Author: Brandon Roller<brandon.r.roller@xxxxxxxxx> Date: Fri Dec 12 17:44:51 2014 UTC Log: Refactored some code https://code.google.com/p/brailleblaster/source/detail?r=f554e0b41d96 Modified: /src/main/org/brailleblaster/perspectives/braille/mapping/maps/MapList.java/src/main/org/brailleblaster/perspectives/braille/stylers/BoxlineHandler.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/braille/views/wp/WPView.java =======================================--- /src/main/org/brailleblaster/perspectives/braille/mapping/maps/MapList.java Tue Dec 9 16:18:02 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/mapping/maps/MapList.java Fri Dec 12 17:44:51 2014 UTC
@@ -253,7 +253,7 @@ for (int i = 0; i < arr.length; i++) { try { - arr[i].join(); + arr[i].join(); } catch (InterruptedException e) { e.printStackTrace(); } =======================================--- /src/main/org/brailleblaster/perspectives/braille/stylers/BoxlineHandler.java Thu Dec 11 20:09:16 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/stylers/BoxlineHandler.java Fri Dec 12 17:44:51 2014 UTC
@@ -88,7 +88,7 @@ } if(!invalid){ - adjustStyle(itemList, message); + getBounds(itemList, message); createBoxline(parents, message, itemList); } else{ @@ -98,7 +98,7 @@ }private void removeSingleBoxLine(ArrayList<TextMapElement> itemList, Element parent, Message message){
- adjustStyle(itemList, message); + getBounds(itemList, message);TextMapElement box = list.findJoiningBoxline((BrlOnlyMapElement)itemList.get(0));
if(box != null){ if(list.indexOf(box) < list.indexOf(itemList.get(0))) @@ -163,7 +163,7 @@ }private void createMultipleBoxline(ArrayList<TextMapElement> itemList, ArrayList<Element> parents, Message message){
- adjustStyle(itemList, message); + getBounds(itemList, message); createBoxline(parents, message, itemList); } @@ -730,11 +730,11 @@ } /*** - * Adjust style of elements in the list base on previous and next element + * get bounds of elements in the list based on previous and next element * @param itemList : all selected items which we want style to be applied * @param message : passing information regarding styles */- private void adjustStyle(ArrayList<TextMapElement> itemList, Message message) { + private void getBounds(ArrayList<TextMapElement> itemList, Message message) {
int start = list.indexOf(itemList.get(0)); int end = list.indexOf(itemList.get(itemList.size() - 1)); @@ -756,19 +756,7 @@ message.put("brailleNext", -1); } - text.adjustStyle(message, itemList); - braille.adjustStyle(message, itemList); - - if (message.contains("linesBeforeOffset")) - list.shiftOffsetsFromIndex(start, - (Integer) message.getValue("linesBeforeOffset"), - (Integer) message.getValue("linesBeforeOffset")); - if (message.contains("linesAfterOffset") && list.size() > 1 - && end < list.size() - 1) - list.shiftOffsetsFromIndex(end + 1, - (Integer) message.getValue("linesAfterOffset"), - (Integer) message.getValue("linesAfterOffset")); - - treeView.adjustItemStyle(list.getCurrent()); + text.getBounds(message, itemList); + braille.getBounds(message, itemList); } } =======================================--- /src/main/org/brailleblaster/perspectives/braille/views/wp/BrailleView.java Thu Dec 4 16:29:20 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/BrailleView.java Fri Dec 12 17:44:51 2014 UTC
@@ -409,82 +409,82 @@ int length = 0; int spaces = 0; int offset = 0; - m.put("start", start); - m.put("end", end); - m.put("braillePrev", getPrev(m)); - m.put("brailleNext", getNext(m)); - m.put("offset", offset); + getBounds(m, list); String textBefore = ""; Styles style = (Styles)m.getValue("Style"); Styles previousStyle = (Styles)m.getValue("previousStyle"); - boolean boxline = style.getName().equals("boxline"); - if(!boxline){ - setListenerLock(true);- view.setLineIndent(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), 0); - view.setLineAlignment(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), SWT.LEFT);
+ setListenerLock(true);+ view.setLineIndent(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), 0); + view.setLineAlignment(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), SWT.LEFT);
- if(!style.contains(StylesType.linesBefore) && previousStyle.contains(StylesType.linesBefore))
- removeLinesBefore(m);+ if(!style.contains(StylesType.linesBefore) && previousStyle.contains(StylesType.linesBefore))
+ removeLinesBefore(m);- if(!style.contains(StylesType.linesAfter) && previousStyle.contains(StylesType.linesAfter))
- removeLinesAfter(m); - }+ if(!style.contains(StylesType.linesAfter) && previousStyle.contains(StylesType.linesAfter))
+ removeLinesAfter(m); + start = (Integer)m.getValue("start"); end = (Integer)m.getValue("end"); int prev = (Integer)m.getValue("braillePrev"); int next = (Integer)m.getValue("brailleNext"); - if(!boxline){ - for (Entry<StylesType, Object> entry : style.getEntrySet()) { - switch(entry.getKey()){ - case linesBefore: - if(start != prev){ - view.replaceTextRange(prev, (start - prev), ""); - length = start - prev; - } + for (Entry<StylesType, Object> entry : style.getEntrySet()) { + switch(entry.getKey()){ + case linesBefore: + if(start != prev){ + view.replaceTextRange(prev, (start - prev), ""); + length = start - prev; + } - spaces = Integer.valueOf((String)entry.getValue()); - textBefore = makeInsertionString(spaces,'\n'); - offset = spaces - length; + spaces = Integer.valueOf((String)entry.getValue()); + textBefore = makeInsertionString(spaces,'\n'); + offset = spaces - length; - insertBefore(start - (start - prev), textBefore); - start += offset; - end += offset; - if(next != -1) - next += offset; - break; - case linesAfter: - length = 0; - if(end != next && next != 0){ - view.replaceTextRange(end, (next - end), ""); - length = next - end; - } - spaces = Integer.valueOf((String)entry.getValue()); - textBefore = makeInsertionString(spaces,'\n'); - insertBefore(end, textBefore); - offset = spaces - length; - break; - case format: - setAlignment(start, end, style); - break; - case firstLineIndent:- if(Integer.valueOf((String)entry.getValue()) > 0 || style.contains(StylesType.leftMargin))
- setFirstLineIndent(start, style); - break; - case leftMargin: - if(style.contains(StylesType.firstLineIndent))- handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), true);
- else- handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), false);
- break; - default: - break; - } + insertBefore(start - (start - prev), textBefore); + start += offset; + end += offset; + if(next != -1) + next += offset; + break; + case linesAfter: + length = 0; + if(end != next && next != 0){ + view.replaceTextRange(end, (next - end), ""); + length = next - end; + } + spaces = Integer.valueOf((String)entry.getValue()); + textBefore = makeInsertionString(spaces,'\n'); + insertBefore(end, textBefore); + offset = spaces - length; + break; + case format: + setAlignment(start, end, style); + break; + case firstLineIndent:+ if(Integer.valueOf((String)entry.getValue()) > 0 || style.contains(StylesType.leftMargin))
+ setFirstLineIndent(start, style); + break; + case leftMargin: + if(style.contains(StylesType.firstLineIndent))+ handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), true);
+ else+ handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), false);
+ break; + default: + break; } - setListenerLock(false); } + setListenerLock(false); + } + + public void getBounds(Message m, ArrayList<TextMapElement>list){ + m.put("start", list.get(0).brailleList.getFirst().start); + m.put("end", list.get(list.size() - 1).brailleList.getLast().end); + m.put("braillePrev", getPrev(m)); + m.put("brailleNext", getNext(m)); + m.put("offset", 0); } private int getPrev(Message m){ =======================================--- /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Thu Dec 11 20:08:01 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Fri Dec 12 17:44:51 2014 UTC
@@ -1547,31 +1547,24 @@ int end = list.get(list.size() - 1).end; int length = 0; int spaces = 0; - m.put("start", list.get(0).start); - m.put("end", list.get(list.size() - 1).end); - m.put("prev", getPrev(m)); - m.put("next", getNext(m)); - m.put("offset", 0); + getBounds(m, list); String textBefore = "";//Get previous style for comparison on adding or removing lines before or after
Styles style = (Styles)m.getValue("Style"); Styles previousStyle = (Styles)m.getValue("previousStyle"); - boolean boxline = (Boolean)m.getValue("isBoxline"); setListenerLock(true); //Reset indent, alignment, and emphasis - if(!boxline){- view.setLineIndent(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), 0); - view.setLineAlignment(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), SWT.LEFT);
- setFontStyleRange(start, end - start, new StyleRange());+ view.setLineIndent(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), 0); + view.setLineAlignment(view.getLineAtOffset(start), getLineNumber(start, view.getTextRange(start, (end - start))), SWT.LEFT);
+ setFontStyleRange(start, end - start, new StyleRange());- if(!style.contains(StylesType.linesBefore) && previousStyle.contains(StylesType.linesBefore))
- removeLinesBefore(m);+ if(!style.contains(StylesType.linesBefore) && previousStyle.contains(StylesType.linesBefore))
+ removeLinesBefore(m);- if(!style.contains(StylesType.linesAfter) && previousStyle.contains(StylesType.linesAfter))
- removeLinesAfter(m); - }+ if(!style.contains(StylesType.linesAfter) && previousStyle.contains(StylesType.linesAfter))
+ removeLinesAfter(m); start = (Integer)m.getValue("start"); end = (Integer)m.getValue("end"); @@ -1579,70 +1572,76 @@ int next = (Integer)m.getValue("next"); view.setSelection(selectionStart); - if(!boxline){ - for (Entry<StylesType, Object> entry : style.getEntrySet()) { - switch(entry.getKey()){ - case linesBefore: - int linesBeforeOffset; - if(start != prev){ - view.replaceTextRange(prev, (start - prev), ""); - length = start - prev; - } - spaces = Integer.valueOf((String)entry.getValue()); + for (Entry<StylesType, Object> entry : style.getEntrySet()) { + switch(entry.getKey()){ + case linesBefore: + int linesBeforeOffset; + if(start != prev){ + view.replaceTextRange(prev, (start - prev), ""); + length = start - prev; + } + spaces = Integer.valueOf((String)entry.getValue()); - textBefore = makeInsertionString(spaces,'\n'); - linesBeforeOffset = spaces - length; + textBefore = makeInsertionString(spaces,'\n'); + linesBeforeOffset = spaces - length; - insertBefore(start - (start - prev), textBefore); - m.put("linesBeforeOffset", linesBeforeOffset); - start += linesBeforeOffset; - end += linesBeforeOffset; - if(next != -1) - next += linesBeforeOffset; - break; - case linesAfter: - length = 0; - int linesAfterOffset; - if(end != next && next != 0){ - view.replaceTextRange(end, (next - end), ""); - length = next - end; - } + insertBefore(start - (start - prev), textBefore); + m.put("linesBeforeOffset", linesBeforeOffset); + start += linesBeforeOffset; + end += linesBeforeOffset; + if(next != -1) + next += linesBeforeOffset; + break; + case linesAfter: + length = 0; + int linesAfterOffset; + if(end != next && next != 0){ + view.replaceTextRange(end, (next - end), ""); + length = next - end; + } - spaces = Integer.valueOf((String)entry.getValue()); - textBefore = makeInsertionString(spaces,'\n'); - insertBefore(end, textBefore); - linesAfterOffset = spaces - length; - m.put("linesAfterOffset", linesAfterOffset); - break; - case format: - setAlignment(start, end, style); - break; - case firstLineIndent:- if(Integer.valueOf((String)entry.getValue()) > 0 || style.contains(StylesType.leftMargin))
- setFirstLineIndent(start, style); - break; - case leftMargin: - if(style.contains(StylesType.firstLineIndent))- handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), true);
- else- handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), false);
- break; - default: - break; - } + spaces = Integer.valueOf((String)entry.getValue()); + textBefore = makeInsertionString(spaces,'\n'); + insertBefore(end, textBefore); + linesAfterOffset = spaces - length; + m.put("linesAfterOffset", linesAfterOffset); + break; + case format: + setAlignment(start, end, style); + break; + case firstLineIndent:+ if(Integer.valueOf((String)entry.getValue()) > 0 || style.contains(StylesType.leftMargin))
+ setFirstLineIndent(start, style); + break; + case leftMargin: + if(style.contains(StylesType.firstLineIndent))+ handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), true);
+ else+ handleLineWrap(start, view.getTextRange(start, (end - start)), Integer.valueOf((String)entry.getValue()), false);
+ break; + default: + break; + } - int offset = (Integer)m.getValue("offset"); + int offset = (Integer)m.getValue("offset");- //inline elements may have different emphasis, so all must be check seperately
- for(int i = 0; i < list.size(); i++){- Styles nodeStyle = stylesTable.makeStylesElement(list.get(i).parentElement(), list.get(i).n);
- if(nodeStyle.contains(StylesType.emphasis))- setFontStyleRange(list.get(i).start + offset, (list.get(i).end + offset) - (list.get(i).start + offset), (StyleRange)nodeStyle.get(StylesType.emphasis));
- }+ //inline elements may have different emphasis, so all must be check seperately
+ for(int i = 0; i < list.size(); i++){+ Styles nodeStyle = stylesTable.makeStylesElement(list.get(i).parentElement(), list.get(i).n);
+ if(nodeStyle.contains(StylesType.emphasis))+ setFontStyleRange(list.get(i).start + offset, (list.get(i).end + offset) - (list.get(i).start + offset), (StyleRange)nodeStyle.get(StylesType.emphasis));
} } setListenerLock(false); } + + public void getBounds(Message m, ArrayList<TextMapElement>list){ + m.put("start", list.get(0).start); + m.put("end", list.get(list.size() - 1).end); + m.put("prev", getPrev(m)); + m.put("next", getNext(m)); + m.put("offset", 0); + } //private helper method used by adjust style//finds the point from which to remove any excess spacing before applying lines before
=======================================--- /src/main/org/brailleblaster/perspectives/braille/views/wp/WPView.java Thu Dec 4 16:29:20 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/WPView.java Fri Dec 12 17:44:51 2014 UTC
@@ -1,5 +1,7 @@ package org.brailleblaster.perspectives.braille.views.wp; +import java.util.ArrayList; + import nu.xom.Element; import org.brailleblaster.abstractClasses.AbstractView; @@ -9,6 +11,7 @@import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.Styles; import org.brailleblaster.perspectives.braille.document.BBSemanticsTable.StylesType; 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; import org.eclipse.swt.SWT; @@ -51,9 +54,12 @@ } public abstract void addPageNumber(PageMapElement p, boolean insert); + public abstract void getBounds(Message m, ArrayList<TextMapElement>list); + @Override protected abstract void setViewData(Message message); + /** finds Char width used to determine indent value * @return width of braille cell */