SudokuFX
Loading...
Searching...
No Matches
fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel Class Reference

ViewModel managing player menu UI state and localized accessibility texts. More...

+ Collaboration diagram for fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel:

Public Member Functions

 MenuPlayerViewModel (PlayerStateHolder playerStateHolder)
 
StringBinding cellButtonAccessibleTextProperty ()
 
StringBinding cellConfirmationMessageProperty ()
 
StringBinding cellConfirmationTitleProperty ()
 
StringBinding editAccessibleTextProperty ()
 
StringBinding editRoleDescriptionProperty ()
 
StringBinding editTooltipProperty ()
 
ObservableList< PlayerDto > getPlayers ()
 
StringBinding maxiPlayerRoleDescriptionProperty ()
 
StringBinding maxiPlayerTooltipProperty ()
 
StringBinding newAccessibleTextProperty ()
 
StringBinding newRoleDescriptionProperty ()
 
StringBinding newTextProperty ()
 
StringBinding newTooltipProperty ()
 
StringBinding playerAccessibleTextProperty ()
 
StringBinding playerRoleDescriptionProperty ()
 
StringBinding playerTooltipProperty ()
 
StringBinding reduceAccessibleTextProperty ()
 
StringBinding reduceTextProperty ()
 
StringBinding reduceTooltipProperty ()
 
ObjectProperty< PlayerDto > selectedPlayerProperty ()
 

Private Member Functions

StringBinding createAppendedStringBinding ()
 Creates a localized binding by concatenating two keys.
 
StringBinding createFormattedAndConcatenatedBinding (String key, String suffixKey)
 Creates a localized binding combining a formatted message and suffix.
 
StringBinding createFormattedBinding (String key, Supplier< String > argSupplier)
 Creates a formatted localized binding with player name argument.
 
StringBinding createStringBinding (String key)
 Creates a simple localized binding for a given key.
 
PlayerDto generatePlayerForTests (String name)
 Generates a sample PlayerDto instance for testing purposes.
 
void loadPlayers ()
 Loads players into the observable list.
 
String playerName ()
 Returns the name of the currently selected player.
 
void setSelectedPlayer ()
 Sets the selected player to the one marked as selected or first in the list.
 

Private Attributes

final StringBinding cellButtonAccessibleText
 
final StringBinding cellConfirmationMessage
 
final StringBinding cellConfirmationTitle
 
final StringBinding editAccessibleText
 
final StringBinding editRoleDescription
 
final StringBinding editTooltip
 
final StringBinding maxiPlayerRoleDescription
 
final StringBinding maxiPlayerTooltip
 
final StringBinding newAccessibleText
 
final StringBinding newRoleDescription
 
final StringBinding newText
 
final StringBinding newTooltip
 
final StringBinding playerAccessibleText
 
final StringBinding playerRoleDescription
 
final ObservableList< PlayerDto > players = FXCollections.observableArrayList()
 
final PlayerStateHolder playerStateHolder
 
final StringBinding playerTooltip
 
final StringBinding reduceAccessibleText
 
final StringBinding reduceText
 
final StringBinding reduceTooltip
 

Static Private Attributes

static final String MENU_ACCESSIBILITY_ROLE_DESCRIPTION_CLOSED
 
static final String MENU_ACCESSIBILITY_ROLE_DESCRIPTION_OPENED
 
static final String MENU_ACCESSIBILITY_ROLE_DESCRIPTION_SUBMENU_OPTION
 
static final String MENU_PLAYER_BUTTON_PLAYER_ACCESSIBILITY
 
static final int TEST_NUMBER_LOADED_PLAYERS = 50
 

Detailed Description

ViewModel managing player menu UI state and localized accessibility texts.

Provides observable players list and reactive StringBindings for UI labels, tooltips, and roles, updated on locale or selection changes.

Assumes selected player has a valid non-blank name as enforced upstream.

Constructor & Destructor Documentation

◆ MenuPlayerViewModel()

fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.MenuPlayerViewModel ( PlayerStateHolder playerStateHolder)
+ Here is the call graph for this function:

Member Function Documentation

◆ cellButtonAccessibleTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.cellButtonAccessibleTextProperty ( )

◆ cellConfirmationMessageProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.cellConfirmationMessageProperty ( )

◆ cellConfirmationTitleProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.cellConfirmationTitleProperty ( )

◆ createAppendedStringBinding()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.createAppendedStringBinding ( )
private

Creates a localized binding by concatenating two keys.

Updates when locale changes.

◆ createFormattedAndConcatenatedBinding()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.createFormattedAndConcatenatedBinding ( String key,
String suffixKey )
private

Creates a localized binding combining a formatted message and suffix.

Updates when locale or selected player changes.

+ Here is the call graph for this function:

◆ createFormattedBinding()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.createFormattedBinding ( String key,
Supplier< String > argSupplier )
private

Creates a formatted localized binding with player name argument.

Updates when locale or selected player changes.

◆ createStringBinding()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.createStringBinding ( String key)
private

Creates a simple localized binding for a given key.

Updates when locale changes.

◆ editAccessibleTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.editAccessibleTextProperty ( )

◆ editRoleDescriptionProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.editRoleDescriptionProperty ( )

◆ editTooltipProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.editTooltipProperty ( )

◆ generatePlayerForTests()

PlayerDto fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.generatePlayerForTests ( String name)
private

Generates a sample PlayerDto instance for testing purposes.

Parameters
namethe player name
Returns
a PlayerDto populated with test data and the specified name

◆ getPlayers()

ObservableList< PlayerDto > fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.getPlayers ( )

◆ loadPlayers()

void fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.loadPlayers ( )
private

Loads players into the observable list.

+ Here is the call graph for this function:

◆ maxiPlayerRoleDescriptionProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.maxiPlayerRoleDescriptionProperty ( )

◆ maxiPlayerTooltipProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.maxiPlayerTooltipProperty ( )

◆ newAccessibleTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newAccessibleTextProperty ( )

◆ newRoleDescriptionProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newRoleDescriptionProperty ( )

◆ newTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newTextProperty ( )

◆ newTooltipProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newTooltipProperty ( )

◆ playerAccessibleTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerAccessibleTextProperty ( )

◆ playerName()

String fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerName ( )
private

Returns the name of the currently selected player.

Returns
the player name, guaranteed to be non-null and not blank

◆ playerRoleDescriptionProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerRoleDescriptionProperty ( )

◆ playerTooltipProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerTooltipProperty ( )

◆ reduceAccessibleTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.reduceAccessibleTextProperty ( )

◆ reduceTextProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.reduceTextProperty ( )

◆ reduceTooltipProperty()

StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.reduceTooltipProperty ( )

◆ selectedPlayerProperty()

ObjectProperty< PlayerDto > fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.selectedPlayerProperty ( )

◆ setSelectedPlayer()

void fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.setSelectedPlayer ( )
private

Sets the selected player to the one marked as selected or first in the list.

Member Data Documentation

◆ cellButtonAccessibleText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.cellButtonAccessibleText
private

◆ cellConfirmationMessage

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.cellConfirmationMessage
private

◆ cellConfirmationTitle

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.cellConfirmationTitle
private

◆ editAccessibleText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.editAccessibleText
private

◆ editRoleDescription

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.editRoleDescription
private

◆ editTooltip

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.editTooltip
private

◆ maxiPlayerRoleDescription

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.maxiPlayerRoleDescription
private

◆ maxiPlayerTooltip

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.maxiPlayerTooltip
private

◆ MENU_ACCESSIBILITY_ROLE_DESCRIPTION_CLOSED

final String fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.MENU_ACCESSIBILITY_ROLE_DESCRIPTION_CLOSED
staticprivate
Initial value:
=
"menu.accessibility.role.description.closed"

◆ MENU_ACCESSIBILITY_ROLE_DESCRIPTION_OPENED

final String fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.MENU_ACCESSIBILITY_ROLE_DESCRIPTION_OPENED
staticprivate
Initial value:
=
"menu.accessibility.role.description.opened"

◆ MENU_ACCESSIBILITY_ROLE_DESCRIPTION_SUBMENU_OPTION

final String fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.MENU_ACCESSIBILITY_ROLE_DESCRIPTION_SUBMENU_OPTION
staticprivate
Initial value:
=
"menu.accessibility.role.description.submenu.option"

◆ MENU_PLAYER_BUTTON_PLAYER_ACCESSIBILITY

final String fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.MENU_PLAYER_BUTTON_PLAYER_ACCESSIBILITY
staticprivate
Initial value:
=
"menu.player.button.player.accessibility"

◆ newAccessibleText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newAccessibleText
private

◆ newRoleDescription

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newRoleDescription
private

◆ newText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newText
private

◆ newTooltip

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.newTooltip
private

◆ playerAccessibleText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerAccessibleText
private

◆ playerRoleDescription

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerRoleDescription
private

◆ players

final ObservableList<PlayerDto> fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.players = FXCollections.observableArrayList()
private

◆ playerStateHolder

final PlayerStateHolder fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerStateHolder
private

◆ playerTooltip

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.playerTooltip
private

◆ reduceAccessibleText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.reduceAccessibleText
private

◆ reduceText

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.reduceText
private

◆ reduceTooltip

final StringBinding fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.reduceTooltip
private

◆ TEST_NUMBER_LOADED_PLAYERS

final int fr.softsf.sudokufx.viewmodel.MenuPlayerViewModel.TEST_NUMBER_LOADED_PLAYERS = 50
staticprivate

The documentation for this class was generated from the following file: