@Override public String getToolTipText(MouseEvent e) { BddtHistoryItem itm = getItemAtPoint(e.getX(), e.getY()); if (itm != null) { StringBuffer buf = new StringBuffer(); BumpThreadStack stk = itm.getStack(); BumpStackFrame frm = stk.getFrame(0); if (frm == null) return null; buf.append(frm.getMethod() + " at " + frm.getLineNumber()); return buf.toString(); } GraphObject go = getObjectAtPoint(e.getX(), e.getY()); if (go != null) { return go.getName(); } return null; }
@Override public void actionPerformed(ActionEvent e) { BumpThreadStack stk = for_item.getStack(); BumpStackFrame frame = stk.getFrame(0); BudaBubble bb = null; if (for_control.frameFileExists(frame)) { String mid = frame.getMethod() + frame.getSignature(); bb = BaleFactory.getFactory().createMethodBubble(for_control.getProject(), mid); } else { bb = new BddtLibraryBubble(frame); } if (bb != null) { BoardMetrics.noteCommand("BDDT", "HistorySource"); BudaBubbleArea bba = BudaRoot.findBudaBubbleArea(BddtHistoryBubble.this); if (bba != null) { bba.addBubble( bb, BddtHistoryBubble.this, null, PLACEMENT_RIGHT | PLACEMENT_GROUPED | PLACEMENT_LOGICAL | PLACEMENT_MOVETO); } } }
GotoStackAction(BddtHistoryItem itm) { super("Show stack"); for_stack = itm.getStack(); }