void doCaretUpdate(int dot, int mark) { if (dot == mark) { mainFrame.cutItem.setEnabled(false); mainFrame.copyItem.setEnabled(false); mainFrame.deleteItem.setEnabled(false); } else { mainFrame.cutItem.setEnabled(true); mainFrame.copyItem.setEnabled(true); mainFrame.deleteItem.setEnabled(true); } int length = sourceArea.getText().length(); if (length == 0 || abs(mark - dot) == length) { mainFrame.selectAllItem.setEnabled(false); } else { mainFrame.selectAllItem.setEnabled(true); } try { if (length == 0) { mainFrame.selectLineItem.setEnabled(false); } else { int lineNum = sourceArea.getLineOfOffset(dot); int startLine = sourceArea.getLineStartOffset(lineNum); int endLine = sourceArea.getLineEndOffset(lineNum); if (endLine - startLine <= 1) { mainFrame.selectLineItem.setEnabled(false); } else { mainFrame.selectLineItem.setEnabled(true); } } } catch (BadLocationException ex) { ex.printStackTrace(); } try { int line = sourceArea.getLineOfOffset(dot); lineText.setText(Integer.toString(line + 1)); int column = dot - sourceArea.getLineStartOffset(line); columnText.setText(Integer.toString(column + 1)); } catch (BadLocationException ex) { ex.printStackTrace(); } }
private void toggleBreakpoint() { try { int lineno = sourceTextarea.getLineOfOffset(sourceTextarea.getCaretPosition()) + 1; Character asmaddr = asmMap.src2bin(lineno); if (srcBreakpoints.contains(lineno)) { srcBreakpoints.remove(lineno); if (asmaddr != null) debugger.setBreakpoint(asmaddr, false); } else { srcBreakpoints.add(lineno); if (asmaddr != null) debugger.setBreakpoint(asmaddr, true); } sourceRowHeader.breakpointChanged(lineno); } catch (BadLocationException e1) { e1.printStackTrace(); } }