/*******************************************************************************
* Copyright (c) 2009, 2011 Sierra Wireless and others.
* 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:
* Sierra Wireless - initial API and implementation
*******************************************************************************/
package org.eclipse.koneki.ldt.ui.internal.editor.navigation;
import org.eclipse.dltk.core.IMember;
import org.eclipse.dltk.core.IType;
import org.eclipse.dltk.core.ModelException;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.koneki.ldt.core.internal.ast.models.LuaDLTKModelUtils;
import org.eclipse.koneki.ldt.ui.internal.Activator;
import org.eclipse.koneki.ldt.ui.internal.ImageConstants;
import org.eclipse.swt.graphics.Image;
public class LuaLabelProvider extends LabelProvider {
@Override
public String getText(final Object element) {
return null;
}
@Override
public Image getImage(final Object element) {
final IMember member = element instanceof IMember ? (IMember) element : null;
if (member == null)
return null;
try {
// Special icon for private type
if (member.exists()) {
if (member instanceof IType) {
if (LuaDLTKModelUtils.isModule(member)) {
return Activator.getDefault().getImageRegistry().get(ImageConstants.MODULE_OBJ16);
} else if (LuaDLTKModelUtils.isGlobalTable(member)) {
return Activator.getDefault().getImageRegistry().get(ImageConstants.GLOBAL_TABLE_OBJ16);
} else if (LuaDLTKModelUtils.isLocalTable(member)) {
return Activator.getDefault().getImageRegistry().get(ImageConstants.LOCAL_TABLE_OBJ16);
}
} else if (LuaDLTKModelUtils.isModuleFunction(member)) {
return Activator.getDefault().getImageRegistry().get(ImageConstants.MODULE_FUNCTION_OBJ16);
}
}
} catch (ModelException e) {
Activator.logError(Messages.LuaCompletionProvidersFlags, e);
}
// DLTK default behavior
return null;
}
}