/*******************************************************************************
* Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.resref.ui;
import java.util.List;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.jboss.tools.common.model.ui.objecteditor.XTableImageProvider;
import org.jboss.tools.common.model.ui.objecteditor.XTableProvider;
import org.jboss.tools.common.resref.core.ResourceReference;
public class ResourceReferencesTableProvider implements XTableProvider, XTableImageProvider {
static String[] CSS_COLUMNS = new String[]{Messages.ResourceReferencesTableProvider_Scope, Messages.ResourceReferencesTableProvider_CSSFilePath};
static String[] IMG_COLUMNS = new String[]{Messages.ResourceReferencesTableProvider_Scope, Messages.ResourceReferencesTableProvider_ImageFolderPath};
static String[] TLD_COLUMNS = new String[]{Messages.ResourceReferencesTableProvider_Scope, Messages.ResourceReferencesTableProvider_URI, Messages.ResourceReferencesTableProvider_Prefix};
static String[] EL_COLUMNS = new String[]{Messages.ResourceReferencesTableProvider_Scope, Messages.ResourceReferencesTableProvider_ELExpression, Messages.ResourceReferencesTableProvider_Value};
private final static String[] GLOBAL_EL_COLUMNS = new String[]{Messages.ResourceReferencesTableProvider_Scope,Messages.ResourceReferencesTableProvider_ELExpression, Messages.ResourceReferencesTableProvider_Value};
int[] widths = new int[]{50, 200};
List dataList;
String[] columns;
public static ResourceReferencesTableProvider getCSSTableProvider(List dataList) {
ResourceReferencesTableProvider p = new ResourceReferencesTableProvider(dataList);
p.columns = CSS_COLUMNS;
return p;
}
public static ResourceReferencesTableProvider getImageTableProvider(List dataList) {
ResourceReferencesTableProvider p = new ResourceReferencesTableProvider(dataList);
p.columns = IMG_COLUMNS;
return p;
}
public static ResourceReferencesTableProvider getTLDTableProvider(List dataList) {
ResourceReferencesTableProvider p = new ResourceReferencesTableProvider(dataList);
p.columns = TLD_COLUMNS;
p.widths = new int[]{50, 150, 50};
return p;
}
public static ResourceReferencesTableProvider getELTableProvider(List dataList) {
ResourceReferencesTableProvider p = new ResourceReferencesTableProvider(dataList);
p.columns = EL_COLUMNS;
p.widths = new int[]{50, 150, 50};
return p;
}
public static ResourceReferencesTableProvider getGlobalELTableProvider(final List dataList) {
ResourceReferencesTableProvider p = new ResourceReferencesTableProvider(dataList);
p.columns = GLOBAL_EL_COLUMNS;
p.widths = new int[]{50,150, 50};
return p;
}
private ResourceReferencesTableProvider(List dataList) {
this.dataList = dataList;
}
public int getColumnCount() {
return columns.length;
}
public int getRowCount() {
if(dataList == null) return 0;
return dataList.size();
}
public String getColumnName(int c) {
return columns[c];
}
public String getValueAt(int r, int c) {
ResourceReference css = (ResourceReference)dataList.get(r);
return (c == 0) ? css.getScopeName() : (c == 2) ? css.getProperties() : css.getLocation();
}
public Object getDataAt(int r) {
return null;
}
public Color getColor(int r) {
return null;
}
public int getWidthHint(int c) {
return widths[c];
}
public void dispose() {
}
public Image getImage(int r) {
return null;
}
}