| /** |
| * |
| * 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.messagedsl.ui.labeling |
| |
| import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider |
| import com.google.inject.Inject |
| import org.eclipse.osbp.xtext.messagedsl.MessageModel |
| import org.eclipse.osbp.xtext.messagedsl.MessagePackage |
| import org.eclipse.osbp.xtext.messagedsl.MessageCategory |
| import org.eclipse.osbp.xtext.messagedsl.MessageGroup |
| import org.eclipse.osbp.xtext.messagedsl.MessageItem |
| import org.eclipse.osbp.xtext.messagedsl.MessageDefaultFormat |
| import org.eclipse.osbp.xtext.messagedsl.MessageParameter |
| |
| /** |
| * Provides labels for a EObjects. |
| * |
| * see http://www.eclipse.org/Xtext/documentation.html#labelProvider |
| */ |
| class MessageDslLabelProvider extends BasicDSLLabelProvider { |
| |
| @Inject |
| new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) { |
| super(delegate); |
| } |
| |
| /* ********************************************************************************************** */ |
| /** Provides outline text for Message-DSL. |
| * |
| * Uses common (default) text for package and for import element. |
| * |
| * @see BasicDSLLabelProvider.text(Object) |
| * |
| * @param o Current outline element |
| * |
| * @return String instance. |
| * |
| * @since 160802, gu |
| * @date yymmdd, name |
| */ /* ******************************************************************************************* */ |
| override text ( Object o ) { |
| switch (o) { |
| MessageCategory : generateText( o, 'category', o.name ) |
| MessageGroup : generateText( o, 'group' , o.name ) |
| MessageItem : generateText( o, 'item' , o.name ) |
| MessageParameter : { |
| switch (o.oftype) { |
| case BOOLEAN : generateText( o, 'boolean param' , o.name ) |
| case INTEGER : generateText( o, 'integer param' , o.name ) |
| case DOUBLE : generateText( o, 'double param' , o.name ) |
| case STRING : generateText( o, 'string param' , o.name ) |
| case CLASS : generateText( o, 'class param' , o.name ) |
| case OBJECT : generateText( o, 'object param' , o.name ) |
| case EXCEPTION : generateText( o, 'exception param', o.name ) |
| } |
| } |
| MessageDefaultFormat: { |
| val item = (o.eContainer as MessageItem) |
| var desc = 'format' |
| |
| if (o.equals(item.logFormat)) { |
| desc = 'log format' |
| } |
| else if (o.equals(item.showFormat)) { |
| desc = 'show format' |
| } |
| |
| generateText( o, desc, o.format ) |
| } |
| default : super.text( o ) |
| } |
| } |
| |
| |
| /* ********************************************************************************************** */ |
| /** Provides outline images for Message-DSL. |
| * |
| * Uses common (default) image for package and for import element. |
| * |
| * @see BasicDSLLabelProvider.image(Object) |
| * |
| * @param o Current outline element |
| * |
| * @return Image instance if requested image file was found, return value of overridden superclass |
| * method otherwise. |
| * |
| * @since yymmdd, name |
| * @date 160802, gu |
| */ /* ******************************************************************************************* */ |
| override image (Object o) { |
| switch (o) { |
| MessageModel : getInternalImage( 'dsl_message.gif' , class ) |
| MessagePackage : getInternalImage( 'package.gif' , class ) |
| MessageCategory : getInternalImage( 'category.gif' , class ) |
| MessageGroup : getInternalImage( 'group.gif' , class ) |
| MessageItem : getInternalImage( 'message_info.gif', class ) |
| MessageParameter : { |
| switch (o.oftype) { |
| case BOOLEAN : getInternalImage( 'boolean.gif' , class ) |
| case INTEGER : getInternalImage( 'int.gif' , class ) |
| case DOUBLE : getInternalImage( 'double.gif' , class ) |
| case STRING : getInternalImage( 'var_string.gif', class ) |
| case CLASS : getInternalImage( 'class.gif' , class ) |
| case OBJECT : getInternalImage( 'object.png' , class ) |
| case EXCEPTION : getInternalImage( 'exception.gif' , class ) |
| } |
| } |
| MessageDefaultFormat: { |
| val item = (o.eContainer as MessageItem) |
| if (o.equals(item.logFormat)) { |
| getInternalImage('agent_log_obj.gif', class) |
| } |
| else if (o.equals(item.showFormat)) { |
| getInternalImage('dsl_dialog.gif', class) |
| } |
| else { |
| getInternalImage('formatbuilder.gif', class) |
| } |
| } |
| default : null |
| } |
| } |
| } |