Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Contribution to UI in New Plugin Wizard must be completed #1378

Open
opcoach opened this issue Aug 19, 2024 · 9 comments
Open

Make Contribution to UI in New Plugin Wizard must be completed #1378

opcoach opened this issue Aug 19, 2024 · 9 comments
Assignees

Comments

@opcoach
Copy link
Contributor

opcoach commented Aug 19, 2024

When we are doing a pure UI E4 plugin we should not have a dependency to org.eclipse.ui anymore but only on JFace.

Nevertheless the wizard is now ambiguous because to do a pure E4 UI Plugin we should say : Make contribution to UI -> NO and then add the dependency to jface manually... Not really handy.

The wizard should be changed like this :

Make Contribution to UI : Yes/NO. -> Then if Yes we should be able to select :

  • Pure E4 UI Plugin
  • Hybrid E3/E4 Plugin
  • Legacy E3 UI plugin. (Legacy is important to say -> don't do that anymore)
@laeubi
Copy link
Contributor

laeubi commented Aug 19, 2024

@opcoach
Copy link
Contributor Author

opcoach commented Aug 20, 2024

Here are the expectations depending on the choices :

UI choice Minimum dependencies to be added templates to be proposed
Legacy E3 UI plugin org.eclipse.ui, org.eclipse.core.runtime templates using 3.x API
Hybrid E3-E4 UI plugin org.eclipse.ui, org.eclipsecore.runtime templates using 3.x API and 4.X API
Pure E4 UI Plugin org.eclipse.jface, org.eclipse.swt, org.eclipse.core.runtime templates using 4.X API

If the 'Make a Eclipse RCP application' is chosen, the template list will differ by filtering the possible templates

Templates will create either UI extensions or UI model fragments.

@laeubi
Copy link
Contributor

laeubi commented Aug 20, 2024

I think we should not name it "pure E4" (just RCP 4.x), "Hybrid" is actually E4 Compatibility Layer and "legacy E3" should simply be RCP 3.x ... the term legacy would mean you can do everything with E4 what is not the case and even Eclipse IDE itself heavily uses E3.

@opcoach
Copy link
Contributor Author

opcoach commented Aug 20, 2024

Yes Good idea for RCP 3.x, RCP 4.x.
For E4 Compatibility Layer the name is too long and a RCP 3.x is also running using the compatibility layer. WDYT of RCP 3 or 4.x ?

@laeubi
Copy link
Contributor

laeubi commented Aug 20, 2024

I think aktuelly a "pure E3" is not really possible anymore and you need E4 anyways ... so maybe only Mention E4 and have an option to use E3 comaptibilty?

@ejDeister
Copy link

ejDeister commented Nov 18, 2024

Hey @opcoach @laeubi, I was wondering if I could get some feedback. I come from a team of four from CodeDay. We recently just got our PR accepted for issue #1306, and we want to tackle this issue next. Could you confirm my summary of the requirements for your issue?

  1. When the user creates a new Plug-in project, the wizard will only display the "This plug-in makes contributions to the UI" checkbox. Until...
  2. When the user selects said checkbox, three radio buttons appear:
    | UI Choice | Default base dependencies | Possible template selection |
    |-----------------------|----------------------------------------------------|-------------------------------------|
    | RCP 3.x | org.eclipse.core.runtime, org.eclipse.ui | Any template using 3.x API |
    | E4 Compatibility Layer| org.eclipse.core.runtime, org.eclipse.ui | Any template using 3.x or 4.x API |
    | RCP 4.x | org.eclipse.core.runtime, org.eclipse.swt, org.eclipse.jface | Any template using 4.x API |
    Now, I now there was some more development in the last two comments on this thread, and that's what I was hoping to clear up. Are you guys hoping to have E4 assumed by default and a checkbox for E3 compatibility? e.g. "This plug-in makes contributions to the UI" -> Include org.eclipse.core.runtime, org.eclipse.swt, org.eclipse.jface -> "This plug-in will have E3 compatibility" -> Include org.eclipse.ui

Edit: Tried to get the table to render, but to no avail :/

@vogella
Copy link
Contributor

vogella commented Nov 18, 2024

I think the solution in #1472 is good additional UI options are IMHO not so helpful and feel like "too much" to me. Any opinion here @HannesWell?

@HannesWell
Copy link
Member

I think the solution in #1472 is good additional UI options are IMHO not so helpful and feel like "too much" to me. Any opinion here @HannesWell?

I agree that extending the UI is probably too much. The UI is already not simple and adding more elements increases the complexity.

But we want to have this, we could add corresponding templates and also explain the difference in the template description. Additionally the existing templates should then be revised if we an existing template already covers one of the cases or could be changed to cover one case with only little adjustments.

@vogella
Copy link
Contributor

vogella commented Nov 18, 2024

Adding more templates for the different use cases is a great suggestion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants