Add detailed SessionManager demo covering multiple data types and components #236
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.
Summary
This PR introduces a new demo application,
SessionManagerApp, which provides a more comprehensive showcase of how to useSessionManagerwith various JavaFX controls and data types.Background
While
SessionManageris already used inScreensViewApp, its usage is currently limited to a simple binding with a singleCheckBox. We also have some basic tests inSessionManagerTest, but these do not demonstrate practical usage scenarios or diverse data types.We add this dedicated demo to:
Features Demonstrated
StringProperty: User name input via editableComboBoxDoubleProperty: Score sliderBooleanProperty: Dark mode toggle with live background switchingLocalDate ↔ StringProperty: Birth date selection usingCalendarPicker, stored and restored as a stringPurpose
This demo serves as a reference implementation for developers looking to integrate
SessionManagerwith a JavaFX application. It highlights how to:Register different types of properties
Format values for persistence (e.g., using
DateTimeFormatter)Apply restored values to controls on application startup
SessionManager cannot register a choice box's value (a ChoiceBox<String>) #232