blob: 1cc191c16ad08470abcf3a86d8314283779f4a08 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 Angelo Zerr 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:
* Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation
*******************************************************************************/
package org.eclipse.e4.ui.css.swt.helpers;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Widget;
/**
* SWT Helper to get SWT styles {@link Widget} as String.
*
* @version 1.0.0
* @author <a href="mailto:angelo.zerr@gmail.com">Angelo ZERR</a>
*
*/
public class SWTStyleHelpers {
/**
* Return SWT style constant from {@link Widget} <code>widget</code> as
* String. Each SWT style are separate with space character.
*
* @param style
* @return
*/
public static String getSWTWidgetStyleAsString(Widget widget) {
return getSWTWidgetStyleAsString(widget.getStyle(), " ");
}
/**
* Return SWT style constant <code>style</code> as String. Each SWT style
* are separate with <code>separator</code> String.
*
* @param style
* @return
*/
public static String getSWTWidgetStyleAsString(int style, String separator) {
StringBuffer swtStyles = new StringBuffer();
// Use catch error if SWT version doesn't provide
// the SWT constant
try {
if ((style & SWT.BAR) != 0)
addSWTStyle(swtStyles, "SWT.BAR", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.DROP_DOWN) != 0)
addSWTStyle(swtStyles, "SWT.DROP_DOWN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.POP_UP) != 0)
addSWTStyle(swtStyles, "SWT.POP_UP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SEPARATOR) != 0)
addSWTStyle(swtStyles, "SWT.SEPARATOR", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.TOGGLE) != 0)
addSWTStyle(swtStyles, "SWT.TOGGLE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ARROW) != 0)
addSWTStyle(swtStyles, "SWT.ARROW", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.PUSH) != 0)
addSWTStyle(swtStyles, "SWT.PUSH", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.RADIO) != 0)
addSWTStyle(swtStyles, "SWT.RADIO", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CHECK) != 0)
addSWTStyle(swtStyles, "SWT.CHECK", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CASCADE) != 0)
addSWTStyle(swtStyles, "SWT.CASCADE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MULTI) != 0)
addSWTStyle(swtStyles, "SWT.MULTI", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SINGLE) != 0)
addSWTStyle(swtStyles, "SWT.SINGLE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.READ_ONLY) != 0)
addSWTStyle(swtStyles, "SWT.READ_ONLY", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.WRAP) != 0)
addSWTStyle(swtStyles, "SWT.WRAP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SEARCH) != 0)
addSWTStyle(swtStyles, "SWT.SEARCH", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SIMPLE) != 0)
addSWTStyle(swtStyles, "SWT.SIMPLE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.PASSWORD) != 0)
addSWTStyle(swtStyles, "SWT.PASSWORD", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHADOW_IN) != 0)
addSWTStyle(swtStyles, "SWT.SHADOW_IN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHADOW_OUT) != 0)
addSWTStyle(swtStyles, "SWT.SHADOW_OUT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHADOW_ETCHED_IN) != 0)
addSWTStyle(swtStyles, "SWT.SHADOW_ETCHED_IN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHADOW_ETCHED_OUT) != 0)
addSWTStyle(swtStyles, "SWT.SHADOW_ETCHED_OUT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHADOW_NONE) != 0)
addSWTStyle(swtStyles, "SWT.SHADOW_NONE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.INDETERMINATE) != 0)
addSWTStyle(swtStyles, "SWT.INDETERMINATE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.TOOL) != 0)
addSWTStyle(swtStyles, "SWT.TOOL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO_TRIM) != 0)
addSWTStyle(swtStyles, "SWT.NO_TRIM", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.RESIZE) != 0)
addSWTStyle(swtStyles, "SWT.RESIZE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.TITLE) != 0)
addSWTStyle(swtStyles, "SWT.TITLE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CLOSE) != 0)
addSWTStyle(swtStyles, "SWT.CLOSE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MENU) != 0)
addSWTStyle(swtStyles, "SWT.MENU", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MIN) != 0)
addSWTStyle(swtStyles, "SWT.MIN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MAX) != 0)
addSWTStyle(swtStyles, "SWT.MAX", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.H_SCROLL) != 0)
addSWTStyle(swtStyles, "SWT.H_SCROLL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.V_SCROLL) != 0)
addSWTStyle(swtStyles, "SWT.V_SCROLL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.BORDER) != 0)
addSWTStyle(swtStyles, "SWT.BORDER", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CLIP_CHILDREN) != 0)
addSWTStyle(swtStyles, "SWT.CLIP_CHILDREN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CLIP_SIBLINGS) != 0)
addSWTStyle(swtStyles, "SWT.CLIP_SIBLINGS", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ON_TOP) != 0)
addSWTStyle(swtStyles, "SWT.ON_TOP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHELL_TRIM) != 0)
addSWTStyle(swtStyles, "SWT.SHELL_TRIM", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.DIALOG_TRIM) != 0)
addSWTStyle(swtStyles, "SWT.DIALOG_TRIM", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MODELESS) != 0)
addSWTStyle(swtStyles, "SWT.MODELESS", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MODELESS) != 0)
addSWTStyle(swtStyles, "SWT.MODELESS", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.PRIMARY_MODAL) != 0)
addSWTStyle(swtStyles, "SWT.PRIMARY_MODAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.APPLICATION_MODAL) != 0)
addSWTStyle(swtStyles, "SWT.APPLICATION_MODAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SYSTEM_MODAL) != 0)
addSWTStyle(swtStyles, "SWT.SYSTEM_MODAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.HIDE_SELECTION) != 0)
addSWTStyle(swtStyles, "SWT.HIDE_SELECTION", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.FULL_SELECTION) != 0)
addSWTStyle(swtStyles, "SWT.FULL_SELECTION", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.FLAT) != 0)
addSWTStyle(swtStyles, "SWT.FLAT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SMOOTH) != 0)
addSWTStyle(swtStyles, "SWT.SMOOTH", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO_BACKGROUND) != 0)
addSWTStyle(swtStyles, "SWT.NO_BACKGROUND", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO_FOCUS) != 0)
addSWTStyle(swtStyles, "SWT.NO_FOCUS", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO_REDRAW_RESIZE) != 0)
addSWTStyle(swtStyles, "SWT.NO_REDRAW_RESIZE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO_MERGE_PAINTS) != 0)
addSWTStyle(swtStyles, "SWT.NO_MERGE_PAINTS", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO_RADIO_GROUP) != 0)
addSWTStyle(swtStyles, "SWT.NO_RADIO_GROUP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LEFT_TO_RIGHT) != 0)
addSWTStyle(swtStyles, "SWT.LEFT_TO_RIGHT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.RIGHT_TO_LEFT) != 0)
addSWTStyle(swtStyles, "SWT.RIGHT_TO_LEFT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MIRRORED) != 0)
addSWTStyle(swtStyles, "SWT.MIRRORED", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.VIRTUAL) != 0)
addSWTStyle(swtStyles, "SWT.VIRTUAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.DOUBLE_BUFFERED) != 0)
addSWTStyle(swtStyles, "SWT.DOUBLE_BUFFERED", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.UP) != 0)
addSWTStyle(swtStyles, "SWT.UP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.TOP) != 0)
addSWTStyle(swtStyles, "SWT.TOP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.DOWN) != 0)
addSWTStyle(swtStyles, "SWT.DOWN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.BOTTOM) != 0)
addSWTStyle(swtStyles, "SWT.BOTTOM", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LEAD) != 0)
addSWTStyle(swtStyles, "SWT.LEAD", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LEFT) != 0)
addSWTStyle(swtStyles, "SWT.LEFT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.TRAIL) != 0)
addSWTStyle(swtStyles, "SWT.TRAIL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.RIGHT) != 0)
addSWTStyle(swtStyles, "SWT.RIGHT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CENTER) != 0)
addSWTStyle(swtStyles, "SWT.CENTER", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.HORIZONTAL) != 0)
addSWTStyle(swtStyles, "SWT.HORIZONTAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.VERTICAL) != 0)
addSWTStyle(swtStyles, "SWT.VERTICAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.DATE) != 0)
addSWTStyle(swtStyles, "SWT.DATE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.TIME) != 0)
addSWTStyle(swtStyles, "SWT.TIME", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CALENDAR) != 0)
addSWTStyle(swtStyles, "SWT.CALENDAR", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SHORT) != 0)
addSWTStyle(swtStyles, "SWT.SHORT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MEDIUM) != 0)
addSWTStyle(swtStyles, "SWT.MEDIUM", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LONG) != 0)
addSWTStyle(swtStyles, "SWT.LONG", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.MOZILLA) != 0)
addSWTStyle(swtStyles, "SWT.MOZILLA", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.BALLOON) != 0)
addSWTStyle(swtStyles, "SWT.BALLOON", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.BEGINNING) != 0)
addSWTStyle(swtStyles, "SWT.BEGINNING", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.FILL) != 0)
addSWTStyle(swtStyles, "SWT.FILL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.DBCS) != 0)
addSWTStyle(swtStyles, "SWT.DBCS", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ALPHA) != 0)
addSWTStyle(swtStyles, "SWT.ALPHA", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NATIVE) != 0)
addSWTStyle(swtStyles, "SWT.NATIVE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.PHONETIC) != 0)
addSWTStyle(swtStyles, "SWT.PHONETIC", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ROMAN) != 0)
addSWTStyle(swtStyles, "SWT.ROMAN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ICON_ERROR) != 0)
addSWTStyle(swtStyles, "SWT.ICON_ERROR", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ICON_INFORMATION) != 0)
addSWTStyle(swtStyles, "SWT.ICON_INFORMATION", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ICON_QUESTION) != 0)
addSWTStyle(swtStyles, "SWT.ICON_QUESTION", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ICON_WARNING) != 0)
addSWTStyle(swtStyles, "SWT.ICON_WARNING", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ICON_WORKING) != 0)
addSWTStyle(swtStyles, "SWT.ICON_WORKING", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.OK) != 0)
addSWTStyle(swtStyles, "SWT.OK", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.YES) != 0)
addSWTStyle(swtStyles, "SWT.YES", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NO) != 0)
addSWTStyle(swtStyles, "SWT.NO", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CANCEL) != 0)
addSWTStyle(swtStyles, "SWT.CANCEL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ABORT) != 0)
addSWTStyle(swtStyles, "SWT.ABORT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.RETRY) != 0)
addSWTStyle(swtStyles, "SWT.RETRY", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.IGNORE) != 0)
addSWTStyle(swtStyles, "SWT.IGNORE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.OPEN) != 0)
addSWTStyle(swtStyles, "SWT.OPEN", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.SAVE) != 0)
addSWTStyle(swtStyles, "SWT.SAVE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.INHERIT_NONE) != 0)
addSWTStyle(swtStyles, "SWT.INHERIT_NONE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.INHERIT_DEFAULT) != 0)
addSWTStyle(swtStyles, "SWT.INHERIT_DEFAULT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.INHERIT_FORCE) != 0)
addSWTStyle(swtStyles, "SWT.INHERIT_FORCE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ERROR_MENU_NOT_DROP_DOWN) != 0)
addSWTStyle(swtStyles, "SWT.ERROR_MENU_NOT_DROP_DOWN",
separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ERROR_MENUITEM_NOT_CASCADE) != 0)
addSWTStyle(swtStyles, "SWT.ERROR_MENUITEM_NOT_CASCADE",
separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ERROR_MENU_NOT_BAR) != 0)
addSWTStyle(swtStyles, "SWT.ERROR_MENU_NOT_BAR", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ERROR_MENU_NOT_POP_UP) != 0)
addSWTStyle(swtStyles, "SWT.ERROR_MENU_NOT_POP_UP", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.NORMAL) != 0)
addSWTStyle(swtStyles, "SWT.NORMAL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.BOLD) != 0)
addSWTStyle(swtStyles, "SWT.BOLD", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.ITALIC) != 0)
addSWTStyle(swtStyles, "SWT.ITALIC", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CAP_FLAT) != 0)
addSWTStyle(swtStyles, "SWT.CAP_FLAT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CAP_ROUND) != 0)
addSWTStyle(swtStyles, "SWT.CAP_ROUND", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.CAP_SQUARE) != 0)
addSWTStyle(swtStyles, "SWT.CAP_SQUARE", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.JOIN_MITER) != 0)
addSWTStyle(swtStyles, "SWT.JOIN_MITER", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.JOIN_BEVEL) != 0)
addSWTStyle(swtStyles, "SWT.JOIN_BEVEL", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LINE_SOLID) != 0)
addSWTStyle(swtStyles, "SWT.LINE_SOLID", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LINE_DASH) != 0)
addSWTStyle(swtStyles, "SWT.LINE_DASH", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LINE_DOT) != 0)
addSWTStyle(swtStyles, "SWT.LINE_DOT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LINE_DASHDOT) != 0)
addSWTStyle(swtStyles, "SWT.LINE_DASHDOT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LINE_DASHDOTDOT) != 0)
addSWTStyle(swtStyles, "SWT.LINE_DASHDOTDOT", separator);
} catch (Exception e) {
}
try {
if ((style & SWT.LINE_CUSTOM) != 0)
addSWTStyle(swtStyles, "SWT.LINE_CUSTOM", separator);
} catch (Exception e) {
}
return swtStyles.toString();
}
/**
* Add SWT String <code>style</code> to the {@link StringBuffer}
* <cod>swtStyles</code> and separate it with <code>separator</code>
* String.
*
* @param swtStyles
* @param style
* @param separator
*/
private static void addSWTStyle(StringBuffer swtStyles, String style,
String separator) {
if (swtStyles.length() > 0)
swtStyles.append(separator);
swtStyles.append(style);
}
}