package com.topsun.posclient.sales.ui.table;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import com.topsun.posclient.common.ProjectUtil;
import com.topsun.posclient.common.ui.utils.ThemeUtils;
import com.topsun.posclient.datamodel.GoldPrice;
public class GoldPriceTableLableProvider implements ITableLabelProvider,ITableColorProvider {
private Color[] bg = ThemeUtils.getCurrent().getTableCellBg();
private Color[] force = ThemeUtils.getCurrent().getTableCellForce();
private Object current = null;
private int currentColor = 0;
public void addListener(ILabelProviderListener listener) {
}
public void dispose() {
}
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void removeListener(ILabelProviderListener listener) {
}
public Image getColumnImage(Object element, int columnIndex) {
Image image = new Image(Display.getDefault(), 1, 30);
return null;
}
public String getColumnText(Object element, int columnIndex) {
if (element instanceof GoldPrice) {
GoldPrice goldPrice = (GoldPrice) element;
String mtartName = goldPrice.getMtartName();
String price = goldPrice.getPrice();
String lastSyncTime = goldPrice.getLastSyncTime();
switch (columnIndex) {
case 0:
return mtartName;
case 1:
return lastSyncTime;
case 2:
return ProjectUtil.formatAmount(null, ProjectUtil.formatString(price));
default:
return "";
}
}
return element.toString();
}
@Override
public Color getForeground(Object element, int columnIndex) {
return force[currentColor];
}
@Override
public Color getBackground(Object element, int columnIndex) {
if (current != element) {
currentColor = 1 - currentColor;
current = element;
}
return bg[currentColor];
}
}