blob: 4af97fb0a255821dc1e2501213665566a1c2bcce [file] [log] [blame]
/**
* Copyright (c) 2012, 2019 Mia-Software and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Grégoire Dupé (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
* Grégoire Dupé (Mia-Software) - Bug 472747 - The customization loading dialog is not easily readable
*/
package org.eclipse.modisco.facet.custom.ui.internal.dialog;
import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.modisco.facet.custom.metamodel.v0_2_0.custom.Customization;
import org.eclipse.modisco.facet.custom.ui.internal.ImageProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
public class ColorLabelProvider extends LabelProvider implements IColorProvider {
private final LoadCustomizationsDialog<?> loadCustomDialog;
public ColorLabelProvider(final LoadCustomizationsDialog<?> loadCustomDialog) {
super();
this.loadCustomDialog = loadCustomDialog;
}
@Override
public String getText(final Object element) {
final Customization customization = (Customization) element;
String name = customization.getName();
if (name == null) {
name = ""; //$NON-NLS-1$
}
return name.replaceAll("(.*)\\.(.*)", "$2 ($1)"); //$NON-NLS-1$//$NON-NLS-2$
}
@Override
public Image getImage(final Object element) {
Image result;
if (this.loadCustomDialog.getLockedCustoms().contains(element)) {
result = ImageProvider.getInstance().getGrayedUiCustomIcon();
} else {
result = ImageProvider.getInstance().getUiCustomIcon();
}
return result;
}
public Color getForeground(final Object element) {
Color result = null;
if (this.loadCustomDialog.getLockedCustoms().contains(element)) {
result = Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY);
}
return result;
}
public Color getBackground(final Object element) {
return null;
}
}