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.Pane
Manages nodes with MigLayout added via add(node, CC)
-
Property Summary
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Properties inherited from class javafx.scene.Parent
needsLayout
Properties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class
private static enum
(package private) class
(package private) class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Grid
private LayoutAnimator
private int
private javafx.geometry.Orientation
private boolean
private ArrayList
<LayoutCallback> private AC
static final String
private boolean
private javafx.scene.paint.Color
private javafx.scene.paint.Color
private javafx.scene.paint.Color
private javafx.scene.paint.Color
private final List
<javafx.scene.Node> protected static final String
private final javafx.beans.value.ChangeListener
<Boolean> private long
private LC
static final String
private int
private AC
static final String
private final LinkedHashMap
<MigPane.FXComponentWrapper, CC> Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Constructor Summary
ConstructorsConstructorDescriptionMigPane()
use the string layout constraintsuse the string layout constraintsuse the string layout constraintsuse the class layout constraintsuse the class layout constraintsuse the class layout constraints -
Method Summary
Modifier and TypeMethodDescriptionadd
(int index, javafx.scene.Node node) add
(javafx.scene.Node node) private void
addDebugRectangle
(double x, double y, double w, double h, MigPane.DebugRectangleType type) void
addLayoutCallback
(LayoutCallback callback) Adds the callback function that will be called at different stages of the layout cycle.private void
Checks the parent window/popup if its size is within parameters as set by the LC.void
animateAdded
(javafx.scene.Node node) boolean
animateBoundsChange
(javafx.scene.Node node, int x, int y, int width, int height) void
animateRemoved
(javafx.scene.Node node) void
protected double
computeHeight
(double refWidth, int type) protected double
computeMaxHeight
(double width) protected double
computeMaxWidth
(double height) protected double
computeMinHeight
(double width) protected double
computeMinWidth
(double height) protected double
computePrefHeight
(double width) protected double
computePrefWidth
(double height) protected double
computeWidth
(double refHeight, int type) private double
constrain
(ContainerWrapper parent, double winSize, double prefSize, BoundSize constrain) private void
(package private) void
private LayoutAnimator
ColumnConstraints:getComponentConstraints
(javafx.scene.Node node) Returns the constraints for the nodejavafx.geometry.Orientation
javafx.scene.paint.Color
debugCellColorjavafx.scene.paint.Color
debugContainerOutlineColorjavafx.scene.paint.Color
debugExternalColorjavafx.scene.paint.Color
debugOutlineColorprivate Grid
getGrid()
private int
LayoutConstraints:RowConstraints:private int
(package private) void
void
Removes the grid so it is recreated as needed next time.private boolean
isNodeAnimated
(javafx.scene.Node node) protected void
This is where the actual layout happensjavafx.scene.Node
remove
(int ix) boolean
remove
(javafx.scene.Node node) void
removeLayoutCallback
(LayoutCallback callback) Removes the callback if it exists.void
void
setColumnConstraints
(AC value) void
setComponentConstraints
(javafx.scene.Node node, String ccs) Sets the constraints for the nodevoid
setComponentConstraints
(javafx.scene.Node node, CC cc) Sets the constraints for the nodevoid
setDebugCellColor
(javafx.scene.paint.Color value) void
setDebugContainerOutlineColor
(javafx.scene.paint.Color value) void
setDebugExternalColor
(javafx.scene.paint.Color value) void
setDebugOutlineColor
(javafx.scene.paint.Color value) protected void
setHeight
(double newHeight) void
void
setRowConstraints
(AC value) protected void
setWidth
(double newWidth) private double
snap
(double v) private void
Starts animation if there is one.boolean
withColumnConstraints
(AC value) withLayoutConstraints
(LC value) withRowConstraints
(AC value) Methods inherited from class javafx.scene.layout.Pane
getChildren
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
Field Details
-
FXML_CC_KEY
- See Also:
-
gridInvalidator
-
bias
private javafx.geometry.Orientation bias -
biasDirty
private boolean biasDirty -
debug
private boolean debug -
layoutConstraints
-
LAYOUTCONSTRAINTS_PROPERTY_ID
- See Also:
-
columnConstraints
-
COLUMNCONSTRAINTS_PROPERTY_ID
- See Also:
-
rowConstraints
-
ROWCONSTRAINTS_PROPERTY_ID
- See Also:
-
anim
-
animPrio
private int animPrio -
callbackList
-
wrapperToCCMap
-
lastSize
private long lastSize -
_grid
-
layoutInhibits
private int layoutInhibits -
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 Details
-
MigPane
public MigPane() -
MigPane
use the class layout constraints -
MigPane
use the class layout constraints -
MigPane
use the class layout constraints -
MigPane
use the string layout constraints -
MigPane
use the string layout constraints -
MigPane
use the string layout constraints
-
-
Method Details
-
construct
private void construct() -
computeMinWidth
protected double computeMinWidth(double height) - Overrides:
computeMinWidth
in classjavafx.scene.layout.Region
-
computeMinHeight
protected double computeMinHeight(double width) - Overrides:
computeMinHeight
in classjavafx.scene.layout.Region
-
computePrefWidth
protected double computePrefWidth(double height) - Overrides:
computePrefWidth
in classjavafx.scene.layout.Region
-
computePrefHeight
protected double computePrefHeight(double width) - Overrides:
computePrefHeight
in classjavafx.scene.layout.Region
-
computeMaxWidth
protected double computeMaxWidth(double height) - Overrides:
computeMaxWidth
in classjavafx.scene.layout.Region
-
computeMaxHeight
protected double computeMaxHeight(double width) - Overrides:
computeMaxHeight
in 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:
getContentBias
in classjavafx.scene.Node
-
getLayoutConstraints
LayoutConstraints: -
setLayoutConstraints
-
withLayoutConstraints
-
getColumnConstraints
ColumnConstraints: -
setColumnConstraints
-
withColumnConstraints
-
getRowConstraints
RowConstraints: -
setRowConstraints
-
withRowConstraints
-
getComponentConstraints
Returns the constraints for the node- Returns:
- May be null which means all default constraints.
-
setComponentConstraints
Sets the constraints for the node- Parameters:
node
- The node. Must already be in the pane.ccs
- The component constraints.
-
setComponentConstraints
Sets the constraints for the node- Parameters:
node
- The node. Must already be in the pane.cc
- The component constraints. Can be null.
-
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
Adds the callback function that will be called at different stages of the layout cycle.- Parameters:
callback
- The callback. Notnull
.
-
removeLayoutCallback
Removes the callback if it exists.- Parameters:
callback
- The callback. May benull
.
-
add
-
add
-
add
-
add
-
add
-
add
-
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:
layoutChildren
in classjavafx.scene.Parent
-
setWidth
protected void setWidth(double newWidth) - Overrides:
setWidth
in classjavafx.scene.layout.Region
-
setHeight
protected void setHeight(double newHeight) - Overrides:
setHeight
in classjavafx.scene.layout.Region
-
requestLayout
public void requestLayout()- Overrides:
requestLayout
in classjavafx.scene.Parent
-
incLayoutInhibit
void incLayoutInhibit() -
decLayoutInhibit
void decLayoutInhibit() -
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:
usesMirroring
in 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)
-