[brailleblaster] push by brandon....@xxxxxxxxx - Added insert transcriber note; from text view only on 2014-01-27 18:35 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Mon, 27 Jan 2014 18:35:42 +0000

Revision: 9de221b72ac9
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Mon Jan 27 18:34:22 2014 UTC
Log:      Added insert transcriber note; from text view only
http://code.google.com/p/brailleblaster/source/detail?r=9de221b72ac9

Modified:
 /dist/programData/lang/i18n_en_US.properties
 /src/main/org/brailleblaster/perspectives/braille/Manager.java
/src/main/org/brailleblaster/perspectives/braille/document/BrailleDocument.java
 /src/main/org/brailleblaster/perspectives/braille/ui/BrailleMenu.java
 /src/main/org/brailleblaster/perspectives/braille/views/tree/BBTree.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/TextView.java
 /src/main/org/brailleblaster/perspectives/braille/views/wp/WPView.java

=======================================
--- /dist/programData/lang/i18n_en_US.properties Fri Jan 24 20:25:51 2014 UTC +++ /dist/programData/lang/i18n_en_US.properties Mon Jan 27 18:34:22 2014 UTC
@@ -69,6 +69,7 @@
 Refresh&Translation=Refresh &Translation\tF5
 &BackTranslate=&Back Translate
 &TranslationTemplates=Translation Tem&plates
+transcriberNote = Insert Transcriber &Note
 #
 &InLineMath=&Inline Math
 &DisplayedMath=&Displayed Math
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/Manager.java Fri Jan 24 16:18:54 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/Manager.java Mon Jan 27 18:34:22 2014 UTC
@@ -46,6 +46,7 @@

 import javax.print.PrintException;

+import nu.xom.Attribute;
 import nu.xom.Document;
 import nu.xom.Element;
 import nu.xom.Node;
@@ -63,6 +64,7 @@
 import org.brailleblaster.perspectives.braille.document.BrailleDocument;
 import org.brailleblaster.perspectives.braille.mapping.MapList;
 import org.brailleblaster.perspectives.braille.mapping.TextMapElement;
+import org.brailleblaster.perspectives.braille.messages.BBEvent;
 import org.brailleblaster.perspectives.braille.messages.Message;
import org.brailleblaster.perspectives.braille.spellcheck.SpellCheckManager;
 import org.brailleblaster.perspectives.braille.stylepanel.StyleManager;
@@ -721,7 +723,7 @@
treeView.split(Message.createSplitTreeMessage(firstElementIndex, secondElementIndex, currentIndex, treeIndex));
        }

- public int insertElement(Element e, int index, int start, int brailleStart){ + private int insertElement(Element e, int index, int start, int brailleStart){
                int count = e.getChildCount();
                int currentIndex = index;
                int currentStart = start;
@@ -777,7 +779,7 @@
                else
braille.insertLineBreak(list.getCurrent().brailleList.getFirst().start - 1);

-               treeView.newTreeItem(list.get(list.getCurrentIndex()), index);
+               treeView.newTreeItem(list.get(list.getCurrentIndex()), index, 
0);
        }

        private void insertElementAtEnd(Message m){
@@ -792,7 +794,23 @@
                m.put("brailleLength", 0);

                
braille.insertLineBreak(list.getCurrent().brailleList.getLast().end);
-               treeView.newTreeItem(list.get(list.getCurrentIndex() + 1), 
index + 1);
+               treeView.newTreeItem(list.get(list.getCurrentIndex() + 1), 
index, 1);
+       }
+
+       public void insertTranscriberNote(){
+               text.update(this, false);
+
+ ArrayList<Integer>posList = list.findTextMapElementRange(list.getCurrentIndex(), (Element)list.getCurrent().n.getParent(), true);
+
+               text.insertNewNode(this, list.get(posList.get(posList.size() - 
1)).end);
+
+               Element e = list.getCurrent().parentElement();
+               e.addAttribute(new Attribute("class", "trNote"));
+
+               Message styleMessage =  new Message(BBEvent.UPDATE_STYLE);
+               Styles style = styles.get("trnote");
+               styleMessage.put("Style", style);
+               dispatch(styleMessage);
        }

        private void handleRemoveNode(Message message){
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/document/BrailleDocument.java Tue Jan 14 16:25:50 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/document/BrailleDocument.java Mon Jan 27 18:34:22 2014 UTC
@@ -87,8 +87,21 @@
                Element p = makeElement("p", "semantics", "style,para");
                p.appendChild(new Text(""));

-               Element parent = (Element)current.parentElement().getParent();
-               int nodeIndex = parent.indexOf(current.parentElement());
+               Element parent = current.parentElement();
+               int nodeIndex = 0;
+               if(table.getSemanticTypeFromAttribute(parent).equals("style")){
+                       parent = (Element)parent.getParent();
+                       nodeIndex = parent.indexOf(current.parentElement());
+               }
+               else {
+                       
while(table.getSemanticTypeFromAttribute(parent).equals("action")){
+                               nodeIndex = parent.getParent().indexOf(parent);
+                               parent = (Element)parent.getParent();
+                       }
+                       nodeIndex = parent.getParent().indexOf(parent);
+                       parent = (Element)parent.getParent();
+               }
+
                parent.insertChild(p, nodeIndex + 1);

list.add(index, new TextMapElement(textOffset, textOffset, p.getChild(0)));
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/ui/BrailleMenu.java Fri Jan 24 20:25:51 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/ui/BrailleMenu.java Mon Jan 27 18:34:22 2014 UTC
@@ -71,6 +71,7 @@
        MenuItem inLineGraphicItem;
        MenuItem displayedGraphicItem;
        MenuItem tableItem;
+       MenuItem insertTRItem;
        MenuItem brlFormatItem;
        MenuItem showTranslationTemplatesItem;
        MenuItem showFormatTemplatesItem;
@@ -89,7 +90,7 @@
                translateItem.setText(lh.localValue("&Braille"));
                MenuItem insertItem = new MenuItem(menuBar, SWT.CASCADE, 5);
                insertItem.setText(lh.localValue("&Insert"));
-               insertItem.setEnabled(false); /* FO */
+               //insertItem.setEnabled(false); /* FO */

                MenuItem advancedItem = new MenuItem(menuBar, SWT.CASCADE, 6);
                advancedItem.setText(lh.localValue("&Advanced"));
@@ -555,8 +556,7 @@
                xmlTreeItem.addSelectionListener(new SelectionListener(){
                        @Override
                        public void widgetDefaultSelected(SelectionEvent arg0) {
-                               // TODO Auto-generated method stub
-
+                               // TODO Auto-generated method stub
                        }

                        @Override
@@ -575,8 +575,7 @@
                bookTreeItem.addSelectionListener(new SelectionListener(){
                        @Override
                        public void widgetDefaultSelected(SelectionEvent arg0) {
-                               // TODO Auto-generated method stub
-
+                               // TODO Auto-generated method stub
                        }

                        @Override
@@ -685,8 +684,7 @@
                        @Override
                        public void widgetSelected(SelectionEvent e) {
                                        int count = 
wp.getFolder().getItemCount();
-                               //if(index != -1)
-                                       //wp.getList().get(index).refresh();
+
                                        if(count > 0)
                                                currentEditor.refresh();
                                }
@@ -712,6 +710,15 @@

                        // Set up insert menu
                        Menu insertMenu = new Menu(wp.getShell(), 
SWT.DROP_DOWN);
+                       insertTRItem = new MenuItem(insertMenu, SWT.PUSH);
+                       insertTRItem.setText(lh.localValue("transcriberNote"));
+                       insertTRItem.addSelectionListener(new 
SelectionAdapter(){
+                               @Override
+                               public void widgetSelected(SelectionEvent e) {
+                                       currentEditor.insertTranscriberNote();
+                               }
+                       });
+                       /*
                        inLineMathItem = new MenuItem(insertMenu, SWT.PUSH);
                        inLineMathItem.setText(lh.localValue("&InLineMath"));
                        inLineMathItem.addSelectionListener(new 
SelectionAdapter() {
@@ -752,6 +759,7 @@
                                        //dm.placeholder();
                                }
                        });
+                       */
                        insertItem.setMenu(insertMenu);

                        // Set up advanced menu
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/BBTree.java Fri Jan 17 15:13:46 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/BBTree.java Mon Jan 27 18:34:22 2014 UTC
@@ -12,7 +12,7 @@
 public interface BBTree extends BBView {
        public void setRoot(Element e);
        public TreeItem getRoot();
-       public void newTreeItem(TextMapElement t, int index);
+       public void newTreeItem(TextMapElement t, int index, int offset);
        public void removeCurrent();
        public void removeItem(TextMapElement t, Message m);
        public void removeMathML(TextMapElement t);
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java Fri Jan 17 15:13:46 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java Mon Jan 27 18:34:22 2014 UTC
@@ -232,13 +232,13 @@
        }

        @Override
-       public void newTreeItem(TextMapElement t, int index) {
+       public void newTreeItem(TextMapElement t, int index, int offset) {
                if(isHeading(t)){
                        TreeItem temp;
                        if(lastParent != null)
-                               temp = new TreeItem(lastParent, SWT.None, 
index);
+                               temp = new TreeItem(lastParent, SWT.None, index 
+ offset);
                        else
-                               temp = new TreeItem(root, SWT.None, index);
+                               temp = new TreeItem(root, SWT.None, index + 
offset);

                        temp.setText(t.getText());
                        temp.setData(new TreeItemData(t.parentElement(), 
manager.indexOf(t)));
@@ -481,7 +481,7 @@
                int treeIndex = (Integer)m.getValue("treeIndex");

                if(isHeading(manager.getTextMapElement(firstElementIndex)))
-                       
newTreeItem(manager.getTextMapElement(firstElementIndex), treeIndex);
+                       
newTreeItem(manager.getTextMapElement(firstElementIndex), treeIndex, 0);

                if(isHeading(manager.getTextMapElement(secondElementIndex))){
                        if(!item.equals(root)){
@@ -489,7 +489,7 @@
item.setData(new TreeItemData(manager.getTextMapElement(secondElementIndex).parentElement(), manager.indexOf(manager.getTextMapElement(secondElementIndex))));
                        }
                        else {
- newTreeItem(manager.getTextMapElement(secondElementIndex), treeIndex + 1); + newTreeItem(manager.getTextMapElement(secondElementIndex), treeIndex, 1);
                        }
                }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/XMLTree.java Fri Jan 17 15:13:46 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/XMLTree.java Mon Jan 27 18:34:22 2014 UTC
@@ -204,14 +204,14 @@
                return temp;
        }

-       public void newTreeItem(TextMapElement t, int index){
+       public void newTreeItem(TextMapElement t, int index, int offset){
                Element parentElement = (Element)t.n.getParent();
                
while(parentElement.getAttributeValue("semantics").contains("action")){
                        parentElement = (Element)parentElement.getParent();
                }

TreeItem parent = findElementInTree(root, (Element)parentElement.getParent());
-               TreeItem newItem = newTreeItem(parentElement, parent, index);
+               TreeItem newItem = newTreeItem(parentElement, parent, index + 
offset);
                TreeItemData data = new TreeItemData(parentElement);

                if(parentElement.equals(t.n.getParent()))
@@ -220,14 +220,14 @@
                newItem.setData(data);
        }

-       public void newTreeItem(ArrayList<TextMapElement>list, int index){
+ public void newTreeItem(ArrayList<TextMapElement>list, int index, int offset){
                Element parentElement = (Element)list.get(0).n.getParent();
                
while(parentElement.getAttributeValue("semantics").contains("action")){
                        parentElement = (Element)parentElement.getParent();
                }

TreeItem parent = findElementInTree(root, (Element)parentElement.getParent());
-               TreeItem newItem = newTreeItem(parentElement, parent, index);
+               TreeItem newItem = newTreeItem(parentElement, parent, index + 
offset);
                TreeItemData data = new TreeItemData(parentElement);

                for(int i = 0; i < list.size(); i++){
@@ -574,7 +574,16 @@

        public int getSelectionIndex(){
                TreeItem parent = tree.getSelection()[0].getParentItem();
-               return parent.indexOf(tree.getSelection()[0]);
+               TreeItem item = tree.getSelection()[0];
+
+               TreeItemData data = (TreeItemData)item.getData();
+ while(manager.getStyleTable().getSemanticTypeFromAttribute(data.element).equals("action")){
+                       item = parent;
+                       parent = parent.getParentItem();
+                       data = (TreeItemData)item.getData();
+               }
+
+               return parent.indexOf(item);
        }

        public void clearTree(){
@@ -599,11 +608,11 @@
                int secondElementIndex = 
(Integer)m.getValue("secondElementIndex");

                removeCurrent();
-               addTreeItems(firstElementIndex, currentIndex - 1, treeIndex);
-               addTreeItems(secondElementIndex, currentIndex,treeIndex + 1);
+               addTreeItems(firstElementIndex, currentIndex - 1, treeIndex, 0);
+               addTreeItems(secondElementIndex, currentIndex,treeIndex, 1);
        }

-       private void addTreeItems(int start, int end, int treeIndex){
+       private void addTreeItems(int start, int end, int treeIndex, int 
offset){
Element parent = manager.getDocument().getParent(manager.getTextMapElement(start).n, true);
                ArrayList<TextMapElement> elementList = new 
ArrayList<TextMapElement>();

@@ -614,10 +623,10 @@
                }

                if(elementList.size() > 0){
-                       newTreeItem(elementList, treeIndex);
+                       newTreeItem(elementList, treeIndex, offset);
                }
                else {
-                       newTreeItem(manager.getTextMapElement(start), 
treeIndex);
+                       newTreeItem(manager.getTextMapElement(start), 
treeIndex, offset);
                }
        }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Tue Jan 14 17:45:10 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/TextView.java Mon Jan 27 18:34:22 2014 UTC
@@ -147,26 +147,13 @@

                                        if(atEnd) {
                                                Message m = 
Message.createInsertNodeMessage(false, false, true);
-                                               m.put("length", originalEnd - 
originalStart);
-                                               dm.dispatch(m);
-                                               setListenerLock(true);
-                                               view.setCaretOffset(currentEnd);
-                                               view.insert("\n");
-                                               
view.setCaretOffset(view.getCaretOffset() + 1);
-                                               setListenerLock(false);
-                                               e.doit = false;
-                                               setCurrent(dm);
+                                               insertNewNode(dm, m, 
currentEnd);
+                                               e.doit = false;
                                        }
                                        else if(atStart){
                                                Message m = 
Message.createInsertNodeMessage(false, true, false);
-                                               m.put("length", originalEnd - 
originalStart);
-                                               dm.dispatch(m);
-                                               setListenerLock(true);
-                                               view.insert("\n");
-                                               
view.setCaretOffset(view.getCaretOffset() + 1);
-                                               setListenerLock(false);
+                                               insertNewNode(dm, m, null);
                                                e.doit = false;
-                                               setCurrent(dm);
                                        }
                                        else {
                                                Message m;
@@ -1405,6 +1392,40 @@
                setListenerLock(false);
        }

+       public void insertNewNode(Manager manager, int pos){
+               Message m = Message.createInsertNodeMessage(false, false, true);
+
+               if(pos > currentEnd){
+                       view.setCaretOffset(pos);
+                       setCurrent(manager);
+               }
+
+               insertNewNode(manager, m, pos);
+       }
+
+ //Calls manager to insert a node or element in the DOM and updates the view
+       //Used when inserting new paragraphs or transcriber notes
+       private void insertNewNode(Manager dm, Message m, Integer pos){
+               m.put("length", originalEnd - originalStart);
+               dm.dispatch(m);
+               setListenerLock(true);
+
+               if(pos != null)
+                       view.setCaretOffset(pos);
+
+               view.insert("\n");
+               view.setCaretOffset(view.getCaretOffset() + 1);
+
+               if(view.getCharCount() != view.getCaretOffset()){
+                       StyleRange range = 
view.getStyleRangeAtOffset(view.getCaretOffset());
+                       if(range != null)
+                               resetStyleRange(range);
+               }
+
+               setListenerLock(false);
+               setCurrent(dm);
+       }
+
        @Override
        public void resetView(Group group) {
                setListenerLock(true);
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/wp/WPView.java Tue Jan 14 17:45:10 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/wp/WPView.java Mon Jan 27 18:34:22 2014 UTC
@@ -47,7 +47,8 @@

                return insertionString;
        }
-
+
+       //sets range and applies given form of emphasis
        protected void setFontRange(int start, int length, int style){
                StyleRange styleRange = new StyleRange();
                styleRange.start = start;
@@ -62,11 +63,21 @@
                view.setStyleRange(styleRange);
        }

+       //lengthens or shortens style range
        protected void updateRange(StyleRange style, int start, int length){
                style.start = start;
                style.length = length;
                view.setStyleRange(style);
        }
+
+       //reverts range to plain text
+       protected void resetStyleRange(StyleRange range){
+ if(range.fontStyle != SWT.NORMAL || (range.fontStyle == SWT.NORMAL && range.underline == true)){
+                       range.fontStyle = SWT.NORMAL;
+                       range.underline = false;
+               }
+               view.setStyleRange(range);
+       }

        protected int[] getIndexArray(Element e){
                int[] indexArray;

Other related posts:

  • » [brailleblaster] push by brandon....@xxxxxxxxx - Added insert transcriber note; from text view only on 2014-01-27 18:35 GMT - brailleblaster