Community
Participate
Working Groups
I have a prototype of a CSS Engine that I'll be committing to the e4.ui repository shortly. This engine is analogous to the CSS-SWT engine but it works directly against the E4 Workbench model elements, rather than indirecting through the SWT widget's modelElement/OWNING_ME. This allows bug 362420 to be addressed with CSS by the toggling the visible flag directly: ToolControl#SearchField { visibility: false; } Issues that arose: 1. CSSEngineImpl's element provider support only walk the object class hierarchy and ignore the interfaces, which doesn't work for EMF-based objects. I cleaned up CSSEngineImpl by extracting out the registry-based element provider to a separate class, and also added support for walking interfaces. 1.5. The relationship between AbstractCSSEngine's elementProvider and widgetMap was never very clear (viz bug 363053). And from looking at AbstractCSSEngine#handleWidgetDisposed() the widgetMap looks like it was supposed to be literally a map of widgets to elements, rather than widget classes to element providers. Since the only other use was for a test case, which was easily rewritten to use an IElementProvider, I've tossed the widgetMap. 2. ThemeEngine missing #getCSSEngines() so as to provide access to the CSS engines being managed; we want a single set of CSS files that can be interpreted as required. This is only necessary for the CSS Scratchpad
Fixed with commit: https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=7a97fe107b733e761069d443438b62eb82f4238c Bumped service release for org.eclipse.e4.ui.css.swt.theme to 201: https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=a0929617e9bc0ec46d76d8898739b7450795b942
(In reply to Brian de Alwis from comment #1) > Bumped service release for org.eclipse.e4.ui.css.swt.theme to 201: > > > https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/ > ?id=a0929617e9bc0ec46d76d8898739b7450795b942 There are three bugs with that: 1. The version was already correctly incremented for Luna. 2. If at all, the increment would have been +100 (+1 is for service releases). For more details about version numbering see https://wiki.eclipse.org/Version_Numbering 3. The version must also be updated in the 'pom.xml'. Hint: The Releng tools plug-in: http://download.eclipse.org/eclipse/downloads/drops4/S-4.4M6-201403061200/#org.eclipse.releng offers to do that check for you (see 'POM Version Tool' preference page). Unfortunately, there's already an I-build produced with the wrong number, so we have to set it to 0.9.300. Fixed with http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=
> Fixed with > http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id= http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=b7b8ed1e8dc76741b95e530d32ae534aee1831d6
Thanks for fixing this Dani. I have the releng tool installed but discovered that it is defaults to ignore POM version mismatches.
Verified still working with I20140428-2000.
(In reply to Brian de Alwis from comment #5) > Verified still working with I20140428-2000. Can you add this development to the N&N M7?
There's one little niggling problem that needs to be dealt with first: see bug 433789. Thanks for reminding me to file the bug.