-
Notifications
You must be signed in to change notification settings - Fork 15
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
2024 08 23 layout refactor composer #82
Merged
cmeyer
merged 37 commits into
nion-software:master
from
cmeyer:2024-08-23-layout-refactor-composer
Sep 26, 2024
Merged
2024 08 23 layout refactor composer #82
cmeyer
merged 37 commits into
nion-software:master
from
cmeyer:2024-08-23-layout-refactor-composer
Sep 26, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
cmeyer
commented
Sep 25, 2024
- Eliminate root layout render trait class. Draw direct from layer render trait.
- Eliminate 'layout render trait' by merging into LayerCanvasItem class.
- Revert hack for repaint during layout. Will implement different solution.
- Remove unreachable sync_redraw code.
- Simplify updates by removing unused canvas items parameter and merging methods.
- Simplify layout and make it batchable.
- Change grid layout to use layout items passed into layout and get_size.
- Change scroll area to use content preferred size during first layout.
- Ensure update message goes up hierarchy whether current item has layout or not.
- Remove unused prepare_render methods.
- Add optional composer-style repainting to canvas item.
- Add canvas item composition composer.
- Rework checkbox canvas item to use composer.
- Change splitter to use composer.
- Change scroll area to use composer.
- Clean up drawing and layout to consistently use composer for both.
- Update slider, draw, background, divider, and progerss bar canvas items to use composer.
- Update list, grid canvas items to use composer.
- Change time stamp canvas item to use composer.
- Remove several unneeded layout methods.
- Remove several unneeded repaint methods.
- Add a canvas example app for demonstration and testing.
- Add ability to draw unique marker on canvas item for debugging.
- Fix issue with scroll area auto layout.
- Restore missing repaint_immediate function.
- Change update to only invalidate composer if canvas item visible.
- Update layer drawing to properly layout/update, including immediate mode.
- Add layer usage to canvas demo.
- Improve error handling and robustness when canvas item garbage collected while drawing.
- Improve layout to use layout copy so it does not get modified.
- Improve typing and add explanation for ordered layer thread repainting.
- Simplify 'needs repaint' logic.
- Add support for batch updates.
- Fix race condition when updating/invalidating composer from different threads.
- Consolidate button items subclassed from CellCanvasItem.
- Fix typo in canvas error logging.
- Add canvas item docs.
Previously, it would ignore the passed items and use the items that were initially added. This is problematic for the composer architecture. Now it uses the items that are initially added to determine the index into the passed items.
…ms to use composer.
…ted while drawing.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.