blob: c1ba65bbd06b3f1e92d0958a494cc8a1c6b0b60b [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.table.ui.labeling
import com.google.inject.Inject
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty
import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle
import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider
import org.eclipse.osbp.xtext.table.Table
import org.eclipse.osbp.xtext.table.TableAggregation
import org.eclipse.osbp.xtext.table.TableAllColumns
import org.eclipse.osbp.xtext.table.TableAttribute
import org.eclipse.osbp.xtext.table.TableAxis
import org.eclipse.osbp.xtext.table.TableCellColor
import org.eclipse.osbp.xtext.table.TableColumn
import org.eclipse.osbp.xtext.table.TableDatamart
import org.eclipse.osbp.xtext.table.TableDateDayLookup
import org.eclipse.osbp.xtext.table.TableDerived
import org.eclipse.osbp.xtext.table.TableDtoDatasource
import org.eclipse.osbp.xtext.table.TableEvent
import org.eclipse.osbp.xtext.table.TableFormatter
import org.eclipse.osbp.xtext.table.TableGrid
import org.eclipse.osbp.xtext.table.TableHierarchy
import org.eclipse.osbp.xtext.table.TableIcon
import org.eclipse.osbp.xtext.table.TableInterval
import org.eclipse.osbp.xtext.table.TableLookup
import org.eclipse.osbp.xtext.table.TableMeasure
import org.eclipse.osbp.xtext.table.TableModel
import org.eclipse.osbp.xtext.table.TableNumberLookup
import org.eclipse.osbp.xtext.table.TableOrdinal
import org.eclipse.osbp.xtext.table.TablePackage
import org.eclipse.osbp.xtext.table.TablePreorder
import org.eclipse.osbp.xtext.table.TableStringLookup
import org.eclipse.osbp.xtext.table.TableTable
import org.eclipse.osbp.xtext.table.TableTask
import org.eclipse.osbp.xtext.table.TableTextColor
import org.eclipse.osbp.xtext.table.TableTooltip
import org.eclipse.osbp.xtext.table.TableTrend
import org.eclipse.osbp.xtext.table.TableValue
/**
* Provides labels for a EObjects.
*
* see http://www.eclipse.org/Xtext/documentation.html#labelProvider
*/
class TableDSLLabelProvider extends BasicDSLLabelProvider {
@Inject
new(AdapterFactoryLabelProvider delegate) {
super(delegate);
}
// Labels and icons can be computed like this:
override text ( Object o ) {
switch (o) {
TablePackage : generateText( o, 'package' , o.name )
Table : generateText( o, 'table model' , o.name )
TableTable : generateText( o, 'table' , o.source.datamartRef.name )
TableGrid : generateText( o, 'grid' , o.source.dtoSource.name )
TableAxis : generateText( o, 'axis' , o.axis.literal )
TableDatamart : generateText( o, 'datamart' , o.datamartRef.name )
TableEvent : generateText( o, 'event' )
TableValue : generateText( o, 'value' )
TableInterval : generateText( o, 'interval' )
TableFormatter : generateText( o, 'formatter' , o.format )
TableTextColor : generateText( o, '''textcolor («o.rgb»)''' )
TableCellColor : generateText( o, '''cellcolor («o.rgb»)''' )
TableIcon : generateText( o, 'icon' , o.icon )
TableTooltip : generateText( o, 'tooltip' , o.tooltip )
TableTrend : generateText( o, 'trend' , o.icon.toString )
TableAttribute : generateText( o, 'table property' , o.valueRef.attributeRef.name )
TableAggregation : generateText( o, 'aggregation' , o.valueRef.aggregation.toString )
TableHierarchy : generateText( o, 'level' , o.valueRef.name )
TableMeasure : generateText( o, 'measure' , o.valueRef.measureRef.name )
TableDerived : generateText( o, 'derived' , o.valueRef.derivedRef.name )
TableOrdinal : generateText( o, 'ordinal' , o.valueRef.toString )
TableColumn : generateText( o, 'column' , o.valueRef.columnRef.toString )
TableTask : generateText( o, 'task' )
TableAllColumns : generateText( o, 'all columns' )
// TableValueElement : generateText( o, 'value element' )
TablePreorder : generateText( o, 'pre order' )
// CxGridNestedField : generateText( o, 'nested field' )
CxGridProperty : generateText( o, 'grid property' )
// TableGridProperty : generateText( o, 'grid property' )
// CxGridNestedField : generateText( o, 'nested field' )
// CxGridPropTextStyle : generateText( o, 'text style' )
CxGridPropStyle : generateText( o, 'property style' )
// TableDtoDatasource : generateText( o, 'dto datasource' )
TableDtoDatasource : generateText( o, 'dto datasource' , o.dtoSource.name )
// TableLookup : generateText( o, 'lookup' , o.toString )
TableStringLookup : generateText( o, 'string lookup' , o.lookupValue )
TableNumberLookup : generateText( o, 'number lookup' , o.lookupValue.toString )
TableDateDayLookup : generateText( o, 'date lookup' , o.lookupValue.toString )
default : super.text( o )
}
}
override image ( Object o ) {
switch (o) {
TableModel : getInternalImage( 'model.png' , class )
TablePackage : getInternalImage( 'package.gif' , class )
Table : getInternalImage( 'dsl_table.png' , class )
TableTable : getInternalImage( 'table-table.png' , class )
TableGrid : getInternalImage( 'table-grid.png' , class )
TableAxis : getInternalImage( 'axis.png' , class )
TableDatamart : getInternalImage( 'dsl_datamart.png' , class )
TableEvent : getInternalImage( 'event.png' , class )
TableValue : getInternalImage( 'value3.png' , class )
TableInterval : getInternalImage( 'interval.png' , class )
TableFormatter : getInternalImage( 'format.png' , class )
TableTextColor : getColorOutlineImage( o.rgb, true )
TableCellColor : getColorOutlineImage( o.rgb, true )
TableIcon : getInternalImage( 'img.png' , class )
TableTooltip : getInternalImage( 'tooltip.png' , class )
TableTrend : getInternalImage( 'trend.png' , class )
TableAttribute : getInternalImage( 'properties.png' , class )
TableAggregation : getInternalImage( 'aggregate.png' , class )
TableAllColumns : getInternalImage( 'column.png' , class )
TableHierarchy : getInternalImage( 'level.png' , class )
TableMeasure : getInternalImage( 'measure.png' , class )
TableDerived : getInternalImage( 'derived.png' , class )
TableTask : getInternalImage( 'task.png' , class )
TableColumn : getInternalImage( 'column.png' , class )
TableLookup : getInternalImage( 'lookup.png' , class )
TablePreorder : getInternalImage( 'pre-order.png' , class )
CxGridProperty : getInternalImage( 'properties.png' , class )
CxGridPropStyle : getInternalImage( 'style.png' , class )
TableDtoDatasource : getInternalImage( 'datasource.png' , class )
default : super.image( o )
// TableTrend has no own outline element - it is displayed within upper level element instead (e.g. interval)!
// TableTrend : getInternalImage( 'trend_rising.png', class)
}
}
}