Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 355002 - EPP packages need styling
Summary: EPP packages need styling
Status: CLOSED WONTFIX
Alias: None
Product: EPP
Classification: Technology
Component: java-package (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 1.4.0   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-17 15:09 EDT by John Arthorne CLA
Modified: 2020-06-03 07:41 EDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Arthorne CLA 2011-08-17 15:09:07 EDT
Juno M1

I am entering this against The EPP Java package because that is the one I tried, but I suspect a similar issue in other packages.

In Eclipse 4.x, a CSS file specified by the product defines the styling of the user interface - the colors, margins, tab styles, etc. Since the EPP packages don't yet include any CSS, they inherit some default settings while IMO look quite ugly. EPP packages should have some CSS in their product plugin to pretty them up a bit.
Comment 1 John Arthorne CLA 2011-08-17 15:15:58 EDT
Bogdan, they can just refer to the platform CSS can't they?
Comment 2 Markus Knauer CLA 2011-08-17 15:49:59 EDT
(In reply to comment #1)
> Bogdan, they can just refer to the platform CSS can't they?

Yes, that would be my preferred way: Using the platform CSS as a default for all packages and *if* a package maintainer wants to change that give him/her the freedom to do this.
Comment 3 John Arthorne CLA 2011-08-17 16:08:49 EDT
Remy and I also noticed that going to General > Appearance preference page doesn't work, presumably because there are not styles available.

Eric, what about an XMI file. Is it ok for the EPP packages to inherit the default XMI file or should they have their own?
Comment 4 Remy Suen CLA 2011-08-17 16:12:11 EDT
(In reply to comment #3)
> Eric, what about an XMI file. Is it ok for the EPP packages to inherit the
> default XMI file or should they have their own?

The default one can be used as-is. I ran a diff and they are essentially identical.
Comment 5 John Arthorne CLA 2011-08-17 16:49:55 EDT
Markus, all you need is the following two additional properties in the product:

<property name="cssTheme" value="org.eclipse.e4.ui.css.theme.e4_default"> </property> 
<property name="applicationCSSResources" value="platform:/plugin org.eclipse.platform/images/"> 
</property>

I just tested this with Eric and Bogdan and it looks much better. We'll also enter a bug to understand why it isn't coming up with a more reasonable default by itself if the product doesn't specify one (maybe we're attempting to emulatate the classic look by default, but the result isn't pretty).
Comment 6 John Arthorne CLA 2011-08-17 16:52:56 EDT
Entered bug 355010 against platform to investigate better default behaviour when products don't specify any theme.
Comment 7 Markus Knauer CLA 2011-08-17 17:22:33 EDT
(In reply to comment #5)
> Markus, all you need is the following two additional properties in the product:
> 
> <property name="cssTheme" value="org.eclipse.e4.ui.css.theme.e4_default">
> </property> 
> <property name="applicationCSSResources" value="platform:/plugin
> org.eclipse.platform/images/"> 
> </property>

Thanks, I added the properties to all packages and we'll see what happens in the next build.

What about this property? I found it in the sdk product and it looks like another important one:

      <property
           name="applicationXMI"
           value="org.eclipse.platform/LegacyIDE.e4xmi">
      </property>

(And where can I find a reference of all those properties? Eclipse Help?)
Comment 8 John Arthorne CLA 2011-08-18 09:44:17 EDT
(In reply to comment #7)
>       <property
>            name="applicationXMI"
>            value="org.eclipse.platform/LegacyIDE.e4xmi">
>       </property>

You don't need that, but Platform team is still trying to figure out why ;) You get a default application model when this property is missing, but we're not sure if it is identical to the "legacy IDE" model shown above. We couldn't see any behaviour problems in the EPP packages due to missing model definition, although perhaps some will surface. We'll let you know if you need more. 

> (And where can I find a reference of all those properties? Eclipse Help?)

There is no formal documentation of these properties as far as I know. I have entered bug 355085 for this.
Comment 9 John Arthorne CLA 2011-08-18 09:46:08 EDT
> There is no formal documentation of these properties as far as I know. I have
> entered bug 355085 for this.

There is actually pretty good coverage of this topic in Lars Vogel's Eclipse 4 tutorial:

http://www.vogella.de/articles/EclipseE4/article.html#firste4_extensioin
Comment 10 Remy Suen CLA 2011-08-18 09:48:43 EDT
I don't think I was clear in comment 3 what I was doing/diffing things from/to.

(In reply to comment #8)
> (In reply to comment #7)
> >       <property
> >            name="applicationXMI"
> >            value="org.eclipse.platform/LegacyIDE.e4xmi">
> >       </property>
> 
> You don't need that, but Platform team is still trying to figure out why ;)

We include one in our org.eclipse.ui.workbench which we fallback to if we don't find the org.eclipse.platform bundle.

> You
> get a default application model when this property is missing, but we're not
> sure if it is identical to the "legacy IDE" model shown above.

The diff shows one insignificant difference for a value which will change at runtime.
Comment 11 Paul Webster CLA 2011-08-18 09:51:09 EDT
(In reply to comment #8)
> You don't need that, but Platform team is still trying to figure out why ;) You
> get a default application model when this property is missing, but we're not
> sure if it is identical to the "legacy IDE" model shown above. We couldn't see
> any behaviour problems in the EPP packages due to missing model definition,
> although perhaps some will surface. We'll let you know if you need more. 
> 

We added a fallback copy of LegacyIDE.e4xmi to org.eclipse.ui.workbench.  If we get no property at all, we use that.  It was to solve the bug where a standard RCP app (like the generated Mail app) wouldn't run on 4.1 (because the product didn't specify a model).

IIRC we're passing it in as a system property from org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor)

PW
Comment 12 Paul Webster CLA 2011-08-18 09:52:16 EDT
(In reply to comment #10)
> The diff shows one insignificant difference for a value which will change at
> runtime.

In theory we would keep them the same, there's no reason for them to be different.

PW
Comment 13 Alexander Kurtakov CLA 2020-06-03 07:41:55 EDT
No one spent time on it for almost a decade. Time to close it.