@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);
	}