- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- org.tbee.javafx.scene.layout.MigPane
-
- All Implemented Interfaces:
javafx.css.Styleable,javafx.event.EventTarget
- Direct Known Subclasses:
MigPane
public class MigPane extends javafx.scene.layout.PaneManages nodes with MigLayout added via add(node, CC)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classMigPane.DebugRectangleprivate static classMigPane.DebugRectangleType(package private) classMigPane.FXComponentWrapper(package private) classMigPane.FXContainerWrapper
-
Field Summary
Fields Modifier and Type Field Description private Grid_gridprivate LayoutAnimatoranimprivate intanimPrioprivate javafx.geometry.Orientationbiasprivate booleanbiasDirtyprivate java.util.ArrayList<LayoutCallback>callbackListprivate ACcolumnConstraintsstatic java.lang.StringCOLUMNCONSTRAINTS_PROPERTY_IDprivate booleandebugprivate javafx.scene.paint.ColordebugCellColorprivate javafx.scene.paint.ColordebugContainerOutlineColorprivate javafx.scene.paint.ColordebugExternalColorprivate javafx.scene.paint.ColordebugOutlineColorprivate java.util.List<javafx.scene.Node>debugRectanglesprotected static java.lang.StringFXML_CC_KEYprivate javafx.beans.value.ChangeListener<java.lang.Boolean>gridInvalidatorprivate longlastSizeprivate LClayoutConstraintsstatic java.lang.StringLAYOUTCONSTRAINTS_PROPERTY_IDprivate intlayoutInhibitsprivate ACrowConstraintsstatic java.lang.StringROWCONSTRAINTS_PROPERTY_IDprivate java.util.LinkedHashMap<MigPane.FXComponentWrapper,CC>wrapperToCCMap
-
Constructor Summary
Constructors Constructor Description MigPane()MigPane(java.lang.String layoutConstraints)use the string layout constraintsMigPane(java.lang.String layoutConstraints, java.lang.String colConstraints)use the string layout constraintsMigPane(java.lang.String layoutConstraints, java.lang.String colConstraints, java.lang.String rowConstraints)use the string layout constraintsMigPane(LC layoutConstraints)use the class layout constraintsMigPane(LC layoutConstraints, AC colConstraints)use the class layout constraintsMigPane(LC layoutConstraints, AC colConstraints, AC rowConstraints)use the class layout constraints
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MigPaneadd(int index, javafx.scene.Node node)MigPaneadd(int index, javafx.scene.Node node, java.lang.String sCc)MigPaneadd(int index, javafx.scene.Node node, CC cc)MigPaneadd(javafx.scene.Node node)MigPaneadd(javafx.scene.Node node, java.lang.String sCc)MigPaneadd(javafx.scene.Node node, CC cc)private voidaddDebugRectangle(double x, double y, double w, double h, MigPane.DebugRectangleType type)voidaddLayoutCallback(LayoutCallback callback)Adds the callback function that will be called at different stages of the layout cycle.private voidadjustWindowSize()Checks the parent window/popup if its size is within parameters as set by the LC.voidanimateAdded(javafx.scene.Node node)booleananimateBoundsChange(javafx.scene.Node node, int x, int y, int width, int height)voidanimateRemoved(javafx.scene.Node node)voidclearDebug()protected doublecomputeHeight(double refWidth, int type)protected doublecomputeMaxHeight(double width)protected doublecomputeMaxWidth(double height)protected doublecomputeMinHeight(double width)protected doublecomputeMinWidth(double height)protected doublecomputePrefHeight(double width)protected doublecomputePrefWidth(double height)protected doublecomputeWidth(double refHeight, int type)private doubleconstrain(ContainerWrapper parent, double winSize, double prefSize, BoundSize constrain)private voidconstruct()(package private) voiddecLayoutInhibit()private LayoutAnimatorgetAnimator()ACgetColumnConstraints()ColumnConstraints:CCgetComponentConstraints(javafx.scene.Node node)Returns the constraints for the nodejavafx.geometry.OrientationgetContentBias()javafx.scene.paint.ColorgetDebugCellColor()debugCellColorjavafx.scene.paint.ColorgetDebugContainerOutlineColor()debugContainerOutlineColorjavafx.scene.paint.ColorgetDebugExternalColor()debugExternalColorjavafx.scene.paint.ColorgetDebugOutlineColor()debugOutlineColorprivate GridgetGrid()private intgetHorIns()LCgetLayoutConstraints()LayoutConstraints:ACgetRowConstraints()RowConstraints:private intgetVerIns()(package private) voidincLayoutInhibit()voidinvalidateGrid()Removes the grid so it is recreated as needed next time.private booleanisNodeAnimated(javafx.scene.Node node)protected voidlayoutChildren()This is where the actual layout happensjavafx.scene.Noderemove(int ix)booleanremove(javafx.scene.Node node)voidremoveLayoutCallback(LayoutCallback callback)Removes the callback if it exists.voidrequestLayout()voidsetColumnConstraints(AC value)voidsetComponentConstraints(javafx.scene.Node node, java.lang.String ccs)Sets the constraints for the nodevoidsetComponentConstraints(javafx.scene.Node node, CC cc)Sets the constraints for the nodevoidsetDebugCellColor(javafx.scene.paint.Color value)voidsetDebugContainerOutlineColor(javafx.scene.paint.Color value)voidsetDebugExternalColor(javafx.scene.paint.Color value)voidsetDebugOutlineColor(javafx.scene.paint.Color value)protected voidsetHeight(double newHeight)voidsetLayoutConstraints(LC lc)voidsetRowConstraints(AC value)protected voidsetWidth(double newWidth)private doublesnap(double v)private voidstartQueuedAnimations()Starts animation if there is one.booleanusesMirroring()MigPanewithColumnConstraints(AC value)MigPanewithLayoutConstraints(LC value)MigPanewithRowConstraints(AC value)-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from class javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, 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, getClip, 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, 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, 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, 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, viewOrderProperty, visibleProperty
-
-
-
-
Field Detail
-
FXML_CC_KEY
protected static final java.lang.String FXML_CC_KEY
- See Also:
- Constant Field Values
-
gridInvalidator
private final javafx.beans.value.ChangeListener<java.lang.Boolean> gridInvalidator
-
bias
private javafx.geometry.Orientation bias
-
biasDirty
private boolean biasDirty
-
debug
private boolean debug
-
layoutConstraints
private LC layoutConstraints
-
LAYOUTCONSTRAINTS_PROPERTY_ID
public static final java.lang.String LAYOUTCONSTRAINTS_PROPERTY_ID
- See Also:
- Constant Field Values
-
columnConstraints
private AC columnConstraints
-
COLUMNCONSTRAINTS_PROPERTY_ID
public static final java.lang.String COLUMNCONSTRAINTS_PROPERTY_ID
- See Also:
- Constant Field Values
-
rowConstraints
private AC rowConstraints
-
ROWCONSTRAINTS_PROPERTY_ID
public static final java.lang.String ROWCONSTRAINTS_PROPERTY_ID
- See Also:
- Constant Field Values
-
anim
private LayoutAnimator anim
-
animPrio
private int animPrio
-
callbackList
private java.util.ArrayList<LayoutCallback> callbackList
-
wrapperToCCMap
private final java.util.LinkedHashMap<MigPane.FXComponentWrapper,CC> wrapperToCCMap
-
lastSize
private long lastSize
-
_grid
private Grid _grid
-
layoutInhibits
private int layoutInhibits
-
debugRectangles
private final java.util.List<javafx.scene.Node> debugRectangles
-
debugCellColor
private javafx.scene.paint.Color debugCellColor
-
debugExternalColor
private javafx.scene.paint.Color debugExternalColor
-
debugOutlineColor
private javafx.scene.paint.Color debugOutlineColor
-
debugContainerOutlineColor
private javafx.scene.paint.Color debugContainerOutlineColor
-
-
Constructor Detail
-
MigPane
public MigPane()
-
MigPane
public MigPane(LC layoutConstraints)
use the class layout constraints
-
MigPane
public MigPane(LC layoutConstraints, AC colConstraints, AC rowConstraints)
use the class layout constraints
-
MigPane
public MigPane(java.lang.String layoutConstraints)
use the string layout constraints
-
MigPane
public MigPane(java.lang.String layoutConstraints, java.lang.String colConstraints)use the string layout constraints
-
MigPane
public MigPane(java.lang.String layoutConstraints, java.lang.String colConstraints, java.lang.String rowConstraints)use the string layout constraints
-
-
Method Detail
-
construct
private void construct()
-
computeMinWidth
protected double computeMinWidth(double height)
- Overrides:
computeMinWidthin classjavafx.scene.layout.Region
-
computeMinHeight
protected double computeMinHeight(double width)
- Overrides:
computeMinHeightin classjavafx.scene.layout.Region
-
computePrefWidth
protected double computePrefWidth(double height)
- Overrides:
computePrefWidthin classjavafx.scene.layout.Region
-
computePrefHeight
protected double computePrefHeight(double width)
- Overrides:
computePrefHeightin classjavafx.scene.layout.Region
-
computeMaxWidth
protected double computeMaxWidth(double height)
- Overrides:
computeMaxWidthin classjavafx.scene.layout.Region
-
computeMaxHeight
protected double computeMaxHeight(double width)
- Overrides:
computeMaxHeightin classjavafx.scene.layout.Region
-
computeWidth
protected double computeWidth(double refHeight, int type)
-
computeHeight
protected double computeHeight(double refWidth, int type)
-
getHorIns
private int getHorIns()
-
getVerIns
private int getVerIns()
-
getContentBias
public javafx.geometry.Orientation getContentBias()
- Overrides:
getContentBiasin classjavafx.scene.Node
-
getLayoutConstraints
public LC getLayoutConstraints()
LayoutConstraints:
-
setLayoutConstraints
public void setLayoutConstraints(LC lc)
-
getColumnConstraints
public AC getColumnConstraints()
ColumnConstraints:
-
setColumnConstraints
public void setColumnConstraints(AC value)
-
getRowConstraints
public AC getRowConstraints()
RowConstraints:
-
setRowConstraints
public void setRowConstraints(AC value)
-
getComponentConstraints
public CC getComponentConstraints(javafx.scene.Node node)
Returns the constraints for the node- Returns:
- May be null which means all default constraints.
-
setComponentConstraints
public void setComponentConstraints(javafx.scene.Node node, java.lang.String ccs)Sets the constraints for the node- Parameters:
node- The node. Must already be in the pane.ccs- The component constraints.
-
setComponentConstraints
public void setComponentConstraints(javafx.scene.Node node, CC cc)Sets the constraints for the node- Parameters:
node- The node. Must already be in the pane.cc- The component constraints. Can be null.
-
getAnimator
private LayoutAnimator getAnimator()
- Returns:
- If there is a current animator, that is returned. Otherwise a new one is created and returned. Never null.
-
startQueuedAnimations
private void startQueuedAnimations()
Starts animation if there is one.
-
animateAdded
public void animateAdded(javafx.scene.Node node)
-
animateRemoved
public void animateRemoved(javafx.scene.Node node)
-
animateBoundsChange
public boolean animateBoundsChange(javafx.scene.Node node, int x, int y, int width, int height)
-
isNodeAnimated
private boolean isNodeAnimated(javafx.scene.Node node)
-
addLayoutCallback
public void addLayoutCallback(LayoutCallback callback)
Adds the callback function that will be called at different stages of the layout cycle.- Parameters:
callback- The callback. Notnull.
-
removeLayoutCallback
public void removeLayoutCallback(LayoutCallback callback)
Removes the callback if it exists.- Parameters:
callback- The callback. May benull.
-
add
public MigPane add(javafx.scene.Node node)
-
add
public MigPane add(javafx.scene.Node node, java.lang.String sCc)
-
add
public MigPane add(int index, javafx.scene.Node node)
-
add
public MigPane add(int index, javafx.scene.Node node, java.lang.String sCc)
-
remove
public boolean remove(javafx.scene.Node node)
-
remove
public javafx.scene.Node remove(int ix)
-
layoutChildren
protected void layoutChildren()
This is where the actual layout happens- Overrides:
layoutChildrenin classjavafx.scene.Parent
-
setWidth
protected void setWidth(double newWidth)
- Overrides:
setWidthin classjavafx.scene.layout.Region
-
setHeight
protected void setHeight(double newHeight)
- Overrides:
setHeightin classjavafx.scene.layout.Region
-
requestLayout
public void requestLayout()
- Overrides:
requestLayoutin classjavafx.scene.Parent
-
incLayoutInhibit
void incLayoutInhibit()
-
decLayoutInhibit
void decLayoutInhibit()
-
getGrid
private Grid getGrid()
-
invalidateGrid
public void invalidateGrid()
Removes the grid so it is recreated as needed next time. Should only be needed when the grid structure, or the interpretation of it, has changed. Should normally don't have to be called by client code since this should be fully handled by MigPane.
-
adjustWindowSize
private void adjustWindowSize()
Checks the parent window/popup if its size is within parameters as set by the LC.
-
constrain
private double constrain(ContainerWrapper parent, double winSize, double prefSize, BoundSize constrain)
-
usesMirroring
public boolean usesMirroring()
- Overrides:
usesMirroringin classjavafx.scene.Node
-
clearDebug
public void clearDebug()
-
addDebugRectangle
private void addDebugRectangle(double x, double y, double w, double h, MigPane.DebugRectangleType type)
-
snap
private double snap(double v)
-
getDebugCellColor
public javafx.scene.paint.Color getDebugCellColor()
debugCellColor
-
setDebugCellColor
public void setDebugCellColor(javafx.scene.paint.Color value)
-
getDebugExternalColor
public javafx.scene.paint.Color getDebugExternalColor()
debugExternalColor
-
setDebugExternalColor
public void setDebugExternalColor(javafx.scene.paint.Color value)
-
getDebugOutlineColor
public javafx.scene.paint.Color getDebugOutlineColor()
debugOutlineColor
-
setDebugOutlineColor
public void setDebugOutlineColor(javafx.scene.paint.Color value)
-
getDebugContainerOutlineColor
public javafx.scene.paint.Color getDebugContainerOutlineColor()
debugContainerOutlineColor
-
setDebugContainerOutlineColor
public void setDebugContainerOutlineColor(javafx.scene.paint.Color value)
-
-