blob: b923cdee4d6b13e0b66522f0d7762a63e6bf8b3b [file] [log] [blame]
/**
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* 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:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*/
package org.eclipse.osbp.xtext.reportdsl.ui.labeling;
import com.google.common.base.Objects;
import com.google.inject.Inject;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.FontDescriptor;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider;
import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
import org.eclipse.osbp.xtext.reportdsl.AutoText;
import org.eclipse.osbp.xtext.reportdsl.BuildInFontFamily;
import org.eclipse.osbp.xtext.reportdsl.Colors;
import org.eclipse.osbp.xtext.reportdsl.CurrencyFormat;
import org.eclipse.osbp.xtext.reportdsl.CustomFontFamily;
import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
import org.eclipse.osbp.xtext.reportdsl.DateFormat;
import org.eclipse.osbp.xtext.reportdsl.DateTimeFormat;
import org.eclipse.osbp.xtext.reportdsl.FontFamily;
import org.eclipse.osbp.xtext.reportdsl.FontStyle;
import org.eclipse.osbp.xtext.reportdsl.FontStyleEnum;
import org.eclipse.osbp.xtext.reportdsl.Fonts;
import org.eclipse.osbp.xtext.reportdsl.Grid;
import org.eclipse.osbp.xtext.reportdsl.GridCell;
import org.eclipse.osbp.xtext.reportdsl.GridRow;
import org.eclipse.osbp.xtext.reportdsl.Label;
import org.eclipse.osbp.xtext.reportdsl.Media;
import org.eclipse.osbp.xtext.reportdsl.Medias;
import org.eclipse.osbp.xtext.reportdsl.NumberFormat;
import org.eclipse.osbp.xtext.reportdsl.PageDetail;
import org.eclipse.osbp.xtext.reportdsl.PageFooter;
import org.eclipse.osbp.xtext.reportdsl.PageHeader;
import org.eclipse.osbp.xtext.reportdsl.PageTemplate;
import org.eclipse.osbp.xtext.reportdsl.PageTemplates;
import org.eclipse.osbp.xtext.reportdsl.Report;
import org.eclipse.osbp.xtext.reportdsl.ReportDesignFile;
import org.eclipse.osbp.xtext.reportdsl.ReportDesignTemplate;
import org.eclipse.osbp.xtext.reportdsl.ReportModel;
import org.eclipse.osbp.xtext.reportdsl.ReportPackage;
import org.eclipse.osbp.xtext.reportdsl.SomeFormats;
import org.eclipse.osbp.xtext.reportdsl.Style;
import org.eclipse.osbp.xtext.reportdsl.Styles;
import org.eclipse.osbp.xtext.reportdsl.SubSubTitle;
import org.eclipse.osbp.xtext.reportdsl.SubTitle;
import org.eclipse.osbp.xtext.reportdsl.TableAggregation;
import org.eclipse.osbp.xtext.reportdsl.TableAttribute;
import org.eclipse.osbp.xtext.reportdsl.TableCellColor;
import org.eclipse.osbp.xtext.reportdsl.TableDateDayInterval;
import org.eclipse.osbp.xtext.reportdsl.TableDateDayLookup;
import org.eclipse.osbp.xtext.reportdsl.TableIcon;
import org.eclipse.osbp.xtext.reportdsl.TableInterval;
import org.eclipse.osbp.xtext.reportdsl.TableLookup;
import org.eclipse.osbp.xtext.reportdsl.TableNumberInterval;
import org.eclipse.osbp.xtext.reportdsl.TableNumberLookup;
import org.eclipse.osbp.xtext.reportdsl.TableStringLookup;
import org.eclipse.osbp.xtext.reportdsl.TableTextColor;
import org.eclipse.osbp.xtext.reportdsl.TableTrend;
import org.eclipse.osbp.xtext.reportdsl.Text;
import org.eclipse.osbp.xtext.reportdsl.TextElement;
import org.eclipse.osbp.xtext.reportdsl.TimeFormat;
import org.eclipse.osbp.xtext.reportdsl.Title;
import org.eclipse.osbp.xtext.reportdsl.UomoFormat;
import org.eclipse.osbp.xtext.reportdsl.common.ColorUtilities;
import org.eclipse.osbp.xtext.reportdsl.common.item.AContainerItem;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.ui.label.StylerFactory;
import org.eclipse.xtext.xbase.lib.Exceptions;
/**
* Provides labels for a EObjects.
*
* see http://www.eclipse.org/Xtext/documentation.html#labelProvider
*/
@SuppressWarnings("all")
public class ReportDSLLabelProvider extends BasicDSLLabelProvider {
private Map<String, Image> fCachedImages;
/**
* @param swtColor SWT color
* @param size outlineImgSize containing the size of the image
* @return a - cached - SWT image object
*/
public Image getColorImage(final Color swtColor, final BasicDSLLabelProvider.outlineImgSize size) {
return this.getColorImage(swtColor, size.getWidth(), size.getHeight());
}
/**
* @param swtColor SWT color
* @param width of the rectangular image
* @param height of the rectangular image
* @return a - cached - SWT rectangular image object
*/
public Image getColorImage(final Color swtColor, final int width, final int height) {
try {
StringConcatenation _builder = new StringConcatenation();
_builder.append(width);
_builder.append("/");
_builder.append(height);
_builder.append("/");
int _red = swtColor.getRed();
_builder.append(_red);
_builder.append("/");
int _green = swtColor.getGreen();
_builder.append(_green);
_builder.append("/");
int _blue = swtColor.getBlue();
_builder.append(_blue);
String swtColorName = _builder.toString();
Image image = this.fCachedImages.get(swtColorName);
boolean _equals = Objects.equal(image, null);
if (_equals) {
Rectangle _rectangle = new Rectangle(0, 0, width, height);
Image _image = new Image(null, _rectangle);
image = _image;
GC gc = new GC(image);
gc.setBackground(swtColor);
gc.fillRectangle(0, 0, 16, 16);
gc.dispose();
swtColor.dispose();
this.fCachedImages.put(swtColorName, image);
}
return image;
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception e = (Exception)_t;
return this.getErrorImage();
} else {
throw Exceptions.sneakyThrow(_t);
}
}
}
private Color getColor(final String name) {
java.awt.Color awtFore = ColorUtilities.convertToAwtColor(name);
int _red = awtFore.getRed();
int _green = awtFore.getGreen();
int _blue = awtFore.getBlue();
return new Color(null, _red, _green, _blue);
}
private RGB getRGB(final String name) {
java.awt.Color awtFore = ColorUtilities.convertToAwtColor(name);
int _red = awtFore.getRed();
int _green = awtFore.getGreen();
int _blue = awtFore.getBlue();
return new RGB(_red, _green, _blue);
}
private Image getColorImage(final org.eclipse.osbp.xtext.reportdsl.Color color) {
String colorName = AContainerItem.applyColor(color);
Color swtFore = this.getColor(colorName);
return this.getColorImage(((Color) swtFore), BasicDSLLabelProvider.outlineImgSize.SMALL);
}
@Inject
public ReportDSLLabelProvider(final AdapterFactoryLabelProvider delegate) {
super(delegate);
HashMap<String, Image> _hashMap = new HashMap<String, Image>();
this.fCachedImages = _hashMap;
}
private Font getFont(final org.eclipse.osbp.xtext.reportdsl.Font o) {
String family = ((String) null);
int size = 0;
int italic = (-1);
int bold = 0;
org.eclipse.osbp.xtext.reportdsl.Font step = o;
while ((!Objects.equal(step, null))) {
{
boolean _equals = Objects.equal(family, null);
if (_equals) {
FontFamily _family = step.getFamily();
boolean _notEquals = (!Objects.equal(_family, null));
if (_notEquals) {
FontFamily f = step.getFamily();
boolean _matched = false;
if (f instanceof BuildInFontFamily) {
_matched=true;
family = ((BuildInFontFamily)f).getCustom().getName();
}
if (!_matched) {
if (f instanceof CustomFontFamily) {
_matched=true;
family = ((CustomFontFamily)f).getCustom();
}
}
}
if (((bold == 0) && step.isBold())) {
bold = SWT.BOLD;
}
if ((italic < 0)) {
FontStyleEnum _style = step.getStyle();
boolean _matched_1 = false;
if (Objects.equal(_style, FontStyle.NORMAL)) {
_matched_1=true;
italic = 0;
}
if (!_matched_1) {
if (Objects.equal(_style, FontStyle.ITALIC)) {
_matched_1=true;
italic = SWT.ITALIC;
}
}
if (!_matched_1) {
if (Objects.equal(_style, FontStyle.OBLIQUE)) {
_matched_1=true;
italic = SWT.ITALIC;
}
}
}
}
step = step.getExtends();
}
}
return new Font(null, family, size, (italic + bold));
}
public StyledString getStyledText(final org.eclipse.osbp.xtext.reportdsl.Font o) {
try {
String _generateText = this.generateText(o, null);
StyledString.Styler _createStyler = new StylerFactory().createStyler(FontDescriptor.createFrom(this.getFont(o)), null, null);
return new StyledString(_generateText, _createStyler);
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception e = (Exception)_t;
String _generateText_1 = this.generateText(o, null);
return new StyledString(_generateText_1);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
}
private Font getFont(final Style o) {
Style step = o;
while ((!Objects.equal(step, null))) {
{
org.eclipse.osbp.xtext.reportdsl.Font _font = step.getFont();
boolean _notEquals = (!Objects.equal(_font, null));
if (_notEquals) {
return this.getFont(step.getFont());
}
step = step.getExtends();
}
}
return null;
}
private String getForeColor(final Style o) {
Object _xblockexpression = null;
{
Style step = o;
while ((!Objects.equal(step, null))) {
{
org.eclipse.osbp.xtext.reportdsl.Color _textcolor = step.getTextcolor();
boolean _notEquals = (!Objects.equal(_textcolor, null));
if (_notEquals) {
return AContainerItem.applyColor(step.getTextcolor());
}
step = step.getExtends();
}
}
_xblockexpression = null;
}
return ((String)_xblockexpression);
}
private String getBackColor(final Style o) {
Object _xblockexpression = null;
{
Style step = o;
while ((!Objects.equal(step, null))) {
{
org.eclipse.osbp.xtext.reportdsl.Color _backgroundcolor = step.getBackgroundcolor();
boolean _notEquals = (!Objects.equal(_backgroundcolor, null));
if (_notEquals) {
return AContainerItem.applyColor(step.getBackgroundcolor());
}
step = step.getExtends();
}
}
_xblockexpression = null;
}
return ((String)_xblockexpression);
}
private String registerColor(final String color) {
boolean _notEquals = (!Objects.equal(color, null));
if (_notEquals) {
String name = "reportdsl_".concat(color);
ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
Color _get = colorRegistry.get(name);
boolean _equals = Objects.equal(_get, null);
if (_equals) {
colorRegistry.put(name, this.getRGB(color));
}
return name;
}
return color;
}
public StyledString getStyledText(final Style o) {
try {
Font font = this.getFont(o);
String fore = this.registerColor(this.getForeColor(o));
String back = this.registerColor(this.getBackColor(o));
boolean _equals = Objects.equal(font, null);
if (_equals) {
if ((Objects.equal(fore, null) && Objects.equal(back, null))) {
String _generateText = this.generateText(o, null);
return new StyledString(_generateText);
} else {
String _generateText_1 = this.generateText(o, null);
StyledString.Styler _createStyler = new StylerFactory().createStyler(fore, back);
return new StyledString(_generateText_1, _createStyler);
}
} else {
String _generateText_2 = this.generateText(o, null);
StyledString.Styler _createStyler_1 = new StylerFactory().createStyler(
FontDescriptor.createFrom(font), fore, back);
return new StyledString(_generateText_2, _createStyler_1);
}
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception e = (Exception)_t;
String _generateText_3 = this.generateText(o, null);
return new StyledString(_generateText_3);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
}
@Override
public Object text(final Object o) {
Object _switchResult = null;
boolean _matched = false;
if (o instanceof ReportPackage) {
_matched=true;
_switchResult = this.generateText(o, "report package");
}
if (!_matched) {
if (o instanceof PageTemplates) {
_matched=true;
_switchResult = this.generateText(o, "page templates");
}
}
if (!_matched) {
if (o instanceof SomeFormats) {
_matched=true;
_switchResult = this.generateText(o, "formatters");
}
}
if (!_matched) {
if (o instanceof Colors) {
_matched=true;
_switchResult = this.generateText(o, "colors");
}
}
if (!_matched) {
if (o instanceof Fonts) {
_matched=true;
_switchResult = this.generateText(o, "fonts");
}
}
if (!_matched) {
if (o instanceof Styles) {
_matched=true;
_switchResult = this.generateText(o, "styles");
}
}
if (!_matched) {
if (o instanceof Medias) {
_matched=true;
_switchResult = this.generateText(o, "medias");
}
}
if (!_matched) {
if (o instanceof PageTemplate) {
_matched=true;
_switchResult = this.generateText(o, "page template", ((PageTemplate)o).getName());
}
}
if (!_matched) {
if (o instanceof ReportDesignFile) {
_matched=true;
_switchResult = this.generateText(o, "via design file", ((ReportDesignFile)o).getName());
}
}
if (!_matched) {
if (o instanceof ReportDesignTemplate) {
_matched=true;
_switchResult = this.generateText(o, "via description");
}
}
if (!_matched) {
if (o instanceof PageHeader) {
_matched=true;
_switchResult = this.generateText(o, "page header");
}
}
if (!_matched) {
if (o instanceof PageDetail) {
_matched=true;
_switchResult = this.generateText(o, "page detail");
}
}
if (!_matched) {
if (o instanceof PageFooter) {
_matched=true;
_switchResult = this.generateText(o, "page footer");
}
}
if (!_matched) {
if (o instanceof org.eclipse.osbp.xtext.reportdsl.Color) {
_matched=true;
_switchResult = this.generateText(o, null);
}
}
if (!_matched) {
if (o instanceof org.eclipse.osbp.xtext.reportdsl.Font) {
_matched=true;
_switchResult = this.getStyledText(((org.eclipse.osbp.xtext.reportdsl.Font)o));
}
}
if (!_matched) {
if (o instanceof Media) {
_matched=true;
_switchResult = this.generateText(o, null);
}
}
if (!_matched) {
if (o instanceof Style) {
_matched=true;
_switchResult = this.getStyledText(((Style)o));
}
}
if (!_matched) {
if (o instanceof Report) {
_matched=true;
_switchResult = this.generateText(o, "report", ((Report)o).getName());
}
}
if (!_matched) {
if (o instanceof DatamartDefinition) {
_matched=true;
_switchResult = this.generateText(o, "datamart");
}
}
if (!_matched) {
if (o instanceof DatamartTable) {
_matched=true;
_switchResult = this.generateText(o, "datamart");
}
}
if (!_matched) {
if (o instanceof DatamartTableGroup) {
_matched=true;
_switchResult = this.generateText(o, "table group");
}
}
if (!_matched) {
if (o instanceof DatamartTableGroupHeader) {
_matched=true;
_switchResult = this.generateText(o, "table group header", ((DatamartTableGroupHeader)o).getStyle().getName());
}
}
if (!_matched) {
if (o instanceof DatamartTableGroupFooter) {
_matched=true;
_switchResult = this.generateText(o, "table group footer", ((DatamartTableGroupFooter)o).getStyle().getName());
}
}
if (!_matched) {
if (o instanceof DatamartTableDetail) {
_matched=true;
_switchResult = this.generateText(o, "table detail", ((DatamartTableDetail)o).getStyle().getName());
}
}
if (!_matched) {
if (o instanceof DatamartTableAttribute) {
_matched=true;
_switchResult = this.generateText(o, "table property");
}
}
if (!_matched) {
if (o instanceof TableAttribute) {
_matched=true;
_switchResult = this.generateText(o, "property", ((TableAttribute)o).getValueRef().getAttributeRef().getName());
}
}
if (!_matched) {
if (o instanceof TableAggregation) {
_matched=true;
_switchResult = this.generateText(o, "aggregation");
}
}
if (!_matched) {
if (o instanceof UomoFormat) {
_matched=true;
_switchResult = this.generateText(o, "number & unit: ".concat(((UomoFormat)o).getReport_pattern()), ((UomoFormat)o).getName());
}
}
if (!_matched) {
if (o instanceof NumberFormat) {
_matched=true;
_switchResult = this.generateText(o, "number: ".concat(((NumberFormat)o).getReport_pattern()), ((NumberFormat)o).getName());
}
}
if (!_matched) {
if (o instanceof CurrencyFormat) {
_matched=true;
_switchResult = this.generateText(o, "currency: ".concat(((CurrencyFormat)o).getReport_pattern()), ((CurrencyFormat)o).getName());
}
}
if (!_matched) {
if (o instanceof DateFormat) {
_matched=true;
_switchResult = this.generateText(o, "date: ".concat(((DateFormat)o).getReport_pattern()), ((DateFormat)o).getName());
}
}
if (!_matched) {
if (o instanceof DateTimeFormat) {
_matched=true;
_switchResult = this.generateText(o, "date & time: ".concat(((DateTimeFormat)o).getReport_pattern()), ((DateTimeFormat)o).getName());
}
}
if (!_matched) {
if (o instanceof TimeFormat) {
_matched=true;
_switchResult = this.generateText(o, "time: ".concat(((TimeFormat)o).getReport_pattern()), ((TimeFormat)o).getName());
}
}
if (!_matched) {
if (o instanceof TableNumberInterval) {
_matched=true;
_switchResult = this.generateText(o, "number interval");
}
}
if (!_matched) {
if (o instanceof TableDateDayInterval) {
_matched=true;
_switchResult = this.generateText(o, "day interval");
}
}
if (!_matched) {
if (o instanceof TableNumberLookup) {
_matched=true;
_switchResult = this.generateText(o, "number lookup");
}
}
if (!_matched) {
if (o instanceof TableStringLookup) {
_matched=true;
_switchResult = this.generateText(o, "text lookup");
}
}
if (!_matched) {
if (o instanceof TableDateDayLookup) {
_matched=true;
_switchResult = this.generateText(o, "day lookup");
}
}
if (!_matched) {
if (o instanceof TableTextColor) {
_matched=true;
_switchResult = this.generateText(o, "text color", ((TableTextColor)o).getColor().getColor());
}
}
if (!_matched) {
if (o instanceof TableCellColor) {
_matched=true;
_switchResult = this.generateText(o, "background color", ((TableCellColor)o).getColor().getColor());
}
}
if (!_matched) {
if (o instanceof TableIcon) {
_matched=true;
_switchResult = this.generateText(o, "icon", ((TableIcon)o).getIcon());
}
}
if (!_matched) {
if (o instanceof TableTrend) {
_matched=true;
_switchResult = this.generateText(o, "trend icon");
}
}
if (!_matched) {
if (o instanceof Grid) {
_matched=true;
_switchResult = this.generateText(o, "grid");
}
}
if (!_matched) {
if (o instanceof GridRow) {
_matched=true;
_switchResult = this.generateText(o, "row");
}
}
if (!_matched) {
if (o instanceof GridCell) {
_matched=true;
_switchResult = this.generateText(o, "cell");
}
}
if (!_matched) {
if (o instanceof Title) {
_matched=true;
_switchResult = this.generateText(o, "title", ((Title)o).getText());
}
}
if (!_matched) {
if (o instanceof SubTitle) {
_matched=true;
_switchResult = this.generateText(o, "subtitle", ((SubTitle)o).getText());
}
}
if (!_matched) {
if (o instanceof SubSubTitle) {
_matched=true;
_switchResult = this.generateText(o, "subsubtile", ((SubSubTitle)o).getText());
}
}
if (!_matched) {
if (o instanceof Label) {
_matched=true;
_switchResult = this.generateText(o, "label", ((Label)o).getText());
}
}
if (!_matched) {
if (o instanceof Text) {
_matched=true;
_switchResult = this.generateText(o, "text");
}
}
if (!_matched) {
if (o instanceof AutoText) {
_matched=true;
_switchResult = this.generateText(o, "auto text", ((AutoText)o).getType().toString());
}
}
if (!_matched) {
if (o instanceof org.eclipse.osbp.xtext.reportdsl.Image) {
_matched=true;
_switchResult = this.generateText(o, "image");
}
}
if (!_matched) {
_switchResult = super.text(o);
}
return _switchResult;
}
@Override
public Object image(final Object o) {
Image _switchResult = null;
boolean _matched = false;
if (o instanceof ReportModel) {
_matched=true;
_switchResult = this.getInternalImage("model.png", this.getClass());
}
if (!_matched) {
if (o instanceof ReportPackage) {
_matched=true;
_switchResult = this.getInternalImage("package.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof PageTemplates) {
_matched=true;
_switchResult = this.getInternalImage("master_page.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof SomeFormats) {
_matched=true;
_switchResult = this.getInternalImage("formatbuilder.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof Colors) {
_matched=true;
_switchResult = this.getInternalImage("color.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof Fonts) {
_matched=true;
_switchResult = this.getInternalImage("font.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof Styles) {
_matched=true;
_switchResult = this.getInternalImage("style.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof Medias) {
_matched=true;
_switchResult = this.getInternalImage("master_page.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof PageTemplate) {
_matched=true;
_switchResult = this.getInternalImage("master_page.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof ReportDesignFile) {
_matched=true;
_switchResult = this.getInternalImage("finder_descriptor_obj.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof ReportDesignTemplate) {
_matched=true;
_switchResult = this.getInternalImage("api_tools.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof PageHeader) {
_matched=true;
_switchResult = this.getInternalImage("header.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof PageDetail) {
_matched=true;
_switchResult = this.getInternalImage("details.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof PageFooter) {
_matched=true;
_switchResult = this.getInternalImage("footer.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof org.eclipse.osbp.xtext.reportdsl.Color) {
_matched=true;
_switchResult = this.getColorImage(((org.eclipse.osbp.xtext.reportdsl.Color)o));
}
}
if (!_matched) {
if (o instanceof org.eclipse.osbp.xtext.reportdsl.Font) {
_matched=true;
Image _xtrycatchfinallyexpression = null;
try {
Image _xblockexpression = null;
{
this.getFont(((org.eclipse.osbp.xtext.reportdsl.Font)o));
_xblockexpression = this.getInternalImage("font.gif", this.getClass());
}
_xtrycatchfinallyexpression = _xblockexpression;
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception e = (Exception)_t;
_xtrycatchfinallyexpression = this.getErrorImage();
} else {
throw Exceptions.sneakyThrow(_t);
}
}
_switchResult = _xtrycatchfinallyexpression;
}
}
if (!_matched) {
if (o instanceof Media) {
_matched=true;
_switchResult = this.getInternalImage("master_page.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof Style) {
_matched=true;
_switchResult = this.getInternalImage("style.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof Report) {
_matched=true;
_switchResult = this.getInternalImage("dsl_report.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartDefinition) {
_matched=true;
_switchResult = this.getInternalImage("dsl_datamart.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartTable) {
_matched=true;
_switchResult = this.getInternalImage("dsl_datamart.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartTableGroup) {
_matched=true;
_switchResult = this.getInternalImage("group.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartTableGroupHeader) {
_matched=true;
_switchResult = this.getInternalImage("group_header.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartTableGroupFooter) {
_matched=true;
_switchResult = this.getInternalImage("group_footer.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartTableDetail) {
_matched=true;
_switchResult = this.getInternalImage("detail-area.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof DatamartTableAttribute) {
_matched=true;
_switchResult = this.getInternalImage("properties.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableAttribute) {
_matched=true;
_switchResult = this.getInternalImage("properties.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableAggregation) {
_matched=true;
_switchResult = this.getInternalImage("aggregate.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof UomoFormat) {
_matched=true;
_switchResult = this.getInternalImage("length_measure-16x16.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof NumberFormat) {
_matched=true;
_switchResult = this.getInternalImage("formatbuilder.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof CurrencyFormat) {
_matched=true;
_switchResult = this.getInternalImage("currency_euro.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof DateFormat) {
_matched=true;
_switchResult = this.getInternalImage("calendar-small.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof DateTimeFormat) {
_matched=true;
_switchResult = this.getInternalImage("datetime.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof TimeFormat) {
_matched=true;
_switchResult = this.getInternalImage("time.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableInterval) {
_matched=true;
_switchResult = this.getInternalImage("null-attribute-mapping.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableLookup) {
_matched=true;
_switchResult = this.getInternalImage("enum_alt_obj.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableTextColor) {
_matched=true;
_switchResult = this.getInternalImage("font_color.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableCellColor) {
_matched=true;
_switchResult = this.getInternalImage("foreground_fill_color.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableIcon) {
_matched=true;
_switchResult = this.getInternalImage("img.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof TableTrend) {
_matched=true;
_switchResult = this.getInternalImage("trend_rising.png", this.getClass());
}
}
if (!_matched) {
if (o instanceof Grid) {
_matched=true;
_switchResult = this.getInternalImage("gridlayout_obj.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof GridRow) {
_matched=true;
_switchResult = this.getInternalImage("row.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof GridCell) {
_matched=true;
_switchResult = this.getInternalImage("cell.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof TextElement) {
_matched=true;
_switchResult = this.getInternalImage("text.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof AutoText) {
_matched=true;
_switchResult = this.getInternalImage("autotext.gif", this.getClass());
}
}
if (!_matched) {
if (o instanceof org.eclipse.osbp.xtext.reportdsl.Image) {
_matched=true;
_switchResult = this.getInternalImage("img.png", this.getClass());
}
}
if (!_matched) {
_switchResult = null;
}
return _switchResult;
}
}