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

Update and integrate Zest 2.0 development branch into GEF #324

Closed
wants to merge 130 commits into from

Conversation

ptziegler
Copy link
Contributor

This change merges the latest of Zest 2.0 into GEF. The sources have been taken from the following repository:

https://github.com/fsteeg/zest

The history has been preserved and remains unmodified. Only the latest commit adapts any compilation errors.

The major version of all Zest bundles has been increased to 2 to indicated downwards incompatibility.

irbull and others added 30 commits December 2, 2010 15:21
fsteeg and others added 20 commits March 18, 2012 22:39
As described in the Javadoc for `Widget#dispose`, overriding
`dispose` does not suffice to detect disposed parents, but we need
to listen to disposal events.
A layout algorithm that implements layered drawing for directed
acyclic graphs using the Sugiyama method.
implemented incorrectly 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=358941

  Added scrolling functionality to AbstractStructuredGraphViewer.reveal
been taken from the following repository:

https://github.com/fsteeg/zest

The history has been preserved and remains unmodified. Only the latest
commit adapts any compilation errors.

The major version of all Zest bundles has been increased to 2 to
indicated downwards incompatibility.
@ptziegler
Copy link
Contributor Author

ptziegler commented Dec 17, 2023

A few side notes:

  1. I deliberately chose not do to a rebase, because this would require me to modify the original commits. I think we have to make an exception here and do a "normal" merge.

  2. There are still a few open API issues. Most noticably LayoutAlgorithm.applyLayout(), which exists twice.

  3. Given the size of this commit, we have to consult the EMO team for a review.

  4. There is of course a test failure that needs to be addressed...

Copy link

Unit Test Results

     18 files       18 suites   44s ⏱️
   389 tests    386 ✔️   2 💤 1
2 334 runs  2 316 ✔️ 12 💤 6

For more details on these failures, see this check.

Results for commit 9f23c8b.

@ptziegler
Copy link
Contributor Author

Alternatively, I could move the "old" Zest plugins to a separate folder, do a normal rebase and then merge them back...

@ptziegler
Copy link
Contributor Author

Still not sure what the best solution is here...

As the diff indicates, this change primarily consists of additions so I'm tempted to just squash it into a single commit.

@azoitl
Copy link
Contributor

azoitl commented Dec 17, 2023

I'm not sure if we shoul really upgrade Zest to the 2.x version. There are users of Zest 1.x out there. Also we have improvements on Zest 1 in our repo (e.g. from @sebHollersbacher or @BauePhil). I don't think we want to loose them or?

Based on the discussion in the mailing list I was more thinking that we could take the backwards compatible stuff and migrate it back. But I guess this would be more work or?

@ptziegler
Copy link
Contributor Author

Urgh... this'll be a LOT of work. After closer inspection, just the Zest 2.0 Layouts bundle alone looks completely different, with half the classes missing.

Just look at e.g. their and our LayoutAlgorithm interface. Completely different.

I'm closing this request, because I simply don't have an immediate answer for this.

@ptziegler ptziegler closed this Dec 18, 2023
@azoitl
Copy link
Contributor

azoitl commented Dec 18, 2023

I hoped there where less changes. But it is still nice to have your PR as reference so that we can cherry pick things that sound interesting.

@ptziegler
Copy link
Contributor Author

ptziegler commented Dec 18, 2023

I hoped there where less changes. But it is still nice to have your PR as reference so that we can cherry pick things that sound interesting.

I thought about this a little bit more and I believe we can do a backport of the cloudio bundle. It also just occurred to me that the org.eclipse.zest.jface plugin is effectively a 1-to-1 copy of the org.eclipse.zest.viewer package from org.eclipse.zest.core.

I want to create a separate PR to integrate those changes and then, as you suggested, we can always cherry-pick the remaining parts as needed.

Doing it like this would lessen the work by quite a lot, if we decide to touch this topic again.

@azoitl
Copy link
Contributor

azoitl commented Dec 18, 2023

Cloudio would definitely be cool.

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

Successfully merging this pull request may close these issues.

7 participants