@Override
	public void toggleEditability(int row, AttributeTableModel model) {
		AttributeContainer node = view.tree;
		
		if (node == null) {
			return;
		}
		
		String key = (String) model.keys.get(row);
		Object oldAndNewValue = node.getAttribute(key);
		
		boolean oldReadOnly = node.isReadOnly(key);
		boolean readOnly = !oldReadOnly;
		
		boolean oldValue = true;
		ImageIcon isReadOnly = (ImageIcon) model.getValueAt(row, 1);
		if (isReadOnly == OutlineEditableIndicator.ICON_IS_NOT_PROPERTY) {
			oldValue = true;
		} else {
			oldValue = false;
		}
		
		//boolean oldValue = ((Boolean) model.getValueAt(row, 1)).booleanValue();
		boolean newValue = !oldValue;
		model.readOnly.set(row, new Boolean(newValue));
		node.setReadOnly(key, newValue);
		
		OutlinerDocument doc = view.tree.getDocument();
		doc.setModified(true);
		
		// undo
		Undoable undoable = new UndoableDocumentAttributeChange(view.tree, key, oldAndNewValue, oldReadOnly, key, oldAndNewValue, readOnly);
		undoable.setName("Toggle Document Attribute Editability");
		doc.getUndoQueue().add(undoable);
		
		model.fireTableDataChanged();
	}