| /* |
| * Copyright (c) 2011 Google Inc. |
| * |
| * 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 |
| */ |
| package com.google.eclipse.protobuf.ui.labeling; |
| |
| import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; |
| import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; |
| |
| import com.google.inject.Inject; |
| |
| /** |
| * Provides labels for a {@code EObject}s. |
| * |
| * @author alruiz@google.com (Alex Ruiz) |
| * |
| * @see <a href="http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider">Xtext Label Provider</a> |
| */ |
| public class ProtobufLabelProvider extends DefaultEObjectLabelProvider { |
| @Inject private Labels labels; |
| @Inject private Images images; |
| |
| @Inject public ProtobufLabelProvider(AdapterFactoryLabelProvider delegate) { |
| super(delegate); |
| } |
| |
| @Override public Object text(Object o) { |
| Object text = labels.labelFor(o); |
| return (text != null) ? text : super.text(o); |
| } |
| |
| @Override public Object image(Object o) { |
| return images.imageFor(o); |
| } |
| } |