Class BaseShipyardDialog
- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.Group
-
- ch.sahits.game.openpatrician.javafx.dialog.Dialog
-
- ch.sahits.game.openpatrician.display.dialog.CloseButtonDialog
-
- ch.sahits.game.openpatrician.display.dialog.shipyard.BaseShipyardDialog
-
- All Implemented Interfaces:
ICloseButtonDialog
,IDialog
,javafx.css.Styleable
,javafx.event.EventTarget
- Direct Known Subclasses:
ShipRepairDialogV2
,ShipyardConstructionDialogV2
,ShipyardRenameDialogV2
,ShipyardUpgradeDialogV2
public abstract class BaseShipyardDialog extends CloseButtonDialog
- Author:
- Andi Hotz, (c) Sahits GmbH, 2013 Created on Dec 14, 2013
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
BaseShipyardDialog.BuyAmountBinding
Binding of the amount that has to be bought as it is not stored in a warehouse.private class
BaseShipyardDialog.ReplaceFirstPage
-
Field Summary
Fields Modifier and Type Field Description private ECellConstraint
cellConstraint
protected ICityPlayerProxyJFX
city
Reference to the city view modelprotected ComputablePriceV2
computablePrice
private javafx.beans.property.IntegerProperty
currentShipTypeIndex
protected javafx.beans.binding.BooleanBinding
enablePreviousNext
private IFontLoader
fontLoader
private JavaFXUtils
fxUtils
private SelectiveCachableXMLImageLoader
imageLoader
protected Locale
locale
protected int
mainTableYPosition
protected org.springframework.context.MessageSource
messageSource
private ModelTranslations
modelTranslations
private int
numberOfColumns
private org.springframework.context.MessageSource
resources
protected EShipType[]
shipTypes
private DecoratedTextFactory
textFactory
private TextParser
textParser
private javafx.scene.control.Label
titleLbl
-
Fields inherited from class ch.sahits.game.openpatrician.display.dialog.CloseButtonDialog
clientEventBus
-
Fields inherited from class ch.sahits.game.openpatrician.javafx.dialog.Dialog
decoratedTextFactory
-
Fields inherited from interface ch.sahits.game.openpatrician.display.dialog.ICloseButtonDialog
CLOSE_BTN_Y_POS, CLOSE_BUTTON_HEIGHT, CLOSE_BUTTON_PADDING, CLOSE_BUTTON_WIDTH
-
Fields inherited from interface ch.sahits.game.openpatrician.javafx.dialog.IDialog
FRAME_BORDER, HEIGHT, INSET, WIDTH, WRAPPING_WIDTH
-
-
Constructor Summary
Constructors Constructor Description BaseShipyardDialog(ICityPlayerProxyJFX city)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract javafx.beans.binding.BooleanBinding
actionEnabledBinding()
Boolean binding defining if the action button is enabled.protected abstract javafx.scene.Group
createFooterText()
Create the group for the footer text;private javafx.event.EventHandler<? super javafx.scene.input.MouseEvent>
createHistoryDisplayHandler()
protected abstract Table
createMainTable()
Create a table representing the main informationprotected javafx.event.EventHandler<javafx.scene.input.MouseEvent>
createNextAction()
Move the selection to the next indexprotected javafx.event.EventHandler<javafx.scene.input.MouseEvent>
createPreviousAction()
move the selection to the previous index.protected abstract Table
createTopTable()
Create a table representing the header informationjavafx.beans.property.IntegerProperty
currentShipTypeIndexProperty()
protected abstract javafx.beans.property.BooleanProperty
disableNavigation()
If there are no more than one navigable item, the navigation is disabled.void
executeOnCloseButtonClicked()
protected abstract javafx.event.EventHandler<javafx.scene.input.MouseEvent>
getAction()
Define the action that is executed on the action button.protected abstract java.lang.String
getActionText()
Label of the action buttonICity
getCity()
protected EShipType
getCurrentShipType()
Retrieve the currently selected ship type.private java.lang.String
getHistoryResourceName(EShipType type)
private Text
getHistoryText(EShipType type)
Retrieve the history text.IHumanPlayer
getPlayer()
protected javafx.scene.layout.RowConstraints
getRowConstraints()
protected java.lang.String
getTitleText()
Representing the title text.protected boolean
hasShips()
Indication if there are ships and the dialog can be rendered.private void
initializeComponents()
protected abstract void
initializeRequirements()
Initialize the requirements.protected void
selectionChanged()
Handle for changed selection.private javafx.beans.binding.ObjectBinding<javafx.scene.image.Image>
shipFrontImageBinding()
Binding for the appropriate front image of the ship.private javafx.beans.binding.ObjectBinding<javafx.scene.image.Image>
shipSideImageBinding()
Binding for the appropriate side image of the ship.-
Methods inherited from class ch.sahits.game.openpatrician.display.dialog.CloseButtonDialog
addButtomControlButtons, closeLabelProperty, getCloseButton, getCloseLabel, getTitle, removeDecoratedContent, setCloseLabel, setTitle, titleProperty
-
Methods inherited from class ch.sahits.game.openpatrician.javafx.dialog.Dialog
close, getContent, replaceContent, replaceContent
-
Methods inherited from class javafx.scene.Group
autoSizeChildrenProperty, getChildren, isAutoSizeChildren, layoutChildren, minHeight, minWidth, prefHeight, prefWidth, setAutoSizeChildren
-
Methods inherited from class javafx.scene.Parent
computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, maxHeight, maxWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
-
-
-
Field Detail
-
city
protected final ICityPlayerProxyJFX city
Reference to the city view model
-
currentShipTypeIndex
private javafx.beans.property.IntegerProperty currentShipTypeIndex
-
shipTypes
protected final EShipType[] shipTypes
-
messageSource
@Autowired protected org.springframework.context.MessageSource messageSource
-
locale
@Autowired protected Locale locale
-
resources
@Autowired @Qualifier("resourceReference") private org.springframework.context.MessageSource resources
-
textParser
@Autowired private TextParser textParser
-
imageLoader
@Autowired @Qualifier("xmlImageLoader") private SelectiveCachableXMLImageLoader imageLoader
-
fxUtils
@Autowired private JavaFXUtils fxUtils
-
fontLoader
@Autowired private IFontLoader fontLoader
-
modelTranslations
@Autowired private ModelTranslations modelTranslations
-
textFactory
@Autowired private DecoratedTextFactory textFactory
-
computablePrice
@Autowired protected ComputablePriceV2 computablePrice
-
cellConstraint
private ECellConstraint cellConstraint
-
numberOfColumns
private int numberOfColumns
-
enablePreviousNext
protected javafx.beans.binding.BooleanBinding enablePreviousNext
-
mainTableYPosition
protected int mainTableYPosition
-
titleLbl
private javafx.scene.control.Label titleLbl
-
-
Constructor Detail
-
BaseShipyardDialog
public BaseShipyardDialog(ICityPlayerProxyJFX city)
-
-
Method Detail
-
initializeComponents
@PostConstruct private void initializeComponents()
-
selectionChanged
protected void selectionChanged()
Handle for changed selection.
-
getTitleText
protected java.lang.String getTitleText()
Representing the title text. The default implementation retrieves the ship type.- Returns:
- localized dialog title text
-
initializeRequirements
protected abstract void initializeRequirements()
Initialize the requirements.
-
createHistoryDisplayHandler
private javafx.event.EventHandler<? super javafx.scene.input.MouseEvent> createHistoryDisplayHandler()
-
getHistoryText
private Text getHistoryText(EShipType type)
Retrieve the history text.- Returns:
- localized ship type history text
-
getHistoryResourceName
private java.lang.String getHistoryResourceName(EShipType type)
-
getRowConstraints
protected javafx.scene.layout.RowConstraints getRowConstraints()
-
createNextAction
protected javafx.event.EventHandler<javafx.scene.input.MouseEvent> createNextAction()
Move the selection to the next index- Returns:
- .
-
disableNavigation
protected abstract javafx.beans.property.BooleanProperty disableNavigation()
If there are no more than one navigable item, the navigation is disabled.- Returns:
- boolean property indicating the disabled navigation
-
createPreviousAction
protected javafx.event.EventHandler<javafx.scene.input.MouseEvent> createPreviousAction()
move the selection to the previous index.- Returns:
- .
-
getAction
protected abstract javafx.event.EventHandler<javafx.scene.input.MouseEvent> getAction()
Define the action that is executed on the action button.- Returns:
- action that is executed on the button
-
getActionText
protected abstract java.lang.String getActionText()
Label of the action button- Returns:
- label on the action button
-
createFooterText
protected abstract javafx.scene.Group createFooterText()
Create the group for the footer text;- Returns:
- bottom footer text group
-
createMainTable
protected abstract Table createMainTable()
Create a table representing the main information- Returns:
- Table model for the main part
-
createTopTable
protected abstract Table createTopTable()
Create a table representing the header information- Returns:
- Table model used for the top line
-
actionEnabledBinding
protected abstract javafx.beans.binding.BooleanBinding actionEnabledBinding()
Boolean binding defining if the action button is enabled.- Returns:
- .
-
shipSideImageBinding
private javafx.beans.binding.ObjectBinding<javafx.scene.image.Image> shipSideImageBinding()
Binding for the appropriate side image of the ship.- Returns:
- .
-
shipFrontImageBinding
private javafx.beans.binding.ObjectBinding<javafx.scene.image.Image> shipFrontImageBinding()
Binding for the appropriate front image of the ship.- Returns:
- .
-
getCurrentShipType
protected final EShipType getCurrentShipType()
Retrieve the currently selected ship type.- Returns:
- current ship type
-
currentShipTypeIndexProperty
public javafx.beans.property.IntegerProperty currentShipTypeIndexProperty()
-
hasShips
protected boolean hasShips()
Indication if there are ships and the dialog can be rendered. Default value is true. Subclasses should overwrite this method.- Returns:
- true if there are ships in port or this fact is not relevant.
-
executeOnCloseButtonClicked
public void executeOnCloseButtonClicked()
- Overrides:
executeOnCloseButtonClicked
in classCloseButtonDialog
-
getCity
public ICity getCity()
-
getPlayer
public IHumanPlayer getPlayer()
-
-