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

Add the ability for users to pass settings into the Undoer API #4356

Closed
valadaptive opened this issue Apr 13, 2024 · 0 comments · Fixed by #4357
Closed

Add the ability for users to pass settings into the Undoer API #4356

valadaptive opened this issue Apr 13, 2024 · 0 comments · Fixed by #4357

Comments

@valadaptive
Copy link
Contributor

Is your feature request related to a problem? Please describe.
As far as I can tell, the undoer API provides a publicly-constructible Settings struct, but unless I'm missing something, there is no way to actually create an Undoer using it.

Describe the solution you'd like
An API that allows you to create an Undoer with given settings, something like Undoer::with_settings(...) or a builder API for Settings.

Describe alternatives you've considered
N/A

Additional context
Does the API exist somewhere and I'm just not finding it?

emilk pushed a commit that referenced this issue Apr 21, 2024
#4357)

<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

* Closes #4356

- Add `Undoer::new()`
- This is necessary to construct an `Undoer` whose `State` parameter
doesn't implement `Default`.
- Add `Undoer::with_settings(...)`
- This is necessary to actually pass settings into the `Undoer`. Without
this, API consumers could construct their own `Settings` but not
actually do anything with it.

I've refrained from adding any kind of builder API for `Settings`
because there are only three options and I don't want to duplicate or
move all the documentation onto the builder methods.
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 a pull request may close this issue.

1 participant