1 package org.antlr.works.debugger.panels; 2 3 import org.antlr.runtime.Token; 4 import org.antlr.works.awtree.AWTreePanel; 5 import org.antlr.works.awtree.AWTreePanelDelegate; 6 import org.antlr.works.debugger.Debugger; 7 import org.antlr.works.debugger.input.DBInputProcessor; 8 import org.antlr.works.debugger.input.DBInputProcessorTree; 9 import org.antlr.works.debugger.input.DBInputTextTokenInfo; 10 11 import javax.swing.*; 12 import javax.swing.tree.DefaultTreeModel ; 13 import javax.swing.tree.TreeNode ; 14 44 45 public class DBInputTreePanel implements DBInputConcretePanel, AWTreePanelDelegate { 46 47 public Debugger debugger; 48 49 public AWTreePanel treePanel; 50 public DBInputProcessorTree processorTree; 51 52 public DBInputTreePanel(Debugger debugger) { 53 this.debugger = debugger; 54 55 treePanel = new AWTreePanel(new DefaultTreeModel (null)); 56 treePanel.setRootVisible(true); 57 treePanel.setDelegate(this); 58 59 processorTree = new DBInputProcessorTree(treePanel, debugger); 60 } 61 62 public void close() { 63 processorTree.close(); 64 } 65 66 public void stop() { 67 } 68 69 public JComponent getComponent() { 70 return treePanel; 71 } 72 73 public DBInputProcessor getInputProcessor() { 74 return processorTree; 75 } 76 77 public void toggleInputTextTokensBox() { 78 79 } 80 81 public boolean isInputTokensBoxVisible() { 82 return false; 83 } 84 85 public boolean isBreakpointAtToken(Token token) { 86 return processorTree.isBreakpointAtToken(token); 87 } 88 89 public void selectToken(Token token) { 90 91 } 92 93 public DBInputTextTokenInfo getTokenInfoForToken(Token token) { 94 return processorTree.getTokenInfoForToken(token); 95 } 96 97 public void updateOnBreakEvent() { 98 processorTree.updateTreePanel(); 99 } 100 101 public void awTreeDidSelectTreeNode(TreeNode node, boolean shiftKey) { 102 DBInputProcessorTree.InputTreeNode n = (DBInputProcessorTree.InputTreeNode) node; 103 if(shiftKey) 104 n.toggleBreakpoint(); 105 106 debugger.selectToken(n.getToken(), n.getLine(), n.getPosition()); 107 } 108 109 public JPopupMenu awTreeGetContextualMenu() { 110 return debugger.treeGetContextualMenu(); 111 } 112 113 } 114 | Popular Tags |