/******************************************************************************* * Copyright (c) 2008, 2016 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 * Lars Vogel <Lars.Vogel@vogella.com> - Bug 490912 *******************************************************************************/ package org.eclipse.e4.ui.css.core.dom.properties; import org.eclipse.e4.ui.css.core.engine.CSSEngine; import org.w3c.dom.css.CSSValue; /** * CSS Property Handler interface used to * <ul> * <li>apply CSS Property value to an element like Swing Component, SWT Widget. * </li> * <li>retrieve default CSS Property value from element like Swing Component, * SWT Widget.</li> * </ul> */ public interface ICSSPropertyHandler { /** * Apply CSS Property <code>property</code> (ex : background-color) with * CSSValue <code>value</code> (ex : red) into the <code>element</code> (ex * : Swing Component, SWT Widget). * * @param element * Swing Component, SWT Widget... * @param property * CSS Property * @param value * CSS value * @param pseudo * @param engine * CSS Engine * @return * @throws Exception */ public boolean applyCSSProperty(Object element, String property, CSSValue value, String pseudo, CSSEngine engine) throws Exception; /** * Retrieve CSS value (ex : red) of CSS Property <code>property</code> (ex : * background-color) from the <code>element</code> (ex : Swing Component, * SWT Widget). * * @param element * @param property * CSS Property * @param engine * CSS Engine * @return retrieved CSS properties or null * @throws Exception */ default public String retrieveCSSProperty(Object element, String property, String pseudo, CSSEngine engine) throws Exception { return null; } }