blob: 127fd6721894c4550912851d8e3f501fdd666de8 [file] [log] [blame]
/*
* 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.preferences.pages;
import static com.google.eclipse.protobuf.ui.preferences.pages.SystemColors.getSystemColor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
import org.eclipse.swt.widgets.Label;
/**
* Utility methods related to <code>{@link Label}</code> widgets.
*
* @author alruiz@google.com (Alex Ruiz)
*/
public final class LabelWidgets {
/**
* Enables the given label widget if the given "enabled" state is {@code true}, and disables it otherwise. This method
* also sets the foreground of the widget to the system color with id <code>{@link SWT#COLOR_WIDGET_FOREGROUND}</code>
* if the given "enabled" state is {@code true}, otherwise it sets the foreground of the widget to the system color
* with id <code>{@link SWT#COLOR_TITLE_INACTIVE_FOREGROUND}</code>.
* @param label the given label widget.
* @param enabled the new "enabled" state.
* @throws SWTException if the given label widget has been disposed or if this method is not called from the thread
* that created the label widget.
*/
public static void setEnabled(Label label, boolean enabled) {
label.setEnabled(enabled);
updateForegroundColor(label);
}
private static void updateForegroundColor(Label label) {
int colorId = label.isEnabled() ? SWT.COLOR_WIDGET_FOREGROUND : SWT.COLOR_TITLE_INACTIVE_FOREGROUND;
label.setForeground(getSystemColor(colorId));
}
private LabelWidgets() {}
}