/*******************************************************************************
* Copyright (c) 2014 Mirko Paturzo (Exeura srl).
* 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:
* Mirko Paturzo - initial API and implementation
*******************************************************************************/
package org.eclipse.nebula.widgets.grid;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
/**
* A basic implementation of the DataVisualizer interface. This class can be used
* to provide general visualization values for various aspects of the GridItem like
* background, font and text.
* Scope of this implementation: reduce memory usage by avoid duplication of
* visualization data like string, fonts, and others.
* In this example, DataVisualizer is customized on Object named MyModel: LabelProvider
* is not required.
*
*
* <pre>
* class MyOwnDataVisualizer extends AdaptedDataVisualizer {
* FontRegistry registry = new FontRegistry();
*
* private final MyModel models[];
*
* public MyOwnDataVisualizer(MyModel models[]) {
* this.models = models;
* }
*
* @Override
* public Image getImage(GridItem gridItem, int columnIndex) {
* return null;
* }
*
* @Override
* public String getText(GridItem gridItem, int columnIndex) {
* return "Column " + columnIndex + " => " + models[gridItem.getRowIndex()].toString();
* }
*
* @Override
* public Font getFont(GridItem gridItem, int columnIndex) {
* if ((models[gridItem.getRowIndex()]).counter % 2 == 0) {
* return registry.getBold(Display.getCurrent().getSystemFont()
* .getFontData()[0].getName());
* }
* return null;
* }
* }
* </pre>
*
* @author Mirko Paturzo <mirko.paturzo@exeura.eu>
*
*/
public class AdaptedDataVisualizer implements DataVisualizer {
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setBackground(GridItem, int, org.eclipse.swt.graphics.Color)
*/
@Override
public void setBackground(GridItem gridItem, int index, Color color) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setChecked(GridItem, int, boolean)
*/
@Override
public void setChecked(GridItem gridItem, int i, boolean checked) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setColumnSpan(GridItem, int, int)
*/
@Override
public void setColumnSpan(GridItem gridItem, int index, int span) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setRowSpan(GridItem, int, int)
*/
@Override
public void setRowSpan(GridItem gridItem, int index, int span) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setFont(GridItem, int, org.eclipse.swt.graphics.Font)
*/
@Override
public void setFont(GridItem gridItem, int index, Font font) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setForeground(GridItem, int, org.eclipse.swt.graphics.Color)
*/
@Override
public void setForeground(GridItem gridItem, int index, Color foreground) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setGrayed(GridItem, int, boolean)
*/
@Override
public void setGrayed(GridItem gridItem, int i, boolean grayed) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setImage(GridItem, int, org.eclipse.swt.graphics.Image)
*/
@Override
public void setImage(GridItem gridItem, int i, Image image) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setText(GridItem, int, java.lang.String)
*/
@Override
public void setText(GridItem gridItem, int i, String text) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setCheckable(GridItem, int, boolean)
*/
@Override
public void setCheckable(GridItem gridItem, int index, boolean checked) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setToolTipText(GridItem, int, java.lang.String)
*/
@Override
public void setToolTipText(GridItem gridItem, int index, String tooltip) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getBackground(GridItem, int)
*/
@Override
public Color getBackground(GridItem gridItem, int index) {
return getDefaultBackground();
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getChecked(GridItem, int)
*/
@Override
public boolean getChecked(GridItem gridItem, int i) {
return false;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getColumnSpan(GridItem, int)
*/
@Override
public int getColumnSpan(GridItem gridItem, int index) {
return 0;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getRowSpan(GridItem, int)
*/
@Override
public int getRowSpan(GridItem gridItem, int index) {
return 0;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getFont(GridItem, int)
*/
@Override
public Font getFont(GridItem gridItem, int index) {
return getDefaultFont();
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getForeground(GridItem, int)
*/
@Override
public Color getForeground(GridItem gridItem, int index) {
return getDefaultForeground();
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getGrayed(GridItem, int)
*/
@Override
public boolean getGrayed(GridItem gridItem, int index) {
return false;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getImage(GridItem, int)
*/
@Override
public Image getImage(GridItem gridItem, int i) {
return null;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getText(GridItem, int)
*/
@Override
public String getText(GridItem gridItem, int i) {
return null;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getCheckable(GridItem, int)
*/
@Override
public boolean getCheckable(GridItem gridItem, int index) {
return false;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getToolTipText(GridItem, int)
*/
@Override
public String getToolTipText(GridItem gridItem, int index) {
return null;
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#clearRow(GridItem)
*/
@Override
public void clearRow(GridItem gridItem) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#clearColumn(int)
*/
@Override
public void clearColumn(int column) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getDefaultBackground()
*/
@Override
public Color getDefaultBackground() {
return Display.getCurrent().getSystemColor(SWT.COLOR_WHITE);
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getDefaultForeground()
*/
@Override
public Color getDefaultForeground() {
return Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#getDefaultFont()
*/
@Override
public Font getDefaultFont() {
return null;
}
/** (non-Javadoc)
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#addColumn(int)
*/
@Override
public void addColumn(int column) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setDefaultBackground(org.eclipse.swt.graphics.Color)
*/
@Override
public void setDefaultBackground(Color defaultBackground) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setDefaultForeground(org.eclipse.swt.graphics.Color)
*/
@Override
public void setDefaultForeground(Color defaultForeground) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#setDefaultFont(org.eclipse.swt.graphics.Font)
*/
@Override
public void setDefaultFont(Font defaultFont) {
/**
* Is empty
*/
}
/**
* @see org.eclipse.nebula.widgets.grid.DataVisualizer#clearAll()
*/
@Override
public void clearAll()
{
/**
* Is empty
*/
}
}