@Override
	public void deleteAttribute(int row, AttributeTableModel model) {
		
		Node node = doc.tree.getEditingNode();
		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);
		
		// undo
		CompoundUndoable undoable = new CompoundUndoablePropertyChange(doc.tree);
		undoable.setName("Delete Node Attribute");
		Undoable primitive = new PrimitiveUndoableAttributeChange(node, key, oldValue, oldReadOnly, null, null, false);
		undoable.addPrimitive(primitive);
		doc.getUndoQueue().add(undoable);
		
		model.fireTableRowsDeleted(row, row);
		
		update(); // [md] Added so that modification date updates.
	}