blob: 4c113f42cc861acb59285c172c0c9d369ea71a62 [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 - modifications
* M Venkataramana - original code: http://eclipse.dzone.com/users/venkat_r_m
******************************************************************************/
package org.eclipse.ptp.rm.jaxb.ui.data;
import org.eclipse.ptp.rm.jaxb.core.data.JobAttribute;
import org.eclipse.ptp.rm.jaxb.core.data.Property;
import org.eclipse.ptp.rm.jaxb.ui.IJAXBUINonNLSConstants;
import org.eclipse.ptp.rm.jaxb.ui.util.WidgetActionUtils;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Control;
public class RowData implements IJAXBUINonNLSConstants {
private final Object data;
private final Control valueControl;
public RowData(Object data, Control valueControl) {
this.data = data;
this.valueControl = valueControl;
}
public boolean canModify() {
return true;
}
public String getColumnDisplayValue(String columnName) {
Object value = null;
if (data instanceof Property) {
Property p = (Property) data;
if (COLUMN_NAME.equals(columnName)) {
value = p.getName();
} else if (COLUMN_VALUE.equals(columnName)) {
value = WidgetActionUtils.getValueString(valueControl);
} else if (COLUMN_DEFAULT.equals(columnName)) {
value = p.getDefault();
}
} else if (data instanceof JobAttribute) {
JobAttribute ja = (JobAttribute) data;
if (COLUMN_NAME.equals(columnName)) {
value = ja.getName();
} else if (COLUMN_DESC.equals(columnName)) {
value = ja.getDescription();
} else if (COLUMN_DEFAULT.equals(columnName)) {
value = ja.getDefault();
} else if (COLUMN_TYPE.equals(columnName)) {
value = ja.getType();
} else if (COLUMN_TOOLTIP.equals(columnName)) {
value = ja.getTooltip();
} else if (COLUMN_STATUS.equals(columnName)) {
value = ja.getStatus();
} else if (COLUMN_VALUE.equals(columnName)) {
value = WidgetActionUtils.getValueString(valueControl);
}
}
if (value == null) {
return ZEROSTR;
}
return value.toString();
}
public Image getColumnImage(String columnName) {
return null;
}
public Object getData() {
return data;
}
public void setColumnValue(String columnName, String displayValue) {
if (COLUMN_VALUE.equals(columnName)) {
WidgetActionUtils.setValue(valueControl, displayValue);
}
}
}