[brailleblaster] push by brandon....@xxxxxxxxx - Fixed bug when disposing of tree on 2014-01-15 14:28 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 15 Jan 2014 14:28:23 +0000

Revision: 5432bc6226a4
Branch:   default
Author:   Brandon Roller <brandon.r.roller@xxxxxxxxx>
Date:     Wed Jan 15 14:26:58 2014 UTC
Log:      Fixed bug when disposing of tree
http://code.google.com/p/brailleblaster/source/detail?r=5432bc6226a4

Modified:
 /src/main/org/brailleblaster/perspectives/braille/Manager.java
 /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java
 /src/main/org/brailleblaster/perspectives/braille/views/tree/TreeView.java

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/Manager.java Tue Jan 14 18:59:19 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/Manager.java Wed Jan 15 14:26:58 2014 UTC
@@ -1361,15 +1361,25 @@
        }

        public void swapTree(Class<?> clss){
+               boolean focused = false;
                try {
+                       if(treeView.getTree().isFocusControl())
+                               focused = true;
+
Constructor<?> constructor = clss.getConstructor(new Class[]{Manager.class, Group.class});
+                       treeView.removeListeners();
                        treeView.dispose();
                        treeView = (BBTree)constructor.newInstance(this, group);
                        setTabList();
                        treeView.setRoot(document.getRootElement());
+                       if(focused)
+                               treeView.getTree().setFocus();
+
+                       treeView.setSelection(list.getCurrent(), new 
Message(null));
                        treeView.getView().getParent().layout();
                        treeView.initializeListeners(this);
                        saveTree();
+
                } catch (NoSuchMethodException e) {
                        e.printStackTrace();
                } catch (SecurityException e) {
=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java Tue Jan 14 17:57:01 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/BookTree.java Wed Jan 15 14:26:58 2014 UTC
@@ -67,8 +67,6 @@
Message m = Message.createSetCurrentMessage("tree", data.element.start, false);
                                                setCursorOffset(0);
                                                dm.dispatch(m);
-
- System.out.println(getStartRange(tree.getSelection()[0]) + " " + getEndRange(tree.getSelection()[0]));
                                        }
                                }
                        }
@@ -86,8 +84,7 @@
                                        Message cursorMessage = 
Message.createUpdateCursorsMessage("tree");
                                        dm.dispatch(cursorMessage);
                                }
-                       }
-
+                       }
                });
        }

=======================================
--- /src/main/org/brailleblaster/perspectives/braille/views/tree/TreeView.java Tue Jan 14 17:45:10 2014 UTC +++ /src/main/org/brailleblaster/perspectives/braille/views/tree/TreeView.java Wed Jan 15 14:26:58 2014 UTC
@@ -21,7 +21,7 @@
        private Group group;

        protected Manager manager;
-
+       private FocusListener focusListener;
        public TreeView(final Manager dm, Group documentWindow){
super(documentWindow, LEFT_MARGIN, RIGHT_MARGIN, TOP_MARGIN, BOTTOM_MARGIN);
                this.group = documentWindow;
@@ -32,7 +32,7 @@
                view.getVerticalBar().dispose();
                view.getHorizontalBar().dispose();

-               view.addFocusListener(new FocusListener(){
+               view.addFocusListener(focusListener = new FocusListener(){
                        @Override
                        public void focusGained(FocusEvent e) {
                                tree.setFocus();
@@ -59,6 +59,7 @@
        }

        public void dispose(){
+               view.removeFocusListener(focusListener);
                tree.removeAll();
                tree.dispose();
                view.dispose();

Other related posts:

  • » [brailleblaster] push by brandon....@xxxxxxxxx - Fixed bug when disposing of tree on 2014-01-15 14:28 GMT - brailleblaster