public static String getCSSValueKey(CSSValue value) { if (value instanceof CSS2FontProperties) return getCSSFontPropertiesKey((CSS2FontProperties) value); if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) return getCSSPrimitiveValueKey((CSSPrimitiveValue) value); return null; }
public Object convert(CSSValue value, CSSEngine engine, Object context) throws Exception { if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) { CSSPrimitiveValue primitiveValue = (CSSPrimitiveValue) value; if ("true".equals(primitiveValue.getStringValue())) return Boolean.TRUE; } return Boolean.FALSE; }
@Override public void applyCSSProperty(Object element, CSSValue value, String pseudo, CSSEngine engine) throws Exception { if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) { CSSPrimitiveValue primitiveValue = (CSSPrimitiveValue) value; short type = primitiveValue.getPrimitiveType(); switch (type) { case CSSPrimitiveValue.CSS_IDENT: case CSSPrimitiveValue.CSS_RGBCOLOR: engine.applyCSSProperty(element, "background-color", value, pseudo); break; case CSSPrimitiveValue.CSS_URI: engine.applyCSSProperty(element, "background-image", value, pseudo); break; } } }
public String getCssText() { StringBuffer sb = new StringBuffer(); for (int i = 0; i < NUMBER_OF_STYLE; i++) { // we don't return the format in css as the format // is a complex object which can't be represented as // css string. if (i == IStyle.STYLE_DATA_FORMAT) continue; CSSValue value = getProperty(i); if (value != null) { sb.append(engine.getPropertyName(i)); sb.append(": "); short type = value.getCssValueType(); switch (type) { case CSSValue.CSS_PRIMITIVE_VALUE: { CSSPrimitiveValue pv = (CSSPrimitiveValue) value; short unitType = pv.getPrimitiveType(); switch (unitType) { case CSSPrimitiveValue.CSS_STRING: sb.append("'"); sb.append(pv.getStringValue()); sb.append("'"); break; case CSSPrimitiveValue.CSS_URI: sb.append("url('"); sb.append(pv.getStringValue()); sb.append("')"); break; default: sb.append(value.getCssText()); } } break; default: sb.append(value.getCssText()); } sb.append("; "); } } if (sb.length() > 2) { sb.setLength(sb.length() - 2); } return sb.toString(); }
@Override protected void applyCSSProperty( Control control, String property, CSSValue value, String pseudo, CSSEngine engine) throws Exception { if (!(control instanceof ToolBar)) return; ToolBar toolBar = (ToolBar) control; if (ICathyConstants.PROPERTY_TOOL_ITEM_COLOR.equals(property)) { Color color = (Color) engine.convert(value, Color.class, toolBar.getDisplay()); toolBar.setForeground(color); ToolItem[] items = toolBar.getItems(); for (ToolItem each : items) { String text = each.getText(); each.setText(text); } } else if (ICathyConstants.PROPERTY_VIEW_MENU.equals(property)) { if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) { if (((CSSPrimitiveValue) value).getPrimitiveType() == CSSPrimitiveValue.CSS_URI) { String imageUrl = ((CSSPrimitiveValue) value).getStringValue(); ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(new URL(imageUrl.toString())); Image image = JFaceResources.getResources().createImage(imageDescriptor); if (TOOLBAR_TAG_VIEW_MENU.equals(toolBar.getData())) { toolBar.getItem(0).setImage(image); } } } } // else if ("xswt-view-properties-pin".equals(property)) { // ToolItem[] items = toolBar.getItems(); // for (ToolItem each : items) { // Object data = each.getData(); // if (data instanceof ActionContributionItem) { // String id = ((ActionContributionItem) data).getId(); // if (id.contains("org.eclipse.ui.views.properties.PinPropertySheetAction")) // { // // } // } // } // } }
@Override protected void applyCSSProperty( Control control, String property, CSSValue value, String pseudo, CSSEngine engine) throws Exception { if (!(control instanceof FormText)) return; FormText formText = (FormText) control; if (ICathyConstants.PROPERTY_HYPERLINK_COLOR.equals(property)) { if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) { Color hyperlinkColor = (Color) engine.convert(value, Color.class, formText.getDisplay()); HyperlinkSettings hyperlinkSettings = formText.getHyperlinkSettings(); hyperlinkSettings.setForeground(hyperlinkColor); } } else if (ICathyConstants.PROPERTY_ACTIVE_HYPERLINK_COLOR.equals(property)) { Color activeHyperlinkColor = (Color) engine.convert(value, Color.class, formText.getDisplay()); formText.getHyperlinkSettings().setActiveForeground(activeHyperlinkColor); } }
@Override protected void applyCSSProperty( Control control, String property, CSSValue value, String pseudo, CSSEngine engine) throws Exception { if (!(control instanceof CTabFolder)) { return; } CTabFolder folder = (CTabFolder) control; CTabFolderRenderer renderer = folder.getRenderer(); if (!(renderer instanceof ICTabFolderRendering)) return; ICTabFolderRendering tabFolderRendering = (ICTabFolderRendering) renderer; Image image = null; if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) { if (((CSSPrimitiveValue) value).getPrimitiveType() == CSSPrimitiveValue.CSS_URI) { String imageUrl = ((CSSPrimitiveValue) value).getStringValue(); ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(new URL(imageUrl.toString())); image = JFaceResources.getResources().createImage(imageDescriptor); } } if (ICathyConstants.PROPERTY_MAXIMIZE_IMAGE.equals(property)) { tabFolderRendering.setMaximizeImage(image); } else if (ICathyConstants.PROPERTY_MINIMIZE_IMAGE.equals(property)) { tabFolderRendering.setMinimizeImage(image); } else if (ICathyConstants.PROPERTY_CLOSE_IMAGE.equals(property)) { tabFolderRendering.setCloseImage(image); } else if (ICathyConstants.PROPERTY_CLOSE_HOVER_IMAGE.equals(property)) { tabFolderRendering.setClsoeHoverImage(image); } else if (ICathyConstants.PROPERTY_CHEVRON_VISIBLE.equals(property)) { ReflectionSupport<CTabFolder> reflect = new ReflectionSupport<CTabFolder>(CTabFolder.class); boolean chevronVisible = (Boolean) engine.convert(value, Boolean.class, null); Method setChevronVisible = reflect.getMethod(METHOD_SET_CHEVRON_VISIBLE, new Class<?>[] {boolean.class}); reflect.executeMethod(setChevronVisible, folder, new Object[] {chevronVisible}); } }