Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 313950 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/e4/ui/css/swt/properties/custom/CSSPropertyCornerRadiusSWTHandler.java (-7 / +5 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.e4.ui.css.swt.properties.custom;
11
package org.eclipse.e4.ui.css.swt.properties.custom;
12
12
13
import java.lang.reflect.Method;
14
13
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
15
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
14
import org.eclipse.e4.core.contexts.IEclipseContext;
16
import org.eclipse.e4.core.contexts.IEclipseContext;
15
import org.eclipse.e4.ui.css.core.dom.properties.ICSSPropertyHandler;
17
import org.eclipse.e4.ui.css.core.dom.properties.ICSSPropertyHandler;
Lines 33-45 Link Here
33
			int radiusValue = (int) ((CSSPrimitiveValue) value).getFloatValue(CSSPrimitiveValue.CSS_NUMBER);
35
			int radiusValue = (int) ((CSSPrimitiveValue) value).getFloatValue(CSSPrimitiveValue.CSS_NUMBER);
34
			
36
			
35
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
37
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
36
					
38
			
37
			Object cssContext = control.getDisplay().getData("org.eclipse.e4.ui.css.context");
39
			Method m = renderer.getClass().getDeclaredMethod("setRadius", new Class[]{Integer.class});
38
			if (cssContext != null && cssContext instanceof IEclipseContext) {
40
			m.invoke(renderer, Integer.valueOf(radiusValue));
39
				IEclipseContext context = (IEclipseContext) cssContext;
40
				context.set("radius", new Integer(radiusValue));
41
				ContextInjectionFactory.inject(renderer, context); 
42
			}
43
		}
41
		}
44
	}
42
	}
45
	
43
	
(-)src/org/eclipse/e4/ui/css/swt/properties/custom/CSSPropertyInnerKeylineSWTHandler.java (-14 / +3 lines)
Lines 35-54 Link Here
35
			Color newColor = (Color) engine.convert(value, Color.class, control.getDisplay());
35
			Color newColor = (Color) engine.convert(value, Color.class, control.getDisplay());
36
			
36
			
37
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
37
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
38
			Object cssContext = control.getDisplay().getData("org.eclipse.e4.ui.css.context");
38
39
			if (cssContext != null && cssContext instanceof IEclipseContext) {
39
			Method m = renderer.getClass().getDeclaredMethod("setInnerKeyline", new Class[]{Color.class});
40
				IEclipseContext context = (IEclipseContext) cssContext;
40
			m.invoke(renderer, newColor);
41
				context.set("innerKeyline", newColor);
42
				ContextInjectionFactory.inject(renderer, context); 
43
			} else {
44
				Method[] methods = renderer.getClass().getMethods();
45
				for (int i = 0; i < methods.length; i++) {
46
					Method m = methods[i];
47
					if (m.getName().toLowerCase().contains("setinnerkeyline")) {
48
						m.invoke(renderer, newColor);
49
					}
50
				}
51
			}
52
		}
41
		}
53
	}
42
	}
54
	
43
	
(-)src/org/eclipse/e4/ui/css/swt/properties/custom/CSSPropertyOuterKeylineSWTHandler.java (-19 / +3 lines)
Lines 38-62 Link Here
38
			Color newColor = (Color) engine.convert(value, Color.class, control.getDisplay());
38
			Color newColor = (Color) engine.convert(value, Color.class, control.getDisplay());
39
			
39
			
40
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
40
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
41
			Object cssContext = control.getDisplay().getData("org.eclipse.e4.ui.css.context");
41
42
			if (cssContext != null && cssContext instanceof IEclipseContext) {
42
			Method m = renderer.getClass().getMethod("setOuterKeyline", new Class[]{Color.class});
43
				IEclipseContext context = (IEclipseContext) cssContext;
43
			m.invoke(renderer, newColor);
44
				IEclipseContext childContext = (IEclipseContext) contexts.get(control);
45
				if (childContext == null) {
46
						childContext = context.createChild();
47
						contexts.put(control, childContext);
48
				}
49
				childContext.set("outerKeyline", newColor);
50
				ContextInjectionFactory.inject(renderer, childContext); 
51
			} else {
52
				Method[] methods = renderer.getClass().getMethods();
53
				for (int i = 0; i < methods.length; i++) {
54
					Method m = methods[i];
55
					if (m.getName().toLowerCase().contains("setouterkeyline")) {
56
						m.invoke(renderer, newColor);
57
					}
58
				}
59
			}
60
		}
44
		}
61
	}
45
	}
62
	
46
	
(-)src/org/eclipse/e4/ui/css/swt/properties/custom/CSSPropertyShadowVisibleSWTHandler.java (-7 / +6 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.e4.ui.css.swt.properties.custom;
11
package org.eclipse.e4.ui.css.swt.properties.custom;
12
12
13
import java.lang.reflect.Method;
14
import org.eclipse.swt.graphics.Color;
15
13
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
16
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
14
import org.eclipse.e4.core.contexts.IEclipseContext;
17
import org.eclipse.e4.core.contexts.IEclipseContext;
15
import org.eclipse.e4.ui.css.core.dom.properties.ICSSPropertyHandler;
18
import org.eclipse.e4.ui.css.core.dom.properties.ICSSPropertyHandler;
Lines 32-44 Link Here
32
		
35
		
33
		CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
36
		CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
34
		
37
		
35
		Object appContext = control.getDisplay().getData("org.eclipse.e4.ui.css.context");
38
		Method m = renderer.getClass().getDeclaredMethod("setShadowVisible", new Class[]{Boolean.class});
36
		if (appContext != null && appContext instanceof IEclipseContext) {
39
		m.invoke(renderer, Boolean.valueOf(shadowVisible));
37
			IEclipseContext context = (IEclipseContext) appContext;
40
38
			IEclipseContext childContext = context.createChild();
39
			childContext.set("shadowVisible", new Boolean(shadowVisible));
40
			ContextInjectionFactory.inject(renderer, childContext); 
41
		}
42
	}
41
	}
43
	
42
	
44
	protected String retrieveCSSProperty(Control control, String property,
43
	protected String retrieveCSSProperty(Control control, String property,
(-)src/org/eclipse/e4/ui/css/swt/properties/custom/CSSPropertyUnselectedTabsSWTHandler.java (-11 / +11 lines)
Lines 8-13 Link Here
8
 *******************************************************************************/
8
 *******************************************************************************/
9
package org.eclipse.e4.ui.css.swt.properties.custom;
9
package org.eclipse.e4.ui.css.swt.properties.custom;
10
10
11
import java.lang.reflect.Array;
12
13
import java.lang.reflect.Method;
14
11
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
15
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
12
import org.eclipse.e4.core.contexts.IEclipseContext;
16
import org.eclipse.e4.core.contexts.IEclipseContext;
13
import org.eclipse.e4.ui.css.core.dom.properties.Gradient;
17
import org.eclipse.e4.ui.css.core.dom.properties.Gradient;
Lines 38-54 Link Here
38
			folder.setBackground(colors, percents, true);
42
			folder.setBackground(colors, percents, true);
39
			
43
			
40
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
44
			CTabFolderRenderer renderer = ((CTabFolder) control).getRenderer();
41
			Object cssContext = control.getDisplay().getData("org.eclipse.e4.ui.css.context");
45
			
42
			if (cssContext != null && cssContext instanceof IEclipseContext) {
46
			if (pseudo != null && pseudo.equals("selected")) {
43
				IEclipseContext context = (IEclipseContext) cssContext;
47
				Method m = renderer.getClass().getDeclaredMethod("setActiveToolbarGradient", new Class[]{Color[].class, int[].class});
44
				if (pseudo != null && pseudo.equals("selected")) {
48
				m.invoke(renderer, colors, percents);
45
					context.set("activeToolbarColors", colors);
49
			} else {
46
					context.set("activeToolbarPercents", percents);
50
				Method m = renderer.getClass().getDeclaredMethod("setInactiveToolbarGradient", new Class[]{Color[].class, int[].class});
47
				} else {
51
				m.invoke(renderer, colors, percents);
48
					context.set("inactiveToolbarColors", colors);
49
					context.set("inactiveToolbarPercents", percents);
50
				}
51
				ContextInjectionFactory.inject(renderer, context); 
52
			}
52
			}
53
		}
53
		}
54
	}
54
	}
(-)src/org/eclipse/e4/ui/workbench/renderers/swt/CTabRendering.java (-1 / +1 lines)
Lines 867-873 Link Here
867
867
868
	@Inject
868
	@Inject
869
	@Optional
869
	@Optional
870
	public void setCornerRadius(@Named("radius") Integer radius) {
870
	public void setRadius(@Named("radius") Integer radius) {
871
		cornerSize = radius.intValue();
871
		cornerSize = radius.intValue();
872
		parent.redraw();
872
		parent.redraw();
873
	}
873
	}

Return to bug 313950