Changeset: 20396f6a7fac Author: jgiles Date: 2014-01-29 14:54 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/20396f6a7fac
RT-34897: [ListView] ListView not downsizing cells when its breadth shrinks ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/VirtualFlow.java Changeset: a874c214a9c7 Author: jgiles Date: 2014-01-31 11:14 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/a874c214a9c7 Small TitledPaneSkin cleanup to simplify code, improve animation quality and remove unnecessary scenegraph layer. ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TitledPaneBehavior.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TitledPaneSkin.java Changeset: d32812219304 Author: jgiles Date: 2014-01-31 11:23 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/d32812219304 RT-34550: ContextMenu displays old Menus that should have been deleted. This is a slight behavioral change in how Menus are handled, but it is the only option to ensure that the glitch identified in RT-34550 doesn't occur. In short the bug is that a Menu was being set in two separate ContextMenu instances. The ContextMenu instances had a direct reference to the Menu, but the Menu itself only has a reference upwards to the last-set ContextMenu. The end result of this is that when one context menu was shown and hovered over, the Menus items would display in two separate places - as they are the same items with the same Menu parent. In short, reusing a single Menu inside multiple ContextMenus should not be allowed (which in any case is how the JavaFX scenegraph has trained people to work). This changeset simply enforces that by silently detaching a Menu/MenuItem from its old parentPopup when it is set inside a new parentPopup. This may break some people, but the fix is simple. Rather than create multiple ContextMenu instances consisting of the same items, simply create one ContextMenu instance and set it on all nodes that should display that ContextMenu. ! modules/controls/src/main/java/javafx/scene/control/ContextMenu.java ! modules/controls/src/main/java/javafx/scene/control/Menu.java ! modules/controls/src/test/java/javafx/scene/control/ContextMenuTest.java Changeset: 8ce1f1916a3a Author: jgiles Date: 2014-01-31 12:11 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/8ce1f1916a3a RT-34563: Context Menus overlap in TableView's TextFieldTableCell I moved the code responsible for showing context menus out of the TextField mouse event handler into the proper context menu handler, so that the event could be consumed before it bubbled up to the default context menu handler in Control. This prevents the context menu on the cell being shown, as the TextField context menu is shown first and then consumes the event, as expected. ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/BehaviorBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TextAreaBehavior.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TextFieldBehavior.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/BehaviorSkinBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TextAreaSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TextFieldSkin.java ! modules/controls/src/main/java/javafx/scene/control/Control.java
