blob: 1b634de3ee82a3b96d9080e3aa2118786c5bb7e8 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2018 xored software, Inc. 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:
* xored software, Inc. - initial API and Implementation (Alex Panchenko)
*******************************************************************************/
package org.eclipse.dltk.ui;
import org.eclipse.jface.resource.DataFormatException;
import org.eclipse.jface.resource.StringConverter;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.graphics.RGB;
/**
* @since 2.0
*/
public class ColorPreferenceConverter {
/**
* Converts preference value to {@link RGB}
*
* @param value
* @return converted value or <code>null</code>
*/
public static RGB asRGB(Object value) {
if (value instanceof RGB)
return (RGB) value;
else if (value instanceof String) {
final String s = (String) value;
if (s.length() == 0) {
// treat empty string as black color
return new RGB(0, 0, 0);
}
try {
return StringConverter.asRGB(s);
} catch (DataFormatException e) {
DLTKUIPlugin.warn(
NLS.bind("Error parsing {0} as color value", s), e); //$NON-NLS-1$
// fall through
}
}
return null;
}
}