// Delete Attribute @Override public void deleteAttribute(int row, AttributeTableModel model) { AttributeContainer node = view.tree; if (node == null) { return; } String key = (String) model.keys.get(row); Object oldValue = node.getAttribute(key); boolean oldReadOnly = node.isReadOnly(key); node.removeAttribute(key); model.keys.remove(row); model.values.remove(row); model.readOnly.remove(row); OutlinerDocument doc = view.tree.getDocument(); doc.setModified(true); // undo Undoable undoable = new UndoableDocumentAttributeChange( view.tree, key, oldValue, oldReadOnly, null, null, false); undoable.setName("Delete Document Attribute"); doc.getUndoQueue().add(undoable); model.fireTableRowsDeleted(row, row); }