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

8311895: CSS Transitions #870

Closed
wants to merge 63 commits into from
Closed

Conversation

mstr2
Copy link
Collaborator

@mstr2 mstr2 commented Aug 16, 2022

Implementation of CSS Transitions.

Future enhancements

CSS transition support for backgrounds and borders: #1471

Limitations

This implementation supports both shorthand and longhand notations for the transition property. However, due to limitations of JavaFX CSS, mixing both notations doesn't work:

.button {
    transition: -fx-background-color 1s;
    transition-easing-function: linear;
}

This issue should be addressed in a follow-up enhancement.


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed (3 reviews required, with at least 1 Reviewer, 2 Authors)
  • Change requires CSR request JDK-8313383 to be approved

Issues

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jfx.git pull/870/head:pull/870
$ git checkout pull/870

Update a local copy of the PR:
$ git checkout pull/870
$ git pull https://git.openjdk.org/jfx.git pull/870/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 870

View PR using the GUI difftool:
$ git pr show -t 870

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/870.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Aug 16, 2022

👋 Welcome back mstrauss! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Feb 17, 2023

@mstr2 this pull request can not be integrated into master due to one or more merge conflicts. To resolve these merge conflicts and update this pull request you can run the following commands in the local repository for your personal fork:

git checkout feature/css-transitions
git fetch https://git.openjdk.org/jfx master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push

@openjdk openjdk bot added the merge-conflict Pull request has merge conflict with target branch label Feb 17, 2023
@bridgekeeper
Copy link

bridgekeeper bot commented Apr 14, 2023

@mstr2 This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@shaoerkuai
Copy link

shaoerkuai commented Jun 4, 2023

Hi @shaoerkuai, thanks for making a comment in an OpenJDK project!

All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user shaoerkuai for the summary.

If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.

Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use.

@mstr2 mstr2 force-pushed the feature/css-transitions branch from 9197fe1 to e34a549 Compare July 11, 2023 02:41
@openjdk openjdk bot removed the merge-conflict Pull request has merge conflict with target branch label Jul 11, 2023
@mstr2 mstr2 changed the title CSS Transitions 8311895: CSS Transitions Jul 11, 2023
@mstr2
Copy link
Collaborator Author

mstr2 commented May 25, 2024

I still don't know what happens when a value is programmatically set while a css transition is in progress. What I understood is that binding the property will not allow the transition to start/continue, but didn't see where setting a value was mentioned.

Any of the following actions will cancel a running transition:

  1. Setting the property value
  2. Binding the property
  3. Making the node invisible (i.e. isTreeVisible() returns false)
  4. Removing the node from the scene graph

In effect, transitions are only active when "left alone", any programmatic interaction will cancel them.

@nlisker
Copy link
Collaborator

nlisker commented May 25, 2024

This is what I would expect, so looks good. Where is this mentioned to the user?

@mstr2
Copy link
Collaborator Author

mstr2 commented May 25, 2024

This is what I would expect, so looks good. Where is this mentioned to the user?

Good question. Since we don't have any suitable API elements for javadocs, I've added some documentation to the CSS reference.

Copy link
Collaborator

@nlisker nlisker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed only the API and some of the internal code. Didn't test it. Looks good.

@nlisker
Copy link
Collaborator

nlisker commented May 26, 2024

I think the CSR needs updating.

Copy link
Contributor

@drmarmac drmarmac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good from my side as well, I didn't notice any further code issues.

@kevinrushforth
Copy link
Member

It looks like this is getting close to being ready, and would be a good feature to get into JavaFX 23. I'll take a look at the specification changes in the PR, and review the CSR.

Copy link
Member

@kevinrushforth kevinrushforth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs look good. I left one comment on the doc images and one question on the cssref.html changes. In parallel, I'll look at the CSR.

Copy link
Member

@kevinrushforth kevinrushforth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've finished testing and reviewing the code. All looks good.

@kevinrushforth
Copy link
Member

@nlisker @drmarmac Can you re-review (there have only been minor changes since you approved)

@openjdk openjdk bot added ready Ready to be integrated and removed csr Need approved CSR to integrate pull request labels Jun 13, 2024
@mstr2
Copy link
Collaborator Author

mstr2 commented Jun 13, 2024

/integrate

@openjdk
Copy link

openjdk bot commented Jun 13, 2024

Going to push as commit 762f590.
Since your change was applied there have been 4 commits pushed to the master branch:

  • c8b96e4: 8333147: update maven classifier syntax to recent gradle version
  • 4a33d5e: 8330304: MenuBar: Invisible Menu works incorrectly with keyboard arrows
  • 3e768dc: 8332748: Grammatical errors in animation API docs
  • a39652b: 8323511: Scrollbar Click jumps inconsistent amount of pixels

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jun 13, 2024
@openjdk openjdk bot closed this Jun 13, 2024
@openjdk openjdk bot removed ready Ready to be integrated rfr Ready for review labels Jun 13, 2024
@openjdk
Copy link

openjdk bot commented Jun 13, 2024

@mstr2 Pushed as commit 762f590.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@mstr2 mstr2 deleted the feature/css-transitions branch June 21, 2024 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

None yet

8 participants