apps/samples/Ensemble8/src/app/java/ensemble/control/Popover.java

Print this page

        

*** 31,41 **** */ package ensemble.control; import java.util.LinkedList; - import ensemble.EnsembleApp; import javafx.animation.Animation; import javafx.animation.FadeTransition; import javafx.animation.Interpolator; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; --- 31,40 ----
*** 51,65 **** import javafx.geometry.Point2D; import javafx.geometry.VPos; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.Button; - import javafx.scene.image.Image; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; import javafx.scene.layout.Region; - import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.scene.text.Text; import javafx.util.Duration; /** --- 50,62 ----
*** 92,102 **** private Text title; // the current title private final Rectangle titlesClipRect = new Rectangle(); // private final EventHandler<ScrollEvent> popoverScrollHandler; private final EventHandler<MouseEvent> popoverHideHandler; private Runnable onHideCallback = null; ! private int maxPopupHeight = -1; private DoubleProperty popoverHeight = new SimpleDoubleProperty(400) { @Override protected void invalidated() { requestLayout(); } --- 89,99 ---- private Text title; // the current title private final Rectangle titlesClipRect = new Rectangle(); // private final EventHandler<ScrollEvent> popoverScrollHandler; private final EventHandler<MouseEvent> popoverHideHandler; private Runnable onHideCallback = null; ! private double maxPopupHeight = -1; private DoubleProperty popoverHeight = new SimpleDoubleProperty(400) { @Override protected void invalidated() { requestLayout(); }
*** 227,264 **** @Override protected void layoutChildren() { if (maxPopupHeight == -1) { maxPopupHeight = (int)getScene().getHeight()-100; } final Insets insets = getInsets(); ! final int width = (int)getWidth(); ! final int height = (int)getHeight(); ! final int top = (int)insets.getTop(); ! final int right = (int)insets.getRight(); ! final int bottom = (int)insets.getBottom(); ! final int left = (int)insets.getLeft(); ! int pageWidth = width - left - right; ! int pageHeight = height - top - bottom; frameBorder.resize(width, height); pagesPane.resizeRelocate(left, top, pageWidth, pageHeight); pagesClipRect.setWidth(pageWidth); pagesClipRect.setHeight(pageHeight); ! int pageX = 0; for (Node page : pagesPane.getChildren()) { page.resizeRelocate(pageX, 0, pageWidth, pageHeight); pageX += pageWidth + PAGE_GAP; } ! int buttonHeight = (int)(leftButton.prefHeight(-1)); if (buttonHeight < 30) buttonHeight = 30; ! final int buttonTop = (int)((top-buttonHeight)/2d); ! final int leftButtonWidth = (int)snapSize(leftButton.prefWidth(-1)); leftButton.resizeRelocate(left, buttonTop,leftButtonWidth,buttonHeight); ! final int rightButtonWidth = (int)snapSize(rightButton.prefWidth(-1)); rightButton.resizeRelocate(width-right-rightButtonWidth, buttonTop,rightButtonWidth,buttonHeight); final double leftButtonRight = leftButton.isVisible() ? (left + leftButtonWidth) : left; final double rightButtonLeft = rightButton.isVisible() ? (right + rightButtonWidth) : right; titlesClipRect.setX(leftButtonRight); --- 224,261 ---- @Override protected void layoutChildren() { if (maxPopupHeight == -1) { maxPopupHeight = (int)getScene().getHeight()-100; } final Insets insets = getInsets(); ! final double width = getWidth(); ! final double height = getHeight(); ! final double top = insets.getTop(); ! final double right = insets.getRight(); ! final double bottom = insets.getBottom(); ! final double left = insets.getLeft(); ! double pageWidth = width - left - right; ! double pageHeight = height - top - bottom; frameBorder.resize(width, height); pagesPane.resizeRelocate(left, top, pageWidth, pageHeight); pagesClipRect.setWidth(pageWidth); pagesClipRect.setHeight(pageHeight); ! double pageX = 0; for (Node page : pagesPane.getChildren()) { page.resizeRelocate(pageX, 0, pageWidth, pageHeight); pageX += pageWidth + PAGE_GAP; } ! double buttonHeight = leftButton.prefHeight(-1); if (buttonHeight < 30) buttonHeight = 30; ! final double buttonTop = (top-buttonHeight) / 2.0; ! final double leftButtonWidth = snapSizeX(leftButton.prefWidth(-1)); leftButton.resizeRelocate(left, buttonTop,leftButtonWidth,buttonHeight); ! final double rightButtonWidth = snapSizeX(rightButton.prefWidth(-1)); rightButton.resizeRelocate(width-right-rightButtonWidth, buttonTop,rightButtonWidth,buttonHeight); final double leftButtonRight = leftButton.isVisible() ? (left + leftButtonWidth) : left; final double rightButtonLeft = rightButton.isVisible() ? (right + rightButtonWidth) : right; titlesClipRect.setX(leftButtonRight);