(CaretEvent e)
| 161 | // ); |
| 162 | CaretListener caretListenerLabel = new CaretListener() { |
| 163 | @Override |
| 164 | public void caretUpdate(CaretEvent e) { |
| 165 | int depth = updateDepth.incrementAndGet(); |
| 166 | try { |
| 167 | if ( depth!=1 ) { |
| 168 | return; |
| 169 | } |
| 170 | |
| 171 | int dot = toEventPosition((JTextComponent)e.getSource(), e.getDot()); |
| 172 | currentEvent = findEventAtOutputLocation(allEvents, dot); |
| 173 | if ( currentEvent==null ) currentScope = tmodel.root.event.scope; |
| 174 | else currentScope = currentEvent.scope; |
| 175 | |
| 176 | // update tree view of template hierarchy |
| 177 | // compute path from root to currentST, create TreePath for tree widget |
| 178 | List<EvalTemplateEvent> stack = Interpreter.getEvalTemplateEventStack(currentScope, true); |
| 179 | //System.out.println("\nselect path="+stack); |
| 180 | Object[] path = new Object[stack.size()]; |
| 181 | int j = 0; |
| 182 | for (EvalTemplateEvent s : stack) { |
| 183 | path[j++] = new JTreeSTModel.Wrapper(s); |
| 184 | } |
| 185 | TreePath p = new TreePath(path); |
| 186 | viewFrame.tree.setSelectionPath(p); |
| 187 | viewFrame.tree.scrollPathToVisible(p); |
| 188 | updateCurrentST(viewFrame); |
| 189 | } |
| 190 | finally { |
| 191 | updateDepth.decrementAndGet(); |
| 192 | } |
| 193 | } |
| 194 | }; |
| 195 | viewFrame.output.addCaretListener(caretListenerLabel); |
| 196 |
nothing calls this directly
no test coverage detected