< prev index next >

modules/graphics/src/test/java/test/javafx/stage/PopupTest.java

Print this page

        

@@ -23,10 +23,11 @@
  * questions.
  */
 
 package test.javafx.stage;
 
+import com.sun.javafx.scene.NodeHelper;
 import com.sun.javafx.scene.SceneHelper;
 import com.sun.javafx.stage.WindowHelper;
 import test.com.sun.javafx.pgstub.StubPopupStage;
 import test.com.sun.javafx.pgstub.StubStage;
 import test.com.sun.javafx.pgstub.StubToolkit;

@@ -53,18 +54,20 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicBoolean;
+import javafx.scene.Node;
 import javafx.scene.ParentShim;
 import javafx.stage.Popup;
 import javafx.stage.PopupWindow;
 import javafx.stage.Screen;
 import javafx.stage.Stage;
 import javafx.stage.Window;
 
 import static org.junit.Assert.*;
+import test.com.sun.javafx.stage.PopupRootHelper;
 
 public class PopupTest {
 
     private StubToolkit toolkit;
     private Stage stage;

@@ -130,18 +133,32 @@
         StubPopupStage peer = (StubPopupStage) WindowHelper.getPeer(p1);
         assertEquals(10, peer.x, 1e-100);
         assertEquals(20, peer.y, 1e-100);
     }
 
-    private static final class PopupRoot extends Parent {
+    public static final class PopupRoot extends Parent {
+        static {
+            PopupRootHelper.setPopupRootAccessor(
+                    new PopupRootHelper.PopupRootAccessor() {
+                @Override
+                public Bounds doComputeLayoutBounds(Node node) {
+                    return ((PopupRoot) node).doComputeLayoutBounds();
+                }
+            });
+        }
+
         private final Rectangle geomBoundsRect;
 
         private double layoutBoundsX;
         private double layoutBoundsY;
         private double layoutBoundsWidth;
         private double layoutBoundsHeight;
 
+        {
+            // To initialize the class helper at the begining each constructor of this class
+            PopupRootHelper.initHelper(this);
+        }
         public PopupRoot() {
             geomBoundsRect = new Rectangle(0, 0, 100, 100);
             layoutBoundsWidth = 100;
             layoutBoundsHeight = 100;
 

@@ -163,15 +180,14 @@
             layoutBoundsX = x;
             layoutBoundsY = y;
             layoutBoundsWidth = width;
             layoutBoundsHeight = height;
 
-            impl_layoutBoundsChanged();
+            NodeHelper.layoutBoundsChanged(this);
         }
 
-        @Override
-        protected Bounds impl_computeLayoutBounds() {
+        private Bounds doComputeLayoutBounds() {
             return new BoundingBox(layoutBoundsX, layoutBoundsY,
                                    layoutBoundsWidth, layoutBoundsHeight);
         }
     }
 
< prev index next >