public override void tableChanged(TableModelEvent tme) { MemoryBreakpointsModel mbpm = (MemoryBreakpointsModel)tme.Source; outerInstance.btnExport.Enabled = mbpm.RowCount > 0; // validate entered addresses if (tme.Column == outerInstance.COL_STARTADDRESS || tme.Column == outerInstance.COL_ENDADDRESS) { for (int i = tme.FirstRow; i <= tme.LastRow; i++) { int start = Integer.decode(mbpm.getValueAt(i, outerInstance.COL_STARTADDRESS).ToString()); int end = Integer.decode(mbpm.getValueAt(i, outerInstance.COL_ENDADDRESS).ToString()); if (tme.Column == outerInstance.COL_STARTADDRESS && start > end) { mbpm.setValueAt(new int?(start), i, outerInstance.COL_ENDADDRESS); } if (tme.Column == outerInstance.COL_ENDADDRESS && end < start) { mbpm.setValueAt(new int?(end), i, outerInstance.COL_STARTADDRESS); } } } }
public MemoryBreakpointsDialog(java.awt.Frame parent) : base(parent) { memoryBreakpoints = ((DebuggerMemory)Memory.Instance).MemoryBreakpoints; memoryBreakpointsModel = new MemoryBreakpointsModel(this); initComponents(); TableColumn accessType = tblBreakpoints.ColumnModel.getColumn(COL_ACCESSTYPE); JComboBox combo = new JComboBox(); combo.addItem("READ"); combo.addItem("WRITE"); combo.addItem("READWRITE"); accessType.CellEditor = new DefaultCellEditor(combo); tblBreakpoints.ColumnModel.getColumn(COL_STARTADDRESS).CellEditor = new AddressCellEditor(this); tblBreakpoints.ColumnModel.getColumn(COL_ENDADDRESS).CellEditor = new AddressCellEditor(this); tblBreakpoints.SelectionModel.addListSelectionListener(new ListSelectionListenerAnonymousInnerClass(this)); tblBreakpoints.Model.addTableModelListener(new TableModelListenerAnonymousInnerClass(this)); // copy trace settings to UI updateTraceSettings(); }