blob: b6707a926e15b06ec9fece1b11a259c8a6e7b806 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 University of Illinois All rights reserved. This program
* and the accompanying materials are made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Albert L. Rossi - design and implementation
******************************************************************************/
package org.eclipse.ptp.rm.jaxb.ui.cell;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.ptp.rm.jaxb.ui.ICellEditorUpdateModel;
/**
* Editing support for the checkbox attribute viewers.
*
* @author arossi
*
*/
public class AttributeViewerEditingSupport extends EditingSupport {
private final ColumnViewer viewer;
/**
* @param viewer
* @see org.eclipse.jface.viewers.CheckboxTableViewer
* @see org.eclipse.jface.viewers.CheckboxTreeViewer
*/
public AttributeViewerEditingSupport(ColumnViewer viewer) {
super(viewer);
this.viewer = viewer;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.EditingSupport#canEdit(java.lang.Object)
*/
@Override
protected boolean canEdit(Object element) {
if (element instanceof ICellEditorUpdateModel) {
boolean b = ((ICellEditorUpdateModel) element).canEdit();
return b;
}
return false;
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.jface.viewers.EditingSupport#getCellEditor(java.lang.Object)
*/
@Override
protected CellEditor getCellEditor(Object element) {
if (element instanceof ICellEditorUpdateModel) {
CellEditor editor = ((ICellEditorUpdateModel) element).getCellEditor();
return editor;
}
return null;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.EditingSupport#getValue(java.lang.Object)
*/
@Override
protected Object getValue(Object element) {
if (element instanceof ICellEditorUpdateModel) {
Object value = ((ICellEditorUpdateModel) element).getValueForEditor();
return value;
}
return null;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.EditingSupport#setValue(java.lang.Object,
* java.lang.Object)
*/
@Override
protected void setValue(Object element, Object value) {
if (element instanceof ICellEditorUpdateModel) {
((ICellEditorUpdateModel) element).setValueFromEditor(value);
viewer.refresh();
}
}
}