From rcuprak at gmail.com Wed Jan 1 10:39:12 2014 From: rcuprak at gmail.com (Ryan Cuprak) Date: Wed, 1 Jan 2014 13:39:12 -0500 Subject: JavaFX versus AWT/Swing Hardware Acceleration Message-ID: What is the difference between hardware acceleration in JavaFX versus Swing/AWT? I heard a while back someone claim that Swing/AWT could never fully leverage hardware acceleration. However there are the usual mix of -D parameters (sun.java2.opengl/sun.java2d.d3d, etc.) for Swing/AWT. So I am just wondering how JavaFX?s acceleration differs from the hardware acceleration in Swing. When I was giving a talk at a JUG meeting someone called me out on the hardware acceleration bit and I realized I didn?t fully understand the differences between the two. I understand that JavaFX has a scene graph and Swing doesn?t etc. So I am assuming that the scene graph operations are optimized on the GPU whereas if you were trying to replicate a scene graph in Swing you would obviously be doing all the work on the CPU. So Swing?s hardware acceleration is more about buffers? I did come across this article: https://weblogs.java.net/blog/opinali/archive/2010/05/03/first-long-look-javafx-13-and-prism Specifically this line caught my attention "Prism finally renders effects with full hardware acceleration and without the extra buffer copies that spoil effects on the Swing toolkit.? This article is a dated - brings up a second question about hardware acceleration with a hybrid Swing/JavaFX application - what happens? Thanks, -Ryan From johan at lodgon.com Thu Jan 2 02:07:44 2014 From: johan at lodgon.com (Johan Vos) Date: Thu, 2 Jan 2014 11:07:44 +0100 Subject: Android port status In-Reply-To: <52C30717.9030000@oracle.com> References: <52B4B65F.4020605@oracle.com> <52C30717.9030000@oracle.com> Message-ID: Steve, I've signed an OCA (my name is at http://www.oracle.com/technetwork/community/oca-486395.html) but since that mentions "glassfish work", I'm not sure this is valid for open-jfx work as well? Can you advice? I'll follow up on the technical discussion in the jira-thread. Thanks, - Johan 2013/12/31 Stephen F Northover > Hi Johan, > > Have you signed the OCA (Oracle Contributor Agreement)? > > Ok, let's bootstrap your port and merge it with the existing code after we > are up and running. I can see what looks like useful code in the "android" > directory and we can either copy it over or merge your code in at a later > time. Let's continue this discussion in the JIRA. > > https://javafx-jira.kenai.com/browse/RT-35123 > > Steve > > > On 2013-12-31 3:47 AM, Johan Vos wrote: > > Steve, > > The main issue is currently getting bootstrapped. If we want to build the > Dalvik-runtime using open-jfx, we need a location on where to put the > dalvik files. This is what I tried to describe in > https://javafx-jira.kenai.com/browse/RT-35123 > > Please note that we're not really doing an Android port, but a Dalvik > port. The (excellent) work done by Oracle in the past allowed for both > using Dalvik as well as an Oracle-internal VM. There are no indications > that the latter is ever going to fly, so I don't want to have an > abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do > hope there will be other VM's (Oracle VM and more) later, as that will make > it easier to have Java 8 and so on, but right now we have to stick with > what we have (dalvik). > > Without these files, we can supply patches for existing files in > open-jfx, but by no means we can build the runtime. I do understand it is > not trivial to "add" a directory for the sake of a port, but then, a port > is not trivial as well. I'm open to all suggestions. > The longer we wait, however, with synchronizing the bitbucket repo with > the open-jfx repo, the harder it gets. Right now, I have no other option > than committing all changes in the bitbucket repo, as I need to be able to > build a runtime. We had 419 downloads of the runtime in 10 days, so clearly > there are people interested in this. > > - Johan > > > 2013/12/20 Stephen F Northover > >> Hi Johan, >> >> This is very good news. We need to work together so that you are able to >> run OpenJFX unmodified. This may not be practical for all sorts of >> reasons, but we need to seriously explore this and work towards this goal. >> Please open JIRA for the various problems you are seeing and we can try to >> deal with them there and on this list. >> >> Thanks, >> Steve >> >> >> On 2013-12-20 12:56 PM, Johan Vos wrote: >> >>> Hi, >>> >>> As you might know, 2 months ago I started a community effort for >>> "porting" >>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>> runtime, which can be downloaded at >>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>> instructions on how to build applications at >>> >>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>> >>> Building the runtime itself is explained at >>> >>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>> >>> At this moment, most of the Ensemble suite runs on Android (positive >>> reports starting with Android 3.x). >>> >>> The downloadable runtime is created using the bitbucket project at >>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>> changes >>> made in openjfx-graphics should be in the Android runtime as well. >>> >>> There are a number of issues left: >>> * touch map issues causing applications to crash if "touched too much". I >>> created a JIRA ticket for this and will create another one (related, but >>> not same cause) later. >>> * Java 7 only. Currently, applications cannot make use of Java 8 >>> features. >>> Dalvik has no invokedynamic, so we can't do lambda's. >>> * we just started, so there will be plenty of other bugs. >>> >>> We are also spending efforts in documentation and community interaction. >>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>> of >>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>> been >>> downloaded 60 times since it was released a couple of hours ago. So there >>> is definitely community interest and involvement. >>> Clearly, there is involvement from Oracle as well. Most of the effort so >>> far has been done by Tomas Brandalik and the Prague team. I was >>> positively >>> surprised to see the amount of native code that was already available for >>> Android. >>> >>> After a few discussions, it has been agreed that we should try to >>> synchronize as much as possible with the OpenJFX repositories, without >>> jeopardizing the stability and performance of the main ports, and without >>> running into legal trouble. >>> >>> I will run a diff on the current code versus the OpenJFX code, and I will >>> try to create issues with patches for sending the changes back to >>> OpenJFX. >>> Not all changes can go back to OpenJFX. We had to add a number of classes >>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>> can't commit those in OpenJFX. >>> >>> We had to make a number of changes to JavaFX files as well, in order to >>> make them compile with JDK 1.7. Most of these were about removing >>> Function >>> and adding implementations for the default interface methods on >>> ObservableList. >>> I have no clear opinion on how these changed files could somehow be used >>> from within OpenJFX, but I'm very open to suggestions. >>> >>> Finally, keep in mind that this is a community effort. Nobody is paying >>> for >>> this, and it is done in our spare time. I'm doing my best to move forward >>> as soon as I can, but I have other things to work on as well of course. >>> However, the collaboration between the Java community and Oracle (mainly >>> Tomas) has been great so far. It is in the interest of anyone working on >>> or >>> with Java to show the world that JavaFX runs on Android devices. >>> >>> - Johan >>> >> >> > > From hang.vo at oracle.com Thu Jan 2 06:31:58 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 02 Jan 2014 14:31:58 +0000 Subject: hg: openjfx/8u-dev/rt: Fix to RT-32631: D3D: Need to improve OS version checking into GPU qualifying logic Message-ID: <20140102143300.3428962FDC@hg.openjdk.java.net> Changeset: 6276ba3a4dfd Author: Chien Yang Date: 2014-01-02 06:25 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6276ba3a4dfd Fix to RT-32631: D3D: Need to improve OS version checking into GPU qualifying logic Reviewed-by: kcr, vadim ! modules/graphics/src/main/java/com/sun/prism/d3d/D3DDriverInformation.java ! modules/graphics/src/main/native-prism-d3d/D3DBadHardware.h ! modules/graphics/src/main/native-prism-d3d/D3DPipelineManager.cc ! modules/graphics/src/main/native-prism-d3d/D3DPipelineManager.h From kevin.rushforth at oracle.com Thu Jan 2 08:27:11 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 02 Jan 2014 08:27:11 -0800 Subject: Android port status In-Reply-To: References: <52B4B65F.4020605@oracle.com> <52C30717.9030000@oracle.com> Message-ID: <52C5935F.3020704@oracle.com> As long as you've signed the OCA, which I see you have, that is sufficient. -- Kevin Johan Vos wrote: > Steve, > > I've signed an OCA (my name is at > http://www.oracle.com/technetwork/community/oca-486395.html) but since that > mentions "glassfish work", I'm not sure this is valid for open-jfx work as > well? Can you advice? > > I'll follow up on the technical discussion in the jira-thread. > > Thanks, > > - Johan > > > 2013/12/31 Stephen F Northover > > >> Hi Johan, >> >> Have you signed the OCA (Oracle Contributor Agreement)? >> >> Ok, let's bootstrap your port and merge it with the existing code after we >> are up and running. I can see what looks like useful code in the "android" >> directory and we can either copy it over or merge your code in at a later >> time. Let's continue this discussion in the JIRA. >> >> https://javafx-jira.kenai.com/browse/RT-35123 >> >> Steve >> >> >> On 2013-12-31 3:47 AM, Johan Vos wrote: >> >> Steve, >> >> The main issue is currently getting bootstrapped. If we want to build the >> Dalvik-runtime using open-jfx, we need a location on where to put the >> dalvik files. This is what I tried to describe in >> https://javafx-jira.kenai.com/browse/RT-35123 >> >> Please note that we're not really doing an Android port, but a Dalvik >> port. The (excellent) work done by Oracle in the past allowed for both >> using Dalvik as well as an Oracle-internal VM. There are no indications >> that the latter is ever going to fly, so I don't want to have an >> abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do >> hope there will be other VM's (Oracle VM and more) later, as that will make >> it easier to have Java 8 and so on, but right now we have to stick with >> what we have (dalvik). >> >> Without these files, we can supply patches for existing files in >> open-jfx, but by no means we can build the runtime. I do understand it is >> not trivial to "add" a directory for the sake of a port, but then, a port >> is not trivial as well. I'm open to all suggestions. >> The longer we wait, however, with synchronizing the bitbucket repo with >> the open-jfx repo, the harder it gets. Right now, I have no other option >> than committing all changes in the bitbucket repo, as I need to be able to >> build a runtime. We had 419 downloads of the runtime in 10 days, so clearly >> there are people interested in this. >> >> - Johan >> >> >> 2013/12/20 Stephen F Northover >> >> >>> Hi Johan, >>> >>> This is very good news. We need to work together so that you are able to >>> run OpenJFX unmodified. This may not be practical for all sorts of >>> reasons, but we need to seriously explore this and work towards this goal. >>> Please open JIRA for the various problems you are seeing and we can try to >>> deal with them there and on this list. >>> >>> Thanks, >>> Steve >>> >>> >>> On 2013-12-20 12:56 PM, Johan Vos wrote: >>> >>> >>>> Hi, >>>> >>>> As you might know, 2 months ago I started a community effort for >>>> "porting" >>>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>>> runtime, which can be downloaded at >>>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>>> instructions on how to build applications at >>>> >>>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>>> >>>> Building the runtime itself is explained at >>>> >>>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>>> >>>> At this moment, most of the Ensemble suite runs on Android (positive >>>> reports starting with Android 3.x). >>>> >>>> The downloadable runtime is created using the bitbucket project at >>>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>>> changes >>>> made in openjfx-graphics should be in the Android runtime as well. >>>> >>>> There are a number of issues left: >>>> * touch map issues causing applications to crash if "touched too much". I >>>> created a JIRA ticket for this and will create another one (related, but >>>> not same cause) later. >>>> * Java 7 only. Currently, applications cannot make use of Java 8 >>>> features. >>>> Dalvik has no invokedynamic, so we can't do lambda's. >>>> * we just started, so there will be plenty of other bugs. >>>> >>>> We are also spending efforts in documentation and community interaction. >>>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>>> of >>>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>>> been >>>> downloaded 60 times since it was released a couple of hours ago. So there >>>> is definitely community interest and involvement. >>>> Clearly, there is involvement from Oracle as well. Most of the effort so >>>> far has been done by Tomas Brandalik and the Prague team. I was >>>> positively >>>> surprised to see the amount of native code that was already available for >>>> Android. >>>> >>>> After a few discussions, it has been agreed that we should try to >>>> synchronize as much as possible with the OpenJFX repositories, without >>>> jeopardizing the stability and performance of the main ports, and without >>>> running into legal trouble. >>>> >>>> I will run a diff on the current code versus the OpenJFX code, and I will >>>> try to create issues with patches for sending the changes back to >>>> OpenJFX. >>>> Not all changes can go back to OpenJFX. We had to add a number of classes >>>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>>> can't commit those in OpenJFX. >>>> >>>> We had to make a number of changes to JavaFX files as well, in order to >>>> make them compile with JDK 1.7. Most of these were about removing >>>> Function >>>> and adding implementations for the default interface methods on >>>> ObservableList. >>>> I have no clear opinion on how these changed files could somehow be used >>>> from within OpenJFX, but I'm very open to suggestions. >>>> >>>> Finally, keep in mind that this is a community effort. Nobody is paying >>>> for >>>> this, and it is done in our spare time. I'm doing my best to move forward >>>> as soon as I can, but I have other things to work on as well of course. >>>> However, the collaboration between the Java community and Oracle (mainly >>>> Tomas) has been great so far. It is in the interest of anyone working on >>>> or >>>> with Java to show the world that JavaFX runs on Android devices. >>>> >>>> - Johan >>>> >>>> >>> >> From kevin.rushforth at oracle.com Thu Jan 2 09:39:08 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 02 Jan 2014 09:39:08 -0800 Subject: Please update copyright year to 2014 in any file you create / modify Message-ID: <52C5A43C.3060605@oracle.com> Happy New Year OpenJFX folks! Since it is now 2014, when you modify any source code file, please update the last copyright year in the Oracle copyright header to reflect this. Here are the three cases to consider. 1) A new file created this year You would use this: * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. 2) A file created and last touched in 2013 For example, the following: * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. would now be: * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. 3) A file created and last touched in two different prior years For example, the following: * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. would now be: * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. Thank you. -- Kevin From hang.vo at oracle.com Thu Jan 2 11:17:47 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 02 Jan 2014 19:17:47 +0000 Subject: hg: openjfx/8u-dev/rt: 6 new changesets Message-ID: <20140102191929.F109462FE1@hg.openjdk.java.net> Changeset: 98b52a79d333 Author: kcr Date: 2013-12-20 15:48 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/98b52a79d333 RT-33943: Update copyright year in docs, readme files to 2014 Reviewed-by: Mong Hang Vo ! build.properties ! modules/fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: ffae6092f803 Author: Yves Joan Date: 2013-12-23 13:59 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ffae6092f803 Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java + apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.css + apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.fxml + apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReportController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonBuffer.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/PasteJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/WorkspaceController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneMosaic.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/AbstractOutline.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/NodeOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectAndMoveGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssContentMaker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/AbstractHierarchyPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/BoundsPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/util/ContextMenuController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMRefresher.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientStateBackup.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ChoiceBoxSampleData.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ComboBoxSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/SampleDataGenerator.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/XYChartSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ChoiceBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ComboBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/LibraryFolderWatcher.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCharacterCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCodeCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ClipboardDecoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/DesignHierarchyMask.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java Changeset: 94331ac42150 Author: kcr Date: 2013-12-23 13:46 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/94331ac42150 RT-25869: Update copyright year in header of modified source code files to 2013 Reviewed-by: Mong Hang Vo ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/AutoLogoutLightBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/ConferenceScheduleApp.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/Page.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/PageContainer.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/PlatformIntegration.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/Theme.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/TouchClickedEventAvoider.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/TouchScrollEventSynthesizer.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/CheckBoxItem.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/EventPopoverPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/LoginProgressBarSkin.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/NoopScrollBarSkin.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/Popover.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/PopoverBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/PopoverBoxItem.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/PopoverTreeList.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/ResizableWrappingText.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/ScrollPaneSkin3.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/SearchBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/SimpleVBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/TestPopover.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/TestVirtualKeyboard.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/TreeBoxItem.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/VirtualKeyboard.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/VirtualKeyboardSkin.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/DataService.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/JSONParserJP.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/SessionManagement.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/TwitterJson.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/DevoxxDataService.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/GetConferenceDataTask.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/LoginTask.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/TestDataService.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/UpdateScheduleTask.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Availability.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Event.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/FilterType.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Level.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Room.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Session.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/SessionTime.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/SessionType.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Speaker.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Track.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Tweet.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Venue.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/CatalogPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/FilterSessionsByTrackPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/FilterSessionsByTypePage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/LoginScreen.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SearchFilterPopoverPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SessionFilterCriteria.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SessionListPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SocialPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SpeakersPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/TimelinePage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/TracksPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/VenueRoomPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/VenuesPage.java ! apps/experiments/Modena/src/main/java/modena/SameHeightTestController.java ! apps/experiments/Modena/src/main/java/modena/SamplePage.java ! apps/experiments/Modena/src/main/java/modena/SamplePageChartHelper.java ! apps/experiments/Modena/src/main/java/modena/SamplePageHelpers.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTableHelper.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTreeHelper.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTreeTableHelper.java ! apps/experiments/Modena/src/main/java/modena/SimpleWindowPage.java ! apps/experiments/Modena/src/main/resources/modena/TestApp.css ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Ball.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BallsPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BallsScreen.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BouncingBallsApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Constants.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Ball.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Bat.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Bonus.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Brick.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/BrickBreakerApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Config.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/LevelData.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Splash.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Utils.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Calculator.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/CalculatorApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Key.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Util.java ! buildSrc/genVSproperties.bat ! modules/base/src/main/java/javafx/collections/transformation/TransformationList.java ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/embedded-qvga.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/embedded.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/highcontrast.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/two-level-focus.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-embedded-performance.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/touch.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/two-level-focus.css ! modules/controls/src/test/java/javafx/scene/control/ColorPickerTest.java ! modules/designTime/src/main/java/com/sun/javafx/beans/design/package.html ! modules/designTime/src/main/java/com/sun/javafx/beans/metadata/package.html ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/border_pane.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/flow_pane.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/grid_pane.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/project-with-all-p2-components.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/stageview-drop-test.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-gear-flowers.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-tiger.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-tux.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-unhappy-sheep.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-svgspec-paints-radialGradient.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/tile_pane.fxml ! modules/fxml/src/test/resources/javafx/fxml/bad_include.fxml ! modules/fxml/src/test/resources/javafx/fxml/builders_trianglemesh.fxml ! modules/fxml/src/test/resources/javafx/fxml/cycle.fxml ! modules/fxml/src/test/resources/javafx/fxml/dummy-cycle.fxml ! modules/fxml/src/test/resources/javafx/fxml/events_test.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf1.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf2.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf3.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf4.fxml ! modules/fxml/src/test/resources/javafx/fxml/list_map_set_events_test.fxml ! modules/fxml/src/test/resources/javafx/fxml/one-2-one-cycle.fxml ! modules/fxml/src/test/resources/javafx/fxml/property_events_test.fxml ! modules/fxml/src/test/resources/javafx/fxml/property_events_test_value.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_14880.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_15524.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_16724.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_16815.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_16977.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_17646.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_18218.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_18680.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_18933.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19112.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19139.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19228.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19329.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19870.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_20082.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_20082_include.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_20471.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_22864.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_22971.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_23447.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_23519.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_24380.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_24465.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_26449.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_1.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_2.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_3.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_4.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_34146.fxml ! modules/fxml/src/test/resources/javafx/fxml/script_handler.fxml ! modules/fxml/src/test/resources/javafx/fxml/script_handler_external.fxml ! modules/fxml/src/test/resources/javafx/fxml/static_script_load.fxml ! modules/graphics/src/main/java/com/sun/javafx/css/CalculatedValue.java ! modules/graphics/src/main/java/com/sun/javafx/css/PseudoClassState.java ! modules/graphics/src/main/java/com/sun/javafx/css/StyleCache.java ! modules/graphics/src/main/java/com/sun/javafx/css/StyleCacheEntry.java ! modules/graphics/src/main/java/com/sun/javafx/css/StyleMap.java ! modules/graphics/src/main/java/com/sun/javafx/css/parser/TestRig.java.DISABLED ! modules/graphics/src/main/java/com/sun/prism/sw/SWArgbPreTexture.java ! modules/graphics/src/test/resources/com/sun/javafx/css/converters/some.txt ! modules/graphics/src/test/resources/javafx/scene/layout/RegionCSSTest.css ! modules/media/src/main/native/gstreamer/gstreamer-lite/projects/plugins/gstplugins-lite.c ! modules/media/src/main/native/gstreamer/gstreamer-lite/projects/plugins/gstplugins-lite.h ! modules/web/src/android/java/netscape/javascript/JSException.java ! modules/web/src/android/java/netscape/javascript/JSObject.java ! modules/web/src/ios/native/WebViewImpl.h ! modules/web/src/main/java/com/sun/javafx/scene/web/Debugger.java ! modules/web/src/main/java/com/sun/javafx/sg/prism/NGWebView.java ! modules/web/src/main/java/com/sun/javafx/webkit/Accessor.java ! modules/web/src/main/java/com/sun/javafx/webkit/CursorManagerImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/EventLoopImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/InputMethodClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/KeyCodeMap.java ! modules/web/src/main/java/com/sun/javafx/webkit/PasteboardImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/ThemeClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/UIClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/UtilitiesImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/WebPageClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/drt/DumpRenderTree.java ! modules/web/src/main/java/com/sun/javafx/webkit/drt/EventSender.java ! modules/web/src/main/java/com/sun/javafx/webkit/drt/UIClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismGraphicsManager.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismImage.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismInvoker.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/RTImage.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/TextUtilities.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCBufferedContext.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCFontCustomPlatformDataImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCFontImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCImageDecoderImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCImageImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCLinearGradient.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCMediaPlayerImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCPageBackBufferImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCPathImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCRadialGradient.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCStrokeImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/theme/PrismRenderer.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/ContextMenuImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/PopupMenuImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/RenderThemeImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/Renderer.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/ScrollBarThemeImpl.java ! modules/web/src/main/java/com/sun/webkit/BackForwardList.java ! modules/web/src/main/java/com/sun/webkit/ContextMenu.java ! modules/web/src/main/java/com/sun/webkit/ContextMenuItem.java ! modules/web/src/main/java/com/sun/webkit/CursorManager.java ! modules/web/src/main/java/com/sun/webkit/Disposer.java ! modules/web/src/main/java/com/sun/webkit/DisposerRecord.java ! modules/web/src/main/java/com/sun/webkit/EventLoop.java ! modules/web/src/main/java/com/sun/webkit/FileSystem.java ! modules/web/src/main/java/com/sun/webkit/InputMethodClient.java ! modules/web/src/main/java/com/sun/webkit/InspectorClient.java ! modules/web/src/main/java/com/sun/webkit/Invoker.java ! modules/web/src/main/java/com/sun/webkit/LoadListenerClient.java ! modules/web/src/main/java/com/sun/webkit/LocalizedStrings.java ! modules/web/src/main/java/com/sun/webkit/MainThread.java ! modules/web/src/main/java/com/sun/webkit/PageCache.java ! modules/web/src/main/java/com/sun/webkit/Pasteboard.java ! modules/web/src/main/java/com/sun/webkit/PolicyClient.java ! modules/web/src/main/java/com/sun/webkit/PopupMenu.java ! modules/web/src/main/java/com/sun/webkit/SharedBuffer.java ! modules/web/src/main/java/com/sun/webkit/SimpleSharedBufferInputStream.java ! modules/web/src/main/java/com/sun/webkit/ThemeClient.java ! modules/web/src/main/java/com/sun/webkit/Timer.java ! modules/web/src/main/java/com/sun/webkit/UIClient.java ! modules/web/src/main/java/com/sun/webkit/Utilities.java ! modules/web/src/main/java/com/sun/webkit/WCFrameView.java ! modules/web/src/main/java/com/sun/webkit/WCPasteboard.java ! modules/web/src/main/java/com/sun/webkit/WCPluginWidget.java ! modules/web/src/main/java/com/sun/webkit/WCWidget.java ! modules/web/src/main/java/com/sun/webkit/WebPage.java ! modules/web/src/main/java/com/sun/webkit/WebPageClient.java ! modules/web/src/main/java/com/sun/webkit/dom/EventListenerImpl.java ! modules/web/src/main/java/com/sun/webkit/event/WCChangeEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCChangeListener.java ! modules/web/src/main/java/com/sun/webkit/event/WCFocusEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCInputMethodEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCKeyEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCMouseEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCMouseWheelEvent.java ! modules/web/src/main/java/com/sun/webkit/graphics/GraphicsDecoder.java ! modules/web/src/main/java/com/sun/webkit/graphics/Ref.java ! modules/web/src/main/java/com/sun/webkit/graphics/RenderMediaControls.java ! modules/web/src/main/java/com/sun/webkit/graphics/RenderTheme.java ! modules/web/src/main/java/com/sun/webkit/graphics/ScrollBarTheme.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCFont.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCFontCustomPlatformData.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCGradient.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCGraphicsContext.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCGraphicsManager.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCIcon.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCImage.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCImageDecoder.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCImageFrame.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCMediaPlayer.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPageBackBuffer.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPath.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPathIterator.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPoint.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCRectangle.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCRenderQueue.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCSize.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCStroke.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCTransform.java ! modules/web/src/main/java/com/sun/webkit/network/ByteBufferPool.java ! modules/web/src/main/java/com/sun/webkit/network/Cookie.java ! modules/web/src/main/java/com/sun/webkit/network/CookieJar.java ! modules/web/src/main/java/com/sun/webkit/network/CookieManager.java ! modules/web/src/main/java/com/sun/webkit/network/CookieStore.java ! modules/web/src/main/java/com/sun/webkit/network/DateParser.java ! modules/web/src/main/java/com/sun/webkit/network/DirectoryURLConnection.java ! modules/web/src/main/java/com/sun/webkit/network/ExtendedTime.java ! modules/web/src/main/java/com/sun/webkit/network/FormDataElement.java ! modules/web/src/main/java/com/sun/webkit/network/NetworkContext.java ! modules/web/src/main/java/com/sun/webkit/network/PublicSuffixes.java ! modules/web/src/main/java/com/sun/webkit/network/SocketStreamHandle.java ! modules/web/src/main/java/com/sun/webkit/network/URLLoader.java ! modules/web/src/main/java/com/sun/webkit/network/URLs.java ! modules/web/src/main/java/com/sun/webkit/network/Util.java ! modules/web/src/main/java/com/sun/webkit/network/about/AboutURLConnection.java ! modules/web/src/main/java/com/sun/webkit/network/about/Handler.java ! modules/web/src/main/java/com/sun/webkit/network/data/DataURLConnection.java ! modules/web/src/main/java/com/sun/webkit/network/data/Handler.java ! modules/web/src/main/java/com/sun/webkit/perf/PerfLogger.java ! modules/web/src/main/java/com/sun/webkit/perf/WCFontPerfLogger.java ! modules/web/src/main/java/com/sun/webkit/perf/WCGraphicsPerfLogger.java ! modules/web/src/main/java/com/sun/webkit/plugin/DefaultPlugin.java ! modules/web/src/main/java/com/sun/webkit/plugin/Plugin.java ! modules/web/src/main/java/com/sun/webkit/plugin/PluginHandler.java ! modules/web/src/main/java/com/sun/webkit/plugin/PluginListener.java ! modules/web/src/main/java/com/sun/webkit/plugin/PluginManager.java ! modules/web/src/main/java/com/sun/webkit/text/StringCase.java ! modules/web/src/main/java/com/sun/webkit/text/TextBreakIterator.java ! modules/web/src/main/java/com/sun/webkit/text/TextCodec.java ! modules/web/src/main/java/com/sun/webkit/text/TextNormalizer.java ! modules/web/src/main/java/javafx/scene/web/PopupFeatures.java ! modules/web/src/main/java/javafx/scene/web/PromptData.java ! modules/web/src/main/java/javafx/scene/web/WebEngine.java ! modules/web/src/main/java/javafx/scene/web/WebEvent.java ! modules/web/src/main/java/javafx/scene/web/WebHistory.java ! modules/web/src/main/java/javafx/scene/web/WebView.java ! modules/web/src/main/native/Source/WTF/wtf/java/JavaRef.h ! modules/web/src/main/native/Source/WTF/wtf/java/MainThreadJava.cpp ! modules/web/src/main/native/Source/WTF/wtf/java/MainThreadJava.h ! modules/web/src/main/native/Source/WTF/wtf/java/StringJava.cpp ! modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.cpp ! modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h ! modules/web/src/main/native/Source/WTF/wtf/unicode/java/mirrorPairs.h ! modules/web/src/main/native/Source/WebCore/bindings/java/DOMException.h ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaDOMUtils.cpp ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaDOMUtils.h ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaEventListener.cpp ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaEventListener.h ! modules/web/src/main/native/Source/WebCore/page/java/ChromeClientJava.cpp ! modules/web/src/main/native/Source/WebCore/page/java/ChromeClientJava.h ! modules/web/src/main/native/Source/WebCore/page/java/DragControllerJava.cpp ! modules/web/src/main/native/Source/WebCore/page/java/EventHandlerJava.cpp ! modules/web/src/main/native/Source/WebCore/page/java/FrameJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BitmapImageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageSkiaJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageSkiaJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ChromiumBridge.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ChromiumBridge.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontCacheJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontCustomPlatformData.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontCustomPlatformData.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontPlatformData.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontPlatformDataJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/GlyphPageTreeNodeJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/GraphicsContextJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/GraphicsContextJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/IconJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageBufferDataJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageBufferJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageSourceJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/MediaPlayerPrivateJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/MediaPlayerPrivateJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/PathJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/PlatformContextJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RQRef.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RQRef.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RenderingQueue.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RenderingQueue.h ! modules/web/src/main/native/Source/WebCore/platform/java/BridgeUtils.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/BridgeUtils.h ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardUtilitiesJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardUtilitiesJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuItemJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/CursorJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/DataObjectJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/DragClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/DragClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/DragDataJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/EditorClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/EditorClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/EventLoopJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FileChooserJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FileSystemJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FrameLoaderClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FrameLoaderClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/FrameNetworkingContextJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/IDNJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/IDNJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/InspectorClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/InspectorClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/JavaEnv.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/JavaEnv.h ! modules/web/src/main/native/Source/WebCore/platform/java/KeyboardEventJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/LanguageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/LocalizedStringsJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/LoggingJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/MIMETypeRegistryJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/MouseEventJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PasteboardJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PlatformScreenJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PlatformStrategiesJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PlatformStrategiesJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/PluginDataJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginInfoStoreJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginViewJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginWidgetJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginWidgetJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/PopupMenuJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PopupMenuJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/RenderThemeJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/RenderThemeJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ScrollbarThemeJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ScrollbarThemeJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/SearchPopupMenuJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/SharedBufferJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/SharedTimerJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/SoundJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/StringJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/StringJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/TemporaryLinkStubs.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextBreakIteratorInternalICUJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextBreakIteratorJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextCodecJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextCodecJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/TextNormalizerJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextNormalizerJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/WebPage.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/WebPage.h ! modules/web/src/main/native/Source/WebCore/platform/java/WheelEventJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/WidgetJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/api/BackForwardListJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/api/PageCacheJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/CookieJarJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceError.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceHandleJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceRequestJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceResponse.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/SocketStreamError.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/SocketStreamHandle.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/SocketStreamHandleJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/URLLoader.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/URLLoader.h ! modules/web/src/main/native/Source/WebCore/plugins/java/PluginDataJava.cpp ! modules/web/src/main/native/Source/WebCore/plugins/java/PluginDataJava.h ! modules/web/src/main/native/Tools/DumpRenderTree/java/DumpRenderTree.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/EventSender.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/EventSender.h ! modules/web/src/main/native/Tools/DumpRenderTree/java/GCControllerJava.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/JavaEnv.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/JavaEnv.h ! modules/web/src/main/native/Tools/DumpRenderTree/java/TestRunnerJava.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/WorkQueueItemJava.cpp ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_de.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_es.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_fr.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_it.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ja.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ko.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_pt_BR.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_sv.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_CN.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_TW.properties ! modules/web/src/test/java/com/sun/webkit/SharedBufferTest.java ! modules/web/src/test/java/com/sun/webkit/SimpleSharedBufferInputStreamTest.java ! modules/web/src/test/java/com/sun/webkit/network/CookieManagerTest.java ! modules/web/src/test/java/com/sun/webkit/network/CookieTest.java ! modules/web/src/test/java/com/sun/webkit/network/DateParserTest.java ! modules/web/src/test/java/com/sun/webkit/network/PublicSuffixesTest.java ! modules/web/src/test/java/com/sun/webkit/network/UtilTest.java ! modules/web/src/test/java/com/sun/webkit/network/data/DataURLConnectionTest.java ! modules/web/src/test/java/com/sun/webkit/text/TextBreakIteratorTest.java ! modules/web/src/test/java/javafx/scene/web/BindingTest.java ! modules/web/src/test/java/javafx/scene/web/CSSTest.java ! modules/web/src/test/java/javafx/scene/web/CallbackTest.java ! modules/web/src/test/java/javafx/scene/web/CheckFxThreadTest.java ! modules/web/src/test/java/javafx/scene/web/DOMTest.java ! modules/web/src/test/java/javafx/scene/web/DebuggerTest.java ! modules/web/src/test/java/javafx/scene/web/HistoryTest.java ! modules/web/src/test/java/javafx/scene/web/IrresponsiveScriptTest.java ! modules/web/src/test/java/javafx/scene/web/JavaScriptBridgeTest.java ! modules/web/src/test/java/javafx/scene/web/LeakTest.java ! modules/web/src/test/java/javafx/scene/web/LoadNotificationsTest.java ! modules/web/src/test/java/javafx/scene/web/LoadTest.java ! modules/web/src/test/java/javafx/scene/web/MiscellaneousTest.java ! modules/web/src/test/java/javafx/scene/web/ScreenAndWindowTest.java ! modules/web/src/test/java/javafx/scene/web/TestBase.java ! modules/web/src/test/java/javafx/scene/web/WebPageTest.java ! modules/web/src/test/java/javafx/scene/web/WebViewResizabilityTest.java ! modules/web/src/test/java/javafx/scene/web/WebViewTest.java ! tests/golden-image-suite/src/modena/SameHeightTestController.java ! tests/golden-image-suite/src/modena/SamplePage.java ! tests/golden-image-suite/src/modena/SamplePageChartHelper.java ! tests/golden-image-suite/src/modena/SamplePageHelpers.java ! tests/golden-image-suite/src/modena/SamplePageTableHelper.java ! tests/golden-image-suite/src/modena/SamplePageTreeHelper.java ! tests/golden-image-suite/src/modena/SamplePageTreeTableHelper.java ! tests/golden-image-suite/src/modena/SimpleWindowPage.java ! tests/golden-image-suite/src/modena/TestApp.css ! tests/system/src/test/java/javafx/scene/layout/RegionBackgroundFillUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionBackgroundImageUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionBorderImageUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionBorderStrokeUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionShapeUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionUITestBase.java ! tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/Base64.java Changeset: b5ed4e9e9ce9 Author: Yves Joan Date: 2013-12-27 14:58 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b5ed4e9e9ce9 Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/CssPanelDelegate.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/CssPanelMenuController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ResourceController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneStyleSheetMenuController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SplitController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/about/About.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/about/AboutWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/about/about-footer.png ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/I18N.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp_ja.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp_zh_CN.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/IndexEntry.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanel.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanel.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanelController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/LeftCell.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/RightCell.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/DebugMenuController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBar.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePanel.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePanel.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePanelController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePopupController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/Preferences.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/Preferences.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesRecordDocument.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesRecordGlobal.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/BackgroundColor.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/BackgroundColorDialogController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReportController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBar.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonBuffer.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindow.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog_css.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog_i18n.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication_css.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication_i18n.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication_css.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication_i18n.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/TemplateDialog.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/TemplateDialogController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/util/FileMutex.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/util/MessageBox.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/JobManager.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/DragController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/LiveUpdater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/DocumentDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/DragSourceShadow.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/ExternalDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/LibraryDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/AbstractDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/AccessoryDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/CollectionDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/ContainerXYDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/ContainerZDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/GridPaneDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/RootDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/I18N.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit_ja.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit_zh_CN.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ArrangeZOrderJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BatchJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BatchModifyObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BringForwardJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BringToFrontJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/CutSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteGridSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteObjectSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DuplicateSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/FitToParentObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/FitToParentSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsAccessoryJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsSubComponentAndRelocateJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsSubComponentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/Job.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/JobUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxControllerJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifySelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/PasteIntoJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/PasteJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ReIndexObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/RelocateNodeJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/SendBackwardJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/SendToBackJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/SetDocumentRootJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/TrimSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UseComputedSizesObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UseComputedSizesSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddColumnConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddRowConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/DeleteColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/DeleteRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/GridPaneJobUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/MoveColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/MoveRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/ReIndexColumnContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/ReIndexRowContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveColumnConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveColumnContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveRowConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveRowContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/GridSnapshot.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/GridSnapshotItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertColumnConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertRowConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/MoveCellContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/MoveColumnContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/MoveRowContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/AddPropertyJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/AddPropertyValueJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/ClearSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/CompositeJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/RemovePropertyJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/RemovePropertyValueJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/UpdateSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInSubComponentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/FXOMObjectCourseComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/UnwrapJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInAnchorPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInGridPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInGroupJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInHBoxJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInScrollPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInSplitPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInStackPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInTabPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInTitledPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInToolBarJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInVBoxJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapJobUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/messagelog/MessageLog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/messagelog/MessageLogEntry.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/AbstractDecoration.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/HudWindow.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/HudWindow.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/HudWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/WorkspaceController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/AbstractDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/AbstractNodeDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/BorderPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/FlowPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/GenericDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/GridPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/HBoxDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/LineDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/SplitPaneDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/SplitPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabPaneDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TableColumnDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TableViewDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TableViewDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TextFlowDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/ToolBarDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TreeTableColumnDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TreeTableViewDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TreeTableViewDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/VBoxDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneMosaic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPanePring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractCurveHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractGenericHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractNodeHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/LineHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/NodeHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/SplitPaneHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TabHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TableColumnHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TableViewHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TreeTableColumnHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TreeTableViewHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/AbstractOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/NodeOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/AbstractGenericPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/AbstractPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/NodePring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/TabPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/TableColumnPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/TreeTableColumnPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/relocater/AbstractRelocater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/relocater/AnchorPaneRelocater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/relocater/PaneRelocater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/AbstractResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/CanvasResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/GridPaneColumnResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/GridPaneRowResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/ImageViewResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/LazyResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/RegionResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/SubSceneResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/TableColumnResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/TreeTableColumnResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/WebViewResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/ArcResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/CircleResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/EllipseResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/RectangleResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/TextResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/rudder/AbstractRudder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/rudder/ResizeRudder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/AbstractGenericTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/AbstractNodeTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/AbstractTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/BorderPaneTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/GenericParentTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/HBoxTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/NodeTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/Quad.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/TabTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/TableColumnTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/TreeTableColumnTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/VBoxTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/AbstractGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/DragGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/SelectWithPringGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/ZoomGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/AbstractMouseDragGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/AbstractMouseGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/AdjustDividerGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/DebugMouseGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/DiscardGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/EditCurveGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeColumnGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeRowGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeTableColumnGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeTreeTableColumnGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectAndMoveGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectAndMoveInGridGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectWithMarqueeGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/AbstractSegment.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/HorizontalLineComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/HorizontalLineIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/HorizontalSegment.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/MovingGuideController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/MovingGuideRenderer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/ResizingGuideChrome.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/ResizingGuideController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/ResizingGuideRenderer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/SegmentIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/VerticalLineComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/VerticalLineIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/VerticalSegment.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/mode/AbstractModeController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/mode/EditModeController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/mode/PickModeController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/BoundsUnion.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/BoundsUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/CardinalPoint.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/LineEquation.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/Picker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/RegionRectangle.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/ScrollPaneBooster.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssContentMaker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssValueConverter.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssValuePresenterFactory.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/SelectionPath.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/AbstractHierarchyPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyAnimationScheduler.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyDNDController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyItemBorderPane.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyItemGraphic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyTaskScheduler.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableRow.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableView.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableViewController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableViewUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeView.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/Inspector.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/Inspector.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/SubSection.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AnchorPaneConstraintsEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AnchorPaneConstraintsEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BooleanEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ControllerClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DividerPositionsEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DoubleAutoSuggestEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DoubleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DoubleField.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/Editor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorItemDelegate.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/GenericEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ImageEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ImageEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/InlineListEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/InsetsEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/InsetsEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/IntegerAutoSuggestEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/IntegerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/IntegerField.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/NumberField.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/Point3DEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/Point3DEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertiesEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/RotateEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/RotateEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StringAutoSuggestEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditorItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditorItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditorInitialBt.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditorItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/TextAlignmentEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/TextAlignmentEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/BoundsPopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/BoundsPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PaintPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditorValidation.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/StringPopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/StringPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportDialog.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportDialog.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportRow.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportRowComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryListCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryListItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlPopupController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPopupController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialogM.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialogW.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AlertDialog.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AlertDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/ErrorDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/TextViewDialog.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/TextViewDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/report/ErrorReport.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/report/ErrorReportEntry.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/Search.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/Search.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/SearchController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/AbstractSelectionGroup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/GridSelectionGroup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/ObjectSelectionGroup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/Selection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/util/ContextMenuController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/util/InlineEditController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMArchive.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNodes.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNormalizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMProperty.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyC.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyT.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMRefresher.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMSaver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/GlueCursor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/ResourceKeyCollector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientProperty.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientStateBackup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueAuxiliary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueCharacters.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueDocument.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueElement.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueInstruction.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueSerializer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueSnapshot.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/QualifiedName.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/XMLAttrComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/XMLBuffer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/AbstractSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ChoiceBoxSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ComboBoxSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ListViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/PieChartSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/SampleDataGenerator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/TableViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/TreeTableViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/TreeViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/XYChartSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/BuiltinGlossary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/ControllerClass.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/Glossary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/JavaTokenizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/BuiltinLibrary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/BuiltinSectionComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/Library.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/LibraryItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/LibraryItemNameComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Accordion.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/AmbientLight.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Arc.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/AreaChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/AreaChartNN.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/BarChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Box.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/BubbleChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Button.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Canvas.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CheckBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CheckMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ChoiceBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Circle.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ComboBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ContextMenu.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CubicCurve.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CustomMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Cylinder.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Ellipse.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/GridPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/HTMLEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Hyperlink.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Label.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Line.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/LineChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/LineChartNN.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MediaView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Menu.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MenuBar.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MenuButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/PointLight.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Polygon.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Polyline.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ProgressBar.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ProgressIndicator.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/QuadCurve.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/RadioButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/RadioMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Rectangle.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SVGPath.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScatterChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScatterChartNN.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScrollBarH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScrollBarV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScrollPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SeparatorH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SeparatorMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SeparatorV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SliderH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SliderV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Sphere.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SplitMenuButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SplitPaneH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SplitPaneV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/StackedAreaChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/StackedBarChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SwingNode.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Tab.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TabPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TableColumn.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TableView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Text.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TitledPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ToggleButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ToolBar.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Tooltip.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TreeTableColumn.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TreeTableView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/WebView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/LibraryFolderWatcher.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/util/JarExplorer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/util/JarReport.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/util/JarReportEntry.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/MetadataIntrospector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/ClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/ComponentClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/CustomComponentClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/ValueClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/ComponentPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/PropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/ValuePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ArrayPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BooleanPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BorderPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BoundsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/CallbackPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ColumnConstraintsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ComplexPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/CursorPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/DoubleArrayPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/DoublePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EffectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EnumerationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EventHandlerPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/FontPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ImagePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/InsetsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/IntegerPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ListCellPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/MaterialPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/MeshPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ObjectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/Point3DPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/Rectangle2DPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/RowConstraintsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/SingleValuePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/StringConverterPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/StringPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TableViewResizePolicyPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TextEncodablePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TransformPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TreeTableViewResizePolicyPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundFillPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundImagePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundPositionPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundSizePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/CornerRadiiPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCharacterCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCodeCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/BackgroundFillListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/BackgroundImageListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ColorListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ColumnConstraintsListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/DividerListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/DoubleListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ListValuePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ObjectListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/RowConstraintsListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/StopListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/StringListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/TickMarkListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/TransformListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/ColorPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/ImagePatternPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/LinearGradientPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/PaintPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/RadialGradientPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/StopPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/BeanPropertyIntrospector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ClipboardDecoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ClipboardEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ColorEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/DesignHierarchyMask.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/DesignHierarchyPath.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/InspectorPath.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/InspectorPathComparator.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PrefixedValue.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PropertyName.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/StaticPropertyIntrospector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ValuePropertyMetadataClassComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ValuePropertyMetadataNameComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/CssInternal.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/GridBounds.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/JavaLanguage.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/MathUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPicker.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPicker.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPicker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPickerController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/colorpicker/ColorPicker.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/colorpicker/ColorPicker.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/colorpicker/ColorPicker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPickerStop.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPickerStop.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPickerStop.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/rotator/RotatorControl.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/rotator/RotatorControl.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/rotator/RotatorControl.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/slider/SliderControl.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/slider/SliderControl.java Changeset: dd789066e61e Author: kcr Date: 2013-12-28 08:05 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/dd789066e61e Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.properties Changeset: 193626ad5b24 Author: kcr Date: 2014-01-02 10:58 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/193626ad5b24 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt - apps/experiments/3DViewer/.classpath - apps/experiments/3DViewer/.project - apps/experiments/Modena/.classpath - apps/experiments/Modena/.project ! apps/experiments/Modena/src/main/java/modena/SamplePageHelpers.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTableHelper.java - apps/samples/Ensemble8/.classpath - apps/samples/Ensemble8/.project ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css - modules/fxpackager/src/main/man/ja_JP.UTF-8/html/javafxpackager.html ! modules/web/src/test/java/javafx/scene/web/CallbackTest.java From steve.x.northover at oracle.com Thu Jan 2 12:23:16 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Thu, 02 Jan 2014 15:23:16 -0500 Subject: Android Port: Next Steps In-Reply-To: References: <52B4B65F.4020605@oracle.com> Message-ID: <52C5CAB4.1010406@oracle.com> Hi Johan, I looked and the kinds of changes that you are making in https://bitbucket.org/javafxports/android-graphics-rt and I can see that they fall into a number of different categories: 1) JDK8 Language Features - work arounds for ObservableList default methods - work arounds for the use of lambda (in test and example code) - work arounds for the lack of final declarations (in test and example code) I have entered https://javafx-jira.kenai.com/browse/RT-35165 to track the defender method problem. Eventually, OpenJFX will embrace lambda expressions and it is likely that iOS and Android will need to use RetroLambda. When we embrace lambda, there will be a JIRA that covers the work and you an watch progress there. In the meantime, you could look into RetroLambda now and see if it will help you. Since it works on byte codes, you won't be able to step in the debugger because the source won't match the executable. This might not be an issue for you. ASIDE: I've attempted to build the code under Android Studio and it runs out of method handles in dex during compile. Any ideas? In the case of final declarations, I think that there are so few of them right now that we can just fix them as then sneak in. You will need to keep track of them as they happen. Eventually, if you earn commit rights, you can just fix them. 2) JDK8 Library (modules/compat/src) - missing classes and annotations (such as FunctionalInterface) - missing API in JDK7 classes (I thought I had gotten rid of these) This code is not part of OpenJFX and should not be in the repo. Instead, you need to maintain and build the code somewhere else and make a jar available as part of your build. For example, when OpenJFX is built, it gets the SWT jar from Eclipse.org. You will need to do something similar when OpenJFX for Android or iOS is built. 3) Android Build Files and Tools (android-tools and more) - files like dalvik.gradle and shell scripts etc. Some of this is being tracked by https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that you enter JIRA for each part that you want moved over. For example, android-tools is not covered by this JIRA. 4) Android Specific Files (New and Changed files) - src/dalvik - android.h, LensApplication.c etc. You will need to enter JIRA for these. I'm not sure which changes are needed and which are not. FX embedded committers will need to go over the changes as Android and Lens share the same code. 5) "Unnecessary Changes" - these are mostly due to being out of sync with OpenJFX - some of these are related to FunctionalInterface which you should add to your JDK8 compat library As more of your code moves over to OpenJFX, the list of changes here will become zero. I suggest that you browse all the changes that you have and get rid of as many as you can while preparing patches for OpenJFX. Best of luck Johan! Our goal is to bootstrap you port as quickly as we can subject to the rules of the OpenJDK which we must follow. Please enter JIRA as necessary to track your work and we can interact there. Happy New Year! Steve On 2013-12-31 3:47 AM, Johan Vos wrote: > Steve, > > The main issue is currently getting bootstrapped. If we want to build > the Dalvik-runtime using open-jfx, we need a location on where to put > the dalvik files. This is what I tried to describe in > https://javafx-jira.kenai.com/browse/RT-35123 > > Please note that we're not really doing an Android port, but a Dalvik > port. The (excellent) work done by Oracle in the past allowed for both > using Dalvik as well as an Oracle-internal VM. There are no > indications that the latter is ever going to fly, so I don't want to > have an abstraction on top of {Dalvik, OracleVM} if only the first one > exists. I do hope there will be other VM's (Oracle VM and more) later, > as that will make it easier to have Java 8 and so on, but right now we > have to stick with what we have (dalvik). > > Without these files, we can supply patches for existing files in > open-jfx, but by no means we can build the runtime. I do understand it > is not trivial to "add" a directory for the sake of a port, but then, > a port is not trivial as well. I'm open to all suggestions. > The longer we wait, however, with synchronizing the bitbucket repo > with the open-jfx repo, the harder it gets. Right now, I have no other > option than committing all changes in the bitbucket repo, as I need to > be able to build a runtime. We had 419 downloads of the runtime in 10 > days, so clearly there are people interested in this. > > - Johan > > > 2013/12/20 Stephen F Northover > > > Hi Johan, > > This is very good news. We need to work together so that you are > able to run OpenJFX unmodified. This may not be practical for all > sorts of reasons, but we need to seriously explore this and work > towards this goal. Please open JIRA for the various problems you > are seeing and we can try to deal with them there and on this list. > > Thanks, > Steve > > > On 2013-12-20 12:56 PM, Johan Vos wrote: > > Hi, > > As you might know, 2 months ago I started a community effort > for "porting" > JavaFX to Android. Today, we released build 3 of the JavaFX > Android > runtime, which can be downloaded at > https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zip > with > instructions on how to build applications at > https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications > > Building the runtime itself is explained at > https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime > > At this moment, most of the Ensemble suite runs on Android > (positive > reports starting with Android 3.x). > > The downloadable runtime is created using the bitbucket project at > https://bitbucket.org/javafxports/android-graphics-rt which is > a fork of > the openjfx-graphics-rt mirror on bitbucket. We merge often, > so all changes > made in openjfx-graphics should be in the Android runtime as well. > > There are a number of issues left: > * touch map issues causing applications to crash if "touched > too much". I > created a JIRA ticket for this and will create another one > (related, but > not same cause) later. > * Java 7 only. Currently, applications cannot make use of Java > 8 features. > Dalvik has no invokedynamic, so we can't do lambda's. > * we just started, so there will be plenty of other bugs. > > We are also spending efforts in documentation and community > interaction. > The google group javafxandroid has a pretty active > mailinglist. Build 2 of > the runtime has been downloaded 291 times in 2 weeks, and > build 3 has been > downloaded 60 times since it was released a couple of hours > ago. So there > is definitely community interest and involvement. > Clearly, there is involvement from Oracle as well. Most of the > effort so > far has been done by Tomas Brandalik and the Prague team. I > was positively > surprised to see the amount of native code that was already > available for > Android. > > After a few discussions, it has been agreed that we should try to > synchronize as much as possible with the OpenJFX repositories, > without > jeopardizing the stability and performance of the main ports, > and without > running into legal trouble. > > I will run a diff on the current code versus the OpenJFX code, > and I will > try to create issues with patches for sending the changes back > to OpenJFX. > Not all changes can go back to OpenJFX. We had to add a number > of classes > that are missing on Dalvik and that are used by OpenJFX, and > clearly we > can't commit those in OpenJFX. > > We had to make a number of changes to JavaFX files as well, in > order to > make them compile with JDK 1.7. Most of these were about > removing Function > and adding implementations for the default interface methods on > ObservableList. > I have no clear opinion on how these changed files could > somehow be used > from within OpenJFX, but I'm very open to suggestions. > > Finally, keep in mind that this is a community effort. Nobody > is paying for > this, and it is done in our spare time. I'm doing my best to > move forward > as soon as I can, but I have other things to work on as well > of course. > However, the collaboration between the Java community and > Oracle (mainly > Tomas) has been great so far. It is in the interest of anyone > working on or > with Java to show the world that JavaFX runs on Android devices. > > - Johan > > > From fbrunnerlist at gmx.ch Thu Jan 2 13:51:23 2014 From: fbrunnerlist at gmx.ch (Florian Brunner) Date: Thu, 02 Jan 2014 22:51:23 +0100 Subject: Regression: JavaFX 8 doesn't call listeners in Skin implementations Message-ID: <2173202.R20RJOyR3f@shire> Hi, I'm in the process of upgrading Drombler FX to JavaFX 8 and hit another regression issue: JavaFX 8 doesn't call listeners in my Skin implementation (it used to work with JavaFX 2.x !) Here is the Skin implementation: https://sourceforge.net/p/drombler/drombler-fx/ci/default/tree/drombler-fx-core-docking/src/main/java/org/drombler/fx/core/docking/impl/skin/DockingSplitPaneSkin.java When I add something to control.getDockingSplitPaneChildren() what should trigger the listeners, then with a debugger I can trace the call up to the WeakListChangeListener where on line 87 the listener is null. Note that I'm not using a WeakListChangeListener explicitly - JavaFX 8 must have created this somewhere and for some reason the listener from the Skin got lost! I also tried to keep a reference to my listeners as a member variable in the Skin implementation, but this didn't work either. I haven't filed an issue yet because I guess there is already a new way how to solve this. Note that I would like to solve this first with this "basic" Skin implementation and not with the new SkinBase class just yet, as I'm not familiar with that new class yet. One refactoring step at a time. ;-) -Florian From fbrunnerlist at gmx.ch Thu Jan 2 14:10:24 2014 From: fbrunnerlist at gmx.ch (Florian Brunner) Date: Thu, 02 Jan 2014 23:10:24 +0100 Subject: Regression: JavaFX 8 doesn't call listeners in Skin implementations In-Reply-To: <2173202.R20RJOyR3f@shire> References: <2173202.R20RJOyR3f@shire> Message-ID: <1672471.EsyaBKZe3Y@shire> I also tried to add a listener directly to control.getDockingSplitPaneChildren() in case the issue is with Bindings.bindContent, but also this listener doesn't get called. member: private final ListChangeListener dockingSplitPaneChildrenListener = new ListChangeListener() { @Override public void onChanged(Change change) { System.out.println("Change!"); } }; ... in constructor: control.getDockingSplitPaneChildren().addListener(dockingSplitPaneChildrenListener); -Florian Am Donnerstag, 2. Januar 2014, 22.51:23 schrieb Florian Brunner: > Hi, > > I'm in the process of upgrading Drombler FX to JavaFX 8 and hit another regression issue: JavaFX 8 doesn't call listeners in my Skin implementation (it used to work with JavaFX 2.x !) > > Here is the Skin implementation: > > https://sourceforge.net/p/drombler/drombler-fx/ci/default/tree/drombler-fx-core-docking/src/main/java/org/drombler/fx/core/docking/impl/skin/DockingSplitPaneSkin.java > > When I add something to > > control.getDockingSplitPaneChildren() > > what should trigger the listeners, then with a debugger I can trace the call up to the WeakListChangeListener where on line 87 the listener is null. > > Note that I'm not using a WeakListChangeListener explicitly - JavaFX 8 must have created this somewhere and for some reason the listener from the Skin got lost! > > I also tried to keep a reference to my listeners as a member variable in the Skin implementation, but this didn't work either. > > I haven't filed an issue yet because I guess there is already a new way how to solve this. > > Note that I would like to solve this first with this "basic" Skin implementation and not with the new SkinBase class just yet, as I'm not familiar with that new class yet. One refactoring step at a time. ;-) > > -Florian > > From kevin.s at qualitycode.com Thu Jan 2 16:24:02 2014 From: kevin.s at qualitycode.com (Kevin Smith) Date: Thu, 02 Jan 2014 16:24:02 -0800 Subject: General schedule/roadmap/status Message-ID: <52C60322.4050801@qualitycode.com> Hi all, If my questions are answered by existing web pages or archived email threads, please point me to them. I looked, but could not find any. We are looking at committing to JavaFX for some major new UI work, and want to understand the likely availability of JavaFX for our OpenJDK users. My understanding is that JavaFX is/will be built into Java 8. That's true for OpenJDK 8 also, right? I am aware of Oracle's Java 8 build, and I found a Fedora OpenJDK 8 package. I don't see anything like that for Debian, and couldn't find any mention of any current or planned work on one. Does anyone know when a preview version of OpenJDK might be packaged for Debian? The scheduled release of Oracle Java 8 is in a few months. Will the OpenJDK release be simultaneous with that? Earlier? Based on past history, is there likely to be a long delay between the official Java 8 release, and when it is available in a public Debian (or Ubuntu) release? Do they tend to ship preview releases, or do they only release full public versions of OpenJDK? There were milestones in October and November related to ZBB and other quality levels? Have those been hit? How is Open JavaFX looking relative to the big release date? Has anyone packaged Open JavaFX for Java 7 (e.g. on Debian)? Thanks much, Kevin From hang.vo at oracle.com Thu Jan 2 23:47:29 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 07:47:29 +0000 Subject: hg: openjfx/8u-dev/rt: RT-34882 : NullPointerException when chaining DropShadow Effect to Reflection Effect Message-ID: <20140103074835.12E6662FED@hg.openjdk.java.net> Changeset: c73ad04890cf Author: Martin Sladecek Date: 2014-01-03 08:43 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c73ad04890cf RT-34882 : NullPointerException when chaining DropShadow Effect to Reflection Effect Reviewed by: flar ! modules/graphics/src/main/java/com/sun/scenario/effect/Effect.java ! modules/graphics/src/main/java/com/sun/scenario/effect/Reflection.java ! modules/graphics/src/main/java/com/sun/scenario/effect/impl/prism/PrFloodPeer.java ! modules/graphics/src/test/java/com/sun/javafx/sg/prism/GridDirtyRegionTest.java ! modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGTestBase.java ! modules/graphics/src/test/java/com/sun/scenario/effect/rt_5239/RT_5239Test.java From martin.sladecek at oracle.com Fri Jan 3 00:21:14 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Fri, 03 Jan 2014 09:21:14 +0100 Subject: Dead horse, Bindings spam when something is null In-Reply-To: <52AB781F.9010803@xs4all.nl> References: <52AB781F.9010803@xs4all.nl> Message-ID: <52C672FA.6020307@oracle.com> Hi John, the reason why the logging was introduced is that when selectBinding is evaluated and there's a null along the way, you don't know where the actual (null) value comes from. E.g. Bindings.selectString(insertedMedia, "title") might be null if insertedMedia.get() == null || insertedMedia.get().getTitle() == null. The logging helps to identify the cause of the null. But I understand that when the developer expects the null to be there, the NPE logs are not legitimate. The plan is to remove the logging for new select binding methods that will explicitly provide the default value when some of the steps are null: https://javafx-jira.kenai.com/browse/RT-26399. Regards, -Martin On 12/13/2013 10:11 PM, John Hendrikx wrote: > Run the following code. It has a simple ObjectProperty that -can- be > null when there is no Media inserted. I want to make a binding that > displays this information to the user, but will display "-no-media-" > if nothing is inserted. > > Is it really necessary to spam my logs with fake NPE's when > insertedMedia happens to be null ? This seems like a perfectly valid > use case, and one that has been working fine up until somewhere > halfway through the JavaFX 8 development cycle (and it still works > fine, but now it spams me). > > This is not the only spot I have this in my Application.... almost > everything in my Application is dynamically loaded -- user interfaces > are shown to the user before all data is present, which means I have > lots and lots and lots of bindings that will be null for a short while > as they get loaded. Typically this loading occurs on background > threads in order not to choke the Event thread, nor force the user to > look at some waiting screen while Images get decoded, HTTP requests > complete and Database calls get done. > > For the life of me I cannot figure out what could be "wrong" with an > ObjectProperty being null when evaluating a Binding. Either make it > catastrophically fail, so this use case is disallowed as it is > obviously somehow super (confusing|dangerous|morally wrong|politicaly > incorrect) or remove this logging which looks deceptively like a real > error, but is not. > > The only reasonable workaround I've found is to just replace the > Bindings class with my own which is a bit more frugal with its logging. > > I know about when/then/otherwise... it becomes unreadable at several > levels deep, not to mention being completely unnecessary. > > --John > > import javafx.application.Application; > import javafx.beans.binding.Bindings; > import javafx.beans.binding.StringBinding; > import javafx.beans.property.ObjectProperty; > import javafx.beans.property.SimpleObjectProperty; > import javafx.beans.property.SimpleStringProperty; > import javafx.beans.property.StringProperty; > import javafx.stage.Stage; > > public class BindingTest extends Application { > public static void main(String[] args) { > Application.launch(args); > } > > @Override > public void start(Stage primaryStage) { > ObjectProperty insertedMedia = new SimpleObjectProperty<>(); > > StringBinding x = new StringBinding() { > StringBinding selectString = > Bindings.selectString(insertedMedia, "title"); > > { > bind(selectString); > } > > @Override > protected String computeValue() { > return selectString.get() == null ? "-no-media-" : > selectString.get(); > } > }; > > System.out.println("x = " + x.get()); > > insertedMedia.set(new Media()); > System.out.println("x = " + x.get()); > > insertedMedia.get().titleProperty().set("B"); > System.out.println("x = " + x.get()); > > insertedMedia.get().titleProperty().set("B2"); > System.out.println("x = " + x.get() + " vs. " + > insertedMedia.get().titleProperty().get()); > } > > public static class Media { > private final StringProperty title = new SimpleStringProperty(); > > public StringProperty titleProperty() { > return title; > } > > public String getTitle() { > return title.get(); > } > > public void setTitle(String title) { > this.title.set(title); > } > } > } > From hang.vo at oracle.com Fri Jan 3 00:31:58 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 08:31:58 +0000 Subject: hg: openjfx/8u-dev/rt: 2 new changesets Message-ID: <20140103083233.4152562FF0@hg.openjdk.java.net> Changeset: 74d25a72690f Author: Martin Sladecek Date: 2014-01-03 09:28 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/74d25a72690f RT-35139 [Animation] Regression: Misbehavior of *Transition within ParallelTransition ! modules/graphics/src/main/java/javafx/animation/ParallelTransition.java ! modules/graphics/src/main/java/javafx/animation/SequentialTransition.java ! modules/graphics/src/test/java/javafx/animation/ParallelTransitionPlayTest.java Changeset: 3e0a4ea8e8f6 Author: Martin Sladecek Date: 2014-01-03 09:29 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/3e0a4ea8e8f6 [TEST] typo fix in test name ! modules/graphics/src/test/java/javafx/animation/ParallelTransitionPlayTest.java From tbee at tbee.org Fri Jan 3 01:10:26 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 10:10:26 +0100 Subject: scenebuilder and migpane Message-ID: <52C67E82.1080502@tbee.org> Would it be possible to offer MigPane as a Container in SceneBuilder? Tom From tbee at tbee.org Fri Jan 3 01:55:52 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 10:55:52 +0100 Subject: custom FXML builders in SceneBuilder Message-ID: <52C68928.2030508@tbee.org> I had no problems adding the JFXtras components to SceneBuilder, but one of the controls has a custom FXML builder. It is present in the same jar, but how do I tell SceneBuilder to use it? Now when I try to load an fxml file an exception ("unable to coerse") is shown by SceneBuilder. Tom From tobi at ultramixer.com Fri Jan 3 01:57:23 2014 From: tobi at ultramixer.com (Tobias Bley) Date: Fri, 3 Jan 2014 10:57:23 +0100 Subject: scenebuilder and migpane In-Reply-To: <52C67E82.1080502@tbee.org> References: <52C67E82.1080502@tbee.org> Message-ID: <9052869D-B160-4934-802C-0597C3C695B6@ultramixer.com> That would be great! We only using MigPane for all our layouts? Am 03.01.2014 um 10:10 schrieb Tom Eugelink : > > Would it be possible to offer MigPane as a Container in SceneBuilder? > > Tom > From tbee at tbee.org Fri Jan 3 02:01:08 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 11:01:08 +0100 Subject: properties of custom controls in SceneBuilder Message-ID: <52C68A64.5090009@tbee.org> Adding the controls in JFXtras to SceneBuilder worked without a problem, but scene builder does not show all their properties. For example CalendarTextField has 5 properties like Locale, Calendar, DateFormat, but only "promptText" is shown by SceneBuilder. From tbee at tbee.org Fri Jan 3 02:03:12 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 11:03:12 +0100 Subject: not all custom controls are usable in SceneBuilder Message-ID: <52C68AE0.8010604@tbee.org> Not all JFXtras custom components are draggable from the library's custom tab to the scene. For example Agenda and CalendarTextField can be dragged, but CalendarPicker or ListSpinner cannot. Is there any way to determine why this is the case? SceneBuilder only shows a "forbidden" icon as the mouse pointer. Tom From eric.le.ponner at oracle.com Fri Jan 3 02:04:56 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Fri, 3 Jan 2014 11:04:56 +0100 Subject: scenebuilder and migpane In-Reply-To: <52C67E82.1080502@tbee.org> References: <52C67E82.1080502@tbee.org> Message-ID: I guess it's worth trying to drop MigPane JAR file in SB2 library panel and see. However SB2 makes some assumptions about containers. So that might not work straight away. Eric Le 3 janv. 2014 ? 10:10, Tom Eugelink a ?crit : > > Would it be possible to offer MigPane as a Container in SceneBuilder? > > Tom > From tbee at tbee.org Fri Jan 3 02:08:20 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 11:08:20 +0100 Subject: scenebuilder and migpane In-Reply-To: References: <52C67E82.1080502@tbee.org> Message-ID: <52C68C14.8070508@tbee.org> Well, I figure the helper lines will be a problem anyhow. But I was planning on just trying it. Tom On 2014-1-3 11:04, Eric Le Ponner wrote: > I guess it's worth trying to drop MigPane JAR file in SB2 library panel and see. > However SB2 makes some assumptions about containers. > So that might not work straight away. > > Eric > > > Le 3 janv. 2014 ? 10:10, Tom Eugelink a ?crit : > >> Would it be possible to offer MigPane as a Container in SceneBuilder? >> >> Tom >> From eric.le.ponner at oracle.com Fri Jan 3 02:15:34 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Fri, 3 Jan 2014 11:15:34 +0100 Subject: properties of custom controls in SceneBuilder In-Reply-To: <52C68A64.5090009@tbee.org> References: <52C68A64.5090009@tbee.org> Message-ID: Yes, SB currently makes a filtering : for custom components, it displays: - properties that are inherited from JavaFX core classes - properties with basic java types (integer, double, string, boolean). We'll try to remove some of those limitations over the time. Eric Le 3 janv. 2014 ? 11:01, Tom Eugelink a ?crit : > > Adding the controls in JFXtras to SceneBuilder worked without a problem, but scene builder does not show all their properties. For example CalendarTextField has 5 properties like Locale, Calendar, DateFormat, but only "promptText" is shown by SceneBuilder. > > > > From yves.joan at oracle.com Fri Jan 3 02:18:39 2014 From: yves.joan at oracle.com (Yves JOAN) Date: Fri, 03 Jan 2014 11:18:39 +0100 Subject: not all custom controls are usable in SceneBuilder In-Reply-To: <52C68AE0.8010604@tbee.org> References: <52C68AE0.8010604@tbee.org> Message-ID: <52C68E7F.8000203@oracle.com> On 03/01/14 11:03, Tom Eugelink wrote: > > Not all JFXtras custom components are draggable from the library's > custom tab to the scene. For example Agenda and CalendarTextField can > be dragged, but CalendarPicker or ListSpinner cannot. Is there any way > to determine why this is the case? SceneBuilder only shows a > "forbidden" icon as the mouse pointer. > > Tom > > I've no trouble dragging all the one you list, CalendarPicker and ListSpinner included. I use a JFXtras jar stamped Nov. 24th and the latest promoted SceneBuilder 2 (b09). Note that in the coming b10 there's a way to read the jar analysis report, useful if you do not see coming up in the Library the expected custom item. Yves From eric.le.ponner at oracle.com Fri Jan 3 02:44:22 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Fri, 3 Jan 2014 11:44:22 +0100 Subject: custom FXML builders in SceneBuilder In-Reply-To: <52C68928.2030508@tbee.org> References: <52C68928.2030508@tbee.org> Message-ID: <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> When Scene Builder 2.0 found a custom components, it instantiates it using FXMLLoader without making any specific builder setup. So FXMLLoader uses the default JavaFX builder factory. Since builders are deprecated, I'm not sure it make sense for SB to have dependency on them. Eric Le 3 janv. 2014 ? 10:55, Tom Eugelink a ?crit : > > I had no problems adding the JFXtras components to SceneBuilder, but one of the controls has a custom FXML builder. It is present in the same jar, but how do I tell SceneBuilder to use it? Now when I try to load an fxml file an exception ("unable to coerse") is shown by SceneBuilder. > > Tom > > From tbee at tbee.org Fri Jan 3 03:12:20 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 12:12:20 +0100 Subject: custom FXML builders in SceneBuilder In-Reply-To: <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> References: <52C68928.2030508@tbee.org> <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> Message-ID: <52C69B14.2030607@tbee.org> I think there are two usages of builders: - construct compontents / controls programatically (ending in the build() call). - mapping of FXML attributes to node properties, because in FXML everything must be a string. For example, CalendarTextField has no builder class in the first sense (I used withers for that), but does have a class that converts the dateFormats (list of SimpleDateFormat strings) in an fxml file to an actual list of DateFormats instances. https://github.com/JFXtras/jfxtras-labs/blob/8.0/src/main/java/jfxtras/labs/fxml/CalendarTextFieldBuilder.java If you can explain to me how to do this without a builder, but also without polluting CalendarTextField with FXML aspects, then I'll change the code. Tom On 2014-1-3 11:44, Eric Le Ponner wrote: > When Scene Builder 2.0 found a custom components, it instantiates it using FXMLLoader > without making any specific builder setup. So FXMLLoader uses the default JavaFX > builder factory. > > Since builders are deprecated, I'm not sure it make sense for SB to have dependency on them. > > Eric > > > Le 3 janv. 2014 ? 10:55, Tom Eugelink a ?crit : > >> I had no problems adding the JFXtras components to SceneBuilder, but one of the controls has a custom FXML builder. It is present in the same jar, but how do I tell SceneBuilder to use it? Now when I try to load an fxml file an exception ("unable to coerse") is shown by SceneBuilder. >> >> Tom >> >> From tbee at tbee.org Fri Jan 3 03:14:19 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 12:14:19 +0100 Subject: not all custom controls are usable in SceneBuilder In-Reply-To: <52C68E7F.8000203@oracle.com> References: <52C68AE0.8010604@tbee.org> <52C68E7F.8000203@oracle.com> Message-ID: <52C69B8B.5020009@tbee.org> On 2014-1-3 11:18, Yves JOAN wrote: > On 03/01/14 11:03, Tom Eugelink wrote: >> >> Not all JFXtras custom components are draggable from the library's custom tab to the scene. For example Agenda and CalendarTextField can be dragged, but CalendarPicker or ListSpinner cannot. Is there any way to determine why this is the case? SceneBuilder only shows a "forbidden" icon as the mouse pointer. >> >> > I've no trouble dragging all the one you list, CalendarPicker and ListSpinner included. I use a JFXtras jar stamped Nov. 24th and the latest promoted SceneBuilder 2 (b09). > > Note that in the coming b10 there's a way to read the jar analysis report, useful if you do not see coming up in the Library the expected custom item. Ok. I'll try newer versions of SceneBuilder. I'm using JFXtras 8.0-r1-SNAPSHOT. Problem remains that all the feedback I get is the "forbidden" mouse pointer, so I cannot diagnose the reason. Tom From eric.le.ponner at oracle.com Fri Jan 3 03:19:58 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Fri, 3 Jan 2014 12:19:58 +0100 Subject: custom FXML builders in SceneBuilder In-Reply-To: <52C69B14.2030607@tbee.org> References: <52C68928.2030508@tbee.org> <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> <52C69B14.2030607@tbee.org> Message-ID: <171C0311-C6D1-4397-ADC4-EF39DDE9B8B8@oracle.com> I will look at that and come back to you middle of next week. Eric Le 3 janv. 2014 ? 12:12, Tom Eugelink a ?crit : > > I think there are two usages of builders: > - construct compontents / controls programatically (ending in the build() call). > - mapping of FXML attributes to node properties, because in FXML everything must be a string. > > For example, CalendarTextField has no builder class in the first sense (I used withers for that), but does have a class that converts the dateFormats (list of SimpleDateFormat strings) in an fxml file to an actual list of DateFormats instances. > > https://github.com/JFXtras/jfxtras-labs/blob/8.0/src/main/java/jfxtras/labs/fxml/CalendarTextFieldBuilder.java > > If you can explain to me how to do this without a builder, but also without polluting CalendarTextField with FXML aspects, then I'll change the code. > > Tom > > > > On 2014-1-3 11:44, Eric Le Ponner wrote: >> When Scene Builder 2.0 found a custom components, it instantiates it using FXMLLoader >> without making any specific builder setup. So FXMLLoader uses the default JavaFX >> builder factory. >> >> Since builders are deprecated, I'm not sure it make sense for SB to have dependency on them. >> >> Eric >> >> >> Le 3 janv. 2014 ? 10:55, Tom Eugelink a ?crit : >> >>> I had no problems adding the JFXtras components to SceneBuilder, but one of the controls has a custom FXML builder. It is present in the same jar, but how do I tell SceneBuilder to use it? Now when I try to load an fxml file an exception ("unable to coerse") is shown by SceneBuilder. >>> >>> Tom >>> >>> > > From tom.schindl at bestsolution.at Fri Jan 3 05:28:40 2014 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Fri, 03 Jan 2014 14:28:40 +0100 Subject: custom FXML builders in SceneBuilder In-Reply-To: <52C69B14.2030607@tbee.org> References: <52C68928.2030508@tbee.org> <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> <52C69B14.2030607@tbee.org> Message-ID: <52C6BB08.10506@bestsolution.at> IIRC we agreed while talking about the annotation replacement for builders that we'll later add a possibility to set a converter on properties through annotations - back then we only talked about constructors but this could be expanded to any property. Tom On 03.01.14 12:12, Tom Eugelink wrote: > > I think there are two usages of builders: > - construct compontents / controls programatically (ending in the > build() call). > - mapping of FXML attributes to node properties, because in FXML > everything must be a string. > > For example, CalendarTextField has no builder class in the first sense > (I used withers for that), but does have a class that converts the > dateFormats (list of SimpleDateFormat strings) in an fxml file to an > actual list of DateFormats instances. > > https://github.com/JFXtras/jfxtras-labs/blob/8.0/src/main/java/jfxtras/labs/fxml/CalendarTextFieldBuilder.java > > > If you can explain to me how to do this without a builder, but also > without polluting CalendarTextField with FXML aspects, then I'll change > the code. > > Tom > > > > On 2014-1-3 11:44, Eric Le Ponner wrote: >> When Scene Builder 2.0 found a custom components, it instantiates it >> using FXMLLoader >> without making any specific builder setup. So FXMLLoader uses the >> default JavaFX >> builder factory. >> >> Since builders are deprecated, I'm not sure it make sense for SB to >> have dependency on them. >> >> Eric >> >> >> Le 3 janv. 2014 ? 10:55, Tom Eugelink a ?crit : >> >>> I had no problems adding the JFXtras components to SceneBuilder, but >>> one of the controls has a custom FXML builder. It is present in the >>> same jar, but how do I tell SceneBuilder to use it? Now when I try to >>> load an fxml file an exception ("unable to coerse") is shown by >>> SceneBuilder. >>> >>> Tom >>> >>> > > From hang.vo at oracle.com Fri Jan 3 05:47:34 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 13:47:34 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35168: Remove debug print statements from launchertest.MainLauncherTest Message-ID: <20140103134831.44A2B62FF1@hg.openjdk.java.net> Changeset: c7e94937d287 Author: kcr Date: 2014-01-03 05:22 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c7e94937d287 RT-35168: Remove debug print statements from launchertest.MainLauncherTest ! tests/system/src/test/java/launchertest/TestAppNoMainThreadCheck.java ! tests/system/src/test/java/launchertest/TestAppThreadCheck.java ! tests/system/src/test/java/launchertest/TestNotApplicationThreadCheck.java ! tests/system/src/test/java/launchertest/TestPreloader.java From kevin.rushforth at oracle.com Fri Jan 3 05:58:29 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 03 Jan 2014 05:58:29 -0800 Subject: Please update copyright year to 2014 in any file you create / modify In-Reply-To: <52C5A43C.3060605@oracle.com> References: <52C5A43C.3060605@oracle.com> Message-ID: <52C6C205.1090303@oracle.com> I'll be the first to admit that I just failed at this. A few minutes ago, I pushed the following changeset and forgot to update the copyright year: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c7e94937d287 I see a couple other changesets pushed over the past two days that similarly didn't include the updating of the copyright. I will "bulk fix" the few that have come in so far, and set a better example by trying to remember to do this going forward. Thank you in advance to others who remember this. -- Kevin Kevin Rushforth wrote: > Happy New Year OpenJFX folks! > > Since it is now 2014, when you modify any source code file, please > update the last copyright year in the Oracle copyright header to > reflect this. Here are the three cases to consider. > > 1) A new file created this year > > You would use this: > * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. > > > 2) A file created and last touched in 2013 > > For example, the following: > * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. > > would now be: > * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights > reserved. > > > 3) A file created and last touched in two different prior years > > For example, the following: > * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights > reserved. > > would now be: > * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights > reserved. > > > Thank you. > > -- Kevin > From hang.vo at oracle.com Fri Jan 3 07:07:23 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 15:07:23 +0000 Subject: hg: openjfx/8/master/rt: 7 new changesets Message-ID: <20140103151004.CC40562FF5@hg.openjdk.java.net> Changeset: bee85bc7f009 Author: mv157916 Date: 2013-12-20 14:19 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/bee85bc7f009 RT-35083: Update the JDK 8 build number to b121 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties Changeset: 98b52a79d333 Author: kcr Date: 2013-12-20 15:48 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/98b52a79d333 RT-33943: Update copyright year in docs, readme files to 2014 Reviewed-by: Mong Hang Vo ! build.properties ! modules/fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: ffae6092f803 Author: Yves Joan Date: 2013-12-23 13:59 +0100 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/ffae6092f803 Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java + apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.css + apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.fxml + apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReportController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonBuffer.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/PasteJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/WorkspaceController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneMosaic.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/AbstractOutline.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/NodeOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectAndMoveGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssContentMaker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/AbstractHierarchyPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/BoundsPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/util/ContextMenuController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMRefresher.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientStateBackup.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ChoiceBoxSampleData.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ComboBoxSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/SampleDataGenerator.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/XYChartSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ChoiceBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ComboBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/LibraryFolderWatcher.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCharacterCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCodeCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ClipboardDecoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/DesignHierarchyMask.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java Changeset: 94331ac42150 Author: kcr Date: 2013-12-23 13:46 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/94331ac42150 RT-25869: Update copyright year in header of modified source code files to 2013 Reviewed-by: Mong Hang Vo ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/AutoLogoutLightBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/ConferenceScheduleApp.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/Page.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/PageContainer.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/PlatformIntegration.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/Theme.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/TouchClickedEventAvoider.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/TouchScrollEventSynthesizer.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/CheckBoxItem.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/EventPopoverPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/LoginProgressBarSkin.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/NoopScrollBarSkin.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/Popover.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/PopoverBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/PopoverBoxItem.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/PopoverTreeList.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/ResizableWrappingText.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/ScrollPaneSkin3.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/SearchBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/SimpleVBox.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/TestPopover.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/TestVirtualKeyboard.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/TreeBoxItem.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/VirtualKeyboard.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/control/VirtualKeyboardSkin.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/DataService.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/JSONParserJP.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/SessionManagement.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/TwitterJson.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/DevoxxDataService.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/GetConferenceDataTask.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/LoginTask.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/TestDataService.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/data/devoxx/UpdateScheduleTask.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Availability.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Event.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/FilterType.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Level.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Room.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Session.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/SessionTime.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/SessionType.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Speaker.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Track.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Tweet.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/model/Venue.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/CatalogPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/FilterSessionsByTrackPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/FilterSessionsByTypePage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/LoginScreen.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SearchFilterPopoverPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SessionFilterCriteria.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SessionListPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SocialPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/SpeakersPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/TimelinePage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/TracksPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/VenueRoomPage.java ! apps/experiments/ConferenceScheduleApp/src/main/java/com/javafx/experiments/scheduleapp/pages/VenuesPage.java ! apps/experiments/Modena/src/main/java/modena/SameHeightTestController.java ! apps/experiments/Modena/src/main/java/modena/SamplePage.java ! apps/experiments/Modena/src/main/java/modena/SamplePageChartHelper.java ! apps/experiments/Modena/src/main/java/modena/SamplePageHelpers.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTableHelper.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTreeHelper.java ! apps/experiments/Modena/src/main/java/modena/SamplePageTreeTableHelper.java ! apps/experiments/Modena/src/main/java/modena/SimpleWindowPage.java ! apps/experiments/Modena/src/main/resources/modena/TestApp.css ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Ball.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BallsPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BallsScreen.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BouncingBallsApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Constants.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Ball.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Bat.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Bonus.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Brick.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/BrickBreakerApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Config.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/LevelData.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Splash.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Utils.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Calculator.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/CalculatorApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Key.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Util.java ! buildSrc/genVSproperties.bat ! modules/base/src/main/java/javafx/collections/transformation/TransformationList.java ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/embedded-qvga.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/embedded.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/highcontrast.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/two-level-focus.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-embedded-performance.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/touch.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/two-level-focus.css ! modules/controls/src/test/java/javafx/scene/control/ColorPickerTest.java ! modules/designTime/src/main/java/com/sun/javafx/beans/design/package.html ! modules/designTime/src/main/java/com/sun/javafx/beans/metadata/package.html ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/border_pane.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/flow_pane.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/grid_pane.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/project-with-all-p2-components.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/stageview-drop-test.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-gear-flowers.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-tiger.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-tux.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-complex-unhappy-sheep.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/svg-svgspec-paints-radialGradient.fxml ! modules/fxml/src/test/resources/com/oracle/javafx/fxml/test/tile_pane.fxml ! modules/fxml/src/test/resources/javafx/fxml/bad_include.fxml ! modules/fxml/src/test/resources/javafx/fxml/builders_trianglemesh.fxml ! modules/fxml/src/test/resources/javafx/fxml/cycle.fxml ! modules/fxml/src/test/resources/javafx/fxml/dummy-cycle.fxml ! modules/fxml/src/test/resources/javafx/fxml/events_test.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf1.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf2.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf3.fxml ! modules/fxml/src/test/resources/javafx/fxml/leaf4.fxml ! modules/fxml/src/test/resources/javafx/fxml/list_map_set_events_test.fxml ! modules/fxml/src/test/resources/javafx/fxml/one-2-one-cycle.fxml ! modules/fxml/src/test/resources/javafx/fxml/property_events_test.fxml ! modules/fxml/src/test/resources/javafx/fxml/property_events_test_value.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_14880.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_15524.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_16724.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_16815.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_16977.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_17646.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_18218.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_18680.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_18933.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19112.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19139.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19228.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19329.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_19870.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_20082.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_20082_include.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_20471.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_22864.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_22971.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_23447.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_23519.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_24380.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_24465.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_26449.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_1.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_2.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_3.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_27529_4.fxml ! modules/fxml/src/test/resources/javafx/fxml/rt_34146.fxml ! modules/fxml/src/test/resources/javafx/fxml/script_handler.fxml ! modules/fxml/src/test/resources/javafx/fxml/script_handler_external.fxml ! modules/fxml/src/test/resources/javafx/fxml/static_script_load.fxml ! modules/graphics/src/main/java/com/sun/javafx/css/CalculatedValue.java ! modules/graphics/src/main/java/com/sun/javafx/css/PseudoClassState.java ! modules/graphics/src/main/java/com/sun/javafx/css/StyleCache.java ! modules/graphics/src/main/java/com/sun/javafx/css/StyleCacheEntry.java ! modules/graphics/src/main/java/com/sun/javafx/css/StyleMap.java ! modules/graphics/src/main/java/com/sun/javafx/css/parser/TestRig.java.DISABLED ! modules/graphics/src/main/java/com/sun/prism/sw/SWArgbPreTexture.java ! modules/graphics/src/test/resources/com/sun/javafx/css/converters/some.txt ! modules/graphics/src/test/resources/javafx/scene/layout/RegionCSSTest.css ! modules/media/src/main/native/gstreamer/gstreamer-lite/projects/plugins/gstplugins-lite.c ! modules/media/src/main/native/gstreamer/gstreamer-lite/projects/plugins/gstplugins-lite.h ! modules/web/src/android/java/netscape/javascript/JSException.java ! modules/web/src/android/java/netscape/javascript/JSObject.java ! modules/web/src/ios/native/WebViewImpl.h ! modules/web/src/main/java/com/sun/javafx/scene/web/Debugger.java ! modules/web/src/main/java/com/sun/javafx/sg/prism/NGWebView.java ! modules/web/src/main/java/com/sun/javafx/webkit/Accessor.java ! modules/web/src/main/java/com/sun/javafx/webkit/CursorManagerImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/EventLoopImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/InputMethodClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/KeyCodeMap.java ! modules/web/src/main/java/com/sun/javafx/webkit/PasteboardImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/ThemeClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/UIClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/UtilitiesImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/WebPageClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/drt/DumpRenderTree.java ! modules/web/src/main/java/com/sun/javafx/webkit/drt/EventSender.java ! modules/web/src/main/java/com/sun/javafx/webkit/drt/UIClientImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismGraphicsManager.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismImage.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismInvoker.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/RTImage.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/TextUtilities.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCBufferedContext.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCFontCustomPlatformDataImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCFontImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCImageDecoderImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCImageImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCLinearGradient.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCMediaPlayerImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCPageBackBufferImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCPathImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCRadialGradient.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/WCStrokeImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/prism/theme/PrismRenderer.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/ContextMenuImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/PopupMenuImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/RenderThemeImpl.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/Renderer.java ! modules/web/src/main/java/com/sun/javafx/webkit/theme/ScrollBarThemeImpl.java ! modules/web/src/main/java/com/sun/webkit/BackForwardList.java ! modules/web/src/main/java/com/sun/webkit/ContextMenu.java ! modules/web/src/main/java/com/sun/webkit/ContextMenuItem.java ! modules/web/src/main/java/com/sun/webkit/CursorManager.java ! modules/web/src/main/java/com/sun/webkit/Disposer.java ! modules/web/src/main/java/com/sun/webkit/DisposerRecord.java ! modules/web/src/main/java/com/sun/webkit/EventLoop.java ! modules/web/src/main/java/com/sun/webkit/FileSystem.java ! modules/web/src/main/java/com/sun/webkit/InputMethodClient.java ! modules/web/src/main/java/com/sun/webkit/InspectorClient.java ! modules/web/src/main/java/com/sun/webkit/Invoker.java ! modules/web/src/main/java/com/sun/webkit/LoadListenerClient.java ! modules/web/src/main/java/com/sun/webkit/LocalizedStrings.java ! modules/web/src/main/java/com/sun/webkit/MainThread.java ! modules/web/src/main/java/com/sun/webkit/PageCache.java ! modules/web/src/main/java/com/sun/webkit/Pasteboard.java ! modules/web/src/main/java/com/sun/webkit/PolicyClient.java ! modules/web/src/main/java/com/sun/webkit/PopupMenu.java ! modules/web/src/main/java/com/sun/webkit/SharedBuffer.java ! modules/web/src/main/java/com/sun/webkit/SimpleSharedBufferInputStream.java ! modules/web/src/main/java/com/sun/webkit/ThemeClient.java ! modules/web/src/main/java/com/sun/webkit/Timer.java ! modules/web/src/main/java/com/sun/webkit/UIClient.java ! modules/web/src/main/java/com/sun/webkit/Utilities.java ! modules/web/src/main/java/com/sun/webkit/WCFrameView.java ! modules/web/src/main/java/com/sun/webkit/WCPasteboard.java ! modules/web/src/main/java/com/sun/webkit/WCPluginWidget.java ! modules/web/src/main/java/com/sun/webkit/WCWidget.java ! modules/web/src/main/java/com/sun/webkit/WebPage.java ! modules/web/src/main/java/com/sun/webkit/WebPageClient.java ! modules/web/src/main/java/com/sun/webkit/dom/EventListenerImpl.java ! modules/web/src/main/java/com/sun/webkit/event/WCChangeEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCChangeListener.java ! modules/web/src/main/java/com/sun/webkit/event/WCFocusEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCInputMethodEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCKeyEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCMouseEvent.java ! modules/web/src/main/java/com/sun/webkit/event/WCMouseWheelEvent.java ! modules/web/src/main/java/com/sun/webkit/graphics/GraphicsDecoder.java ! modules/web/src/main/java/com/sun/webkit/graphics/Ref.java ! modules/web/src/main/java/com/sun/webkit/graphics/RenderMediaControls.java ! modules/web/src/main/java/com/sun/webkit/graphics/RenderTheme.java ! modules/web/src/main/java/com/sun/webkit/graphics/ScrollBarTheme.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCFont.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCFontCustomPlatformData.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCGradient.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCGraphicsContext.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCGraphicsManager.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCIcon.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCImage.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCImageDecoder.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCImageFrame.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCMediaPlayer.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPageBackBuffer.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPath.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPathIterator.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCPoint.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCRectangle.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCRenderQueue.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCSize.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCStroke.java ! modules/web/src/main/java/com/sun/webkit/graphics/WCTransform.java ! modules/web/src/main/java/com/sun/webkit/network/ByteBufferPool.java ! modules/web/src/main/java/com/sun/webkit/network/Cookie.java ! modules/web/src/main/java/com/sun/webkit/network/CookieJar.java ! modules/web/src/main/java/com/sun/webkit/network/CookieManager.java ! modules/web/src/main/java/com/sun/webkit/network/CookieStore.java ! modules/web/src/main/java/com/sun/webkit/network/DateParser.java ! modules/web/src/main/java/com/sun/webkit/network/DirectoryURLConnection.java ! modules/web/src/main/java/com/sun/webkit/network/ExtendedTime.java ! modules/web/src/main/java/com/sun/webkit/network/FormDataElement.java ! modules/web/src/main/java/com/sun/webkit/network/NetworkContext.java ! modules/web/src/main/java/com/sun/webkit/network/PublicSuffixes.java ! modules/web/src/main/java/com/sun/webkit/network/SocketStreamHandle.java ! modules/web/src/main/java/com/sun/webkit/network/URLLoader.java ! modules/web/src/main/java/com/sun/webkit/network/URLs.java ! modules/web/src/main/java/com/sun/webkit/network/Util.java ! modules/web/src/main/java/com/sun/webkit/network/about/AboutURLConnection.java ! modules/web/src/main/java/com/sun/webkit/network/about/Handler.java ! modules/web/src/main/java/com/sun/webkit/network/data/DataURLConnection.java ! modules/web/src/main/java/com/sun/webkit/network/data/Handler.java ! modules/web/src/main/java/com/sun/webkit/perf/PerfLogger.java ! modules/web/src/main/java/com/sun/webkit/perf/WCFontPerfLogger.java ! modules/web/src/main/java/com/sun/webkit/perf/WCGraphicsPerfLogger.java ! modules/web/src/main/java/com/sun/webkit/plugin/DefaultPlugin.java ! modules/web/src/main/java/com/sun/webkit/plugin/Plugin.java ! modules/web/src/main/java/com/sun/webkit/plugin/PluginHandler.java ! modules/web/src/main/java/com/sun/webkit/plugin/PluginListener.java ! modules/web/src/main/java/com/sun/webkit/plugin/PluginManager.java ! modules/web/src/main/java/com/sun/webkit/text/StringCase.java ! modules/web/src/main/java/com/sun/webkit/text/TextBreakIterator.java ! modules/web/src/main/java/com/sun/webkit/text/TextCodec.java ! modules/web/src/main/java/com/sun/webkit/text/TextNormalizer.java ! modules/web/src/main/java/javafx/scene/web/PopupFeatures.java ! modules/web/src/main/java/javafx/scene/web/PromptData.java ! modules/web/src/main/java/javafx/scene/web/WebEngine.java ! modules/web/src/main/java/javafx/scene/web/WebEvent.java ! modules/web/src/main/java/javafx/scene/web/WebHistory.java ! modules/web/src/main/java/javafx/scene/web/WebView.java ! modules/web/src/main/native/Source/WTF/wtf/java/JavaRef.h ! modules/web/src/main/native/Source/WTF/wtf/java/MainThreadJava.cpp ! modules/web/src/main/native/Source/WTF/wtf/java/MainThreadJava.h ! modules/web/src/main/native/Source/WTF/wtf/java/StringJava.cpp ! modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.cpp ! modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h ! modules/web/src/main/native/Source/WTF/wtf/unicode/java/mirrorPairs.h ! modules/web/src/main/native/Source/WebCore/bindings/java/DOMException.h ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaDOMUtils.cpp ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaDOMUtils.h ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaEventListener.cpp ! modules/web/src/main/native/Source/WebCore/bindings/java/JavaEventListener.h ! modules/web/src/main/native/Source/WebCore/page/java/ChromeClientJava.cpp ! modules/web/src/main/native/Source/WebCore/page/java/ChromeClientJava.h ! modules/web/src/main/native/Source/WebCore/page/java/DragControllerJava.cpp ! modules/web/src/main/native/Source/WebCore/page/java/EventHandlerJava.cpp ! modules/web/src/main/native/Source/WebCore/page/java/FrameJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BitmapImageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageSkiaJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/BufferImageSkiaJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ChromiumBridge.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ChromiumBridge.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontCacheJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontCustomPlatformData.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontCustomPlatformData.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontPlatformData.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontPlatformDataJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/GlyphPageTreeNodeJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/GraphicsContextJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/GraphicsContextJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/IconJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageBufferDataJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageBufferJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/ImageSourceJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/MediaPlayerPrivateJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/MediaPlayerPrivateJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/PathJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/PlatformContextJava.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RQRef.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RQRef.h ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RenderingQueue.cpp ! modules/web/src/main/native/Source/WebCore/platform/graphics/java/RenderingQueue.h ! modules/web/src/main/native/Source/WebCore/platform/java/BridgeUtils.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/BridgeUtils.h ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardUtilitiesJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ClipboardUtilitiesJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuItemJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ContextMenuJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/CursorJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/DataObjectJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/DragClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/DragClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/DragDataJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/EditorClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/EditorClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/EventLoopJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FileChooserJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FileSystemJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FrameLoaderClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/FrameLoaderClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/FrameNetworkingContextJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/IDNJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/IDNJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/InspectorClientJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/InspectorClientJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/JavaEnv.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/JavaEnv.h ! modules/web/src/main/native/Source/WebCore/platform/java/KeyboardEventJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/LanguageJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/LocalizedStringsJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/LoggingJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/MIMETypeRegistryJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/MouseEventJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PasteboardJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PlatformScreenJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PlatformStrategiesJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PlatformStrategiesJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/PluginDataJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginInfoStoreJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginViewJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginWidgetJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PluginWidgetJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/PopupMenuJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/PopupMenuJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/RenderThemeJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/RenderThemeJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/ScrollbarThemeJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/ScrollbarThemeJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/SearchPopupMenuJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/SharedBufferJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/SharedTimerJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/SoundJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/StringJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/StringJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/TemporaryLinkStubs.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextBreakIteratorInternalICUJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextBreakIteratorJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextCodecJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextCodecJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/TextNormalizerJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/TextNormalizerJava.h ! modules/web/src/main/native/Source/WebCore/platform/java/WebPage.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/WebPage.h ! modules/web/src/main/native/Source/WebCore/platform/java/WheelEventJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/WidgetJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/api/BackForwardListJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/java/api/PageCacheJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/CookieJarJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceError.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceHandleJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceRequestJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/ResourceResponse.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/SocketStreamError.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/SocketStreamHandle.h ! modules/web/src/main/native/Source/WebCore/platform/network/java/SocketStreamHandleJava.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/URLLoader.cpp ! modules/web/src/main/native/Source/WebCore/platform/network/java/URLLoader.h ! modules/web/src/main/native/Source/WebCore/plugins/java/PluginDataJava.cpp ! modules/web/src/main/native/Source/WebCore/plugins/java/PluginDataJava.h ! modules/web/src/main/native/Tools/DumpRenderTree/java/DumpRenderTree.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/EventSender.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/EventSender.h ! modules/web/src/main/native/Tools/DumpRenderTree/java/GCControllerJava.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/JavaEnv.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/JavaEnv.h ! modules/web/src/main/native/Tools/DumpRenderTree/java/TestRunnerJava.cpp ! modules/web/src/main/native/Tools/DumpRenderTree/java/WorkQueueItemJava.cpp ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_de.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_es.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_fr.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_it.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ja.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ko.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_pt_BR.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_sv.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_CN.properties ! modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_TW.properties ! modules/web/src/test/java/com/sun/webkit/SharedBufferTest.java ! modules/web/src/test/java/com/sun/webkit/SimpleSharedBufferInputStreamTest.java ! modules/web/src/test/java/com/sun/webkit/network/CookieManagerTest.java ! modules/web/src/test/java/com/sun/webkit/network/CookieTest.java ! modules/web/src/test/java/com/sun/webkit/network/DateParserTest.java ! modules/web/src/test/java/com/sun/webkit/network/PublicSuffixesTest.java ! modules/web/src/test/java/com/sun/webkit/network/UtilTest.java ! modules/web/src/test/java/com/sun/webkit/network/data/DataURLConnectionTest.java ! modules/web/src/test/java/com/sun/webkit/text/TextBreakIteratorTest.java ! modules/web/src/test/java/javafx/scene/web/BindingTest.java ! modules/web/src/test/java/javafx/scene/web/CSSTest.java ! modules/web/src/test/java/javafx/scene/web/CallbackTest.java ! modules/web/src/test/java/javafx/scene/web/CheckFxThreadTest.java ! modules/web/src/test/java/javafx/scene/web/DOMTest.java ! modules/web/src/test/java/javafx/scene/web/DebuggerTest.java ! modules/web/src/test/java/javafx/scene/web/HistoryTest.java ! modules/web/src/test/java/javafx/scene/web/IrresponsiveScriptTest.java ! modules/web/src/test/java/javafx/scene/web/JavaScriptBridgeTest.java ! modules/web/src/test/java/javafx/scene/web/LeakTest.java ! modules/web/src/test/java/javafx/scene/web/LoadNotificationsTest.java ! modules/web/src/test/java/javafx/scene/web/LoadTest.java ! modules/web/src/test/java/javafx/scene/web/MiscellaneousTest.java ! modules/web/src/test/java/javafx/scene/web/ScreenAndWindowTest.java ! modules/web/src/test/java/javafx/scene/web/TestBase.java ! modules/web/src/test/java/javafx/scene/web/WebPageTest.java ! modules/web/src/test/java/javafx/scene/web/WebViewResizabilityTest.java ! modules/web/src/test/java/javafx/scene/web/WebViewTest.java ! tests/golden-image-suite/src/modena/SameHeightTestController.java ! tests/golden-image-suite/src/modena/SamplePage.java ! tests/golden-image-suite/src/modena/SamplePageChartHelper.java ! tests/golden-image-suite/src/modena/SamplePageHelpers.java ! tests/golden-image-suite/src/modena/SamplePageTableHelper.java ! tests/golden-image-suite/src/modena/SamplePageTreeHelper.java ! tests/golden-image-suite/src/modena/SamplePageTreeTableHelper.java ! tests/golden-image-suite/src/modena/SimpleWindowPage.java ! tests/golden-image-suite/src/modena/TestApp.css ! tests/system/src/test/java/javafx/scene/layout/RegionBackgroundFillUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionBackgroundImageUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionBorderImageUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionBorderStrokeUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionShapeUITest.java ! tests/system/src/test/java/javafx/scene/layout/RegionUITestBase.java ! tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/Base64.java Changeset: b5ed4e9e9ce9 Author: Yves Joan Date: 2013-12-27 14:58 +0100 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/b5ed4e9e9ce9 Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/CssPanelDelegate.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/CssPanelMenuController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ResourceController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneStyleSheetMenuController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SplitController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/about/About.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/about/AboutWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/about/about-footer.png ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/I18N.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp_ja.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp_zh_CN.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/IndexEntry.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanel.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanel.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanelController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/LeftCell.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/RightCell.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/DebugMenuController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBar.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessageBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePanel.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePanel.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePanelController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/message/MessagePopupController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/Preferences.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/Preferences.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesRecordDocument.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesRecordGlobal.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/BackgroundColor.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/BackgroundColorDialogController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReport.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/report/JarAnalysisReportController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBar.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBarController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonBuffer.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindow.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindow.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/skeleton/SkeletonWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog_css.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/AlertDialog_i18n.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication_css.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/BasicApplication_i18n.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication.css ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication_css.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/ComplexApplication_i18n.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/TemplateDialog.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/TemplateDialogController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/util/FileMutex.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/util/MessageBox.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/JobManager.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/DragController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/LiveUpdater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/DocumentDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/DragSourceShadow.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/ExternalDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/source/LibraryDragSource.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/AbstractDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/AccessoryDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/CollectionDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/ContainerXYDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/ContainerZDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/GridPaneDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/drag/target/RootDropTarget.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/I18N.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit_ja.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit_zh_CN.properties ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ArrangeZOrderJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BatchJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BatchModifyObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BringForwardJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/BringToFrontJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/CutSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteGridSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteObjectSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DeleteSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/DuplicateSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/FitToParentObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/FitToParentSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsAccessoryJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsSubComponentAndRelocateJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsSubComponentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/Job.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/JobUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxControllerJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifySelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/PasteIntoJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/PasteJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ReIndexObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/RelocateNodeJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/SendBackwardJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/SendToBackJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/SetDocumentRootJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/TrimSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UseComputedSizesObjectJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UseComputedSizesSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddColumnConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddRowConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/AddRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/DeleteColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/DeleteRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/GridPaneJobUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/MoveColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/MoveRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/ReIndexColumnContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/ReIndexRowContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveColumnConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveColumnContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveRowConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/RemoveRowContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/GridSnapshot.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/GridSnapshotItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertColumnConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertColumnJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertRowConstraintsJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/InsertRowJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/MoveCellContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/MoveColumnContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/gridpane/v2/MoveRowContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/AddPropertyJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/AddPropertyValueJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/ClearSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/CompositeJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/RemovePropertyJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/RemovePropertyValueJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/v2/UpdateSelectionJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInContentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/AbstractWrapInSubComponentJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/FXOMObjectCourseComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/UnwrapJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInAnchorPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInGridPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInGroupJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInHBoxJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInScrollPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInSplitPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInStackPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInTabPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInTitledPaneJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInToolBarJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapInVBoxJob.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/wrap/WrapJobUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/messagelog/MessageLog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/messagelog/MessageLogEntry.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/AbstractDecoration.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/HudWindow.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/HudWindow.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/HudWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/WorkspaceController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/AbstractDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/AbstractNodeDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/BorderPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/FlowPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/GenericDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/GridPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/HBoxDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/LineDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/SplitPaneDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/SplitPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabPaneDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TabPaneDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TableColumnDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TableViewDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TableViewDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TextFlowDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/ToolBarDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TreeTableColumnDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TreeTableViewDesignInfoX.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/TreeTableViewDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/VBoxDriver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneMosaic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPanePring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/gridpane/GridPaneTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractCurveHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractGenericHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/AbstractNodeHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/LineHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/NodeHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/SplitPaneHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TabHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TableColumnHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TableViewHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TreeTableColumnHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/handles/TreeTableViewHandles.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/AbstractOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/outline/NodeOutline.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/AbstractGenericPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/AbstractPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/NodePring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/TabPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/TableColumnPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/pring/TreeTableColumnPring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/relocater/AbstractRelocater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/relocater/AnchorPaneRelocater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/relocater/PaneRelocater.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/AbstractResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/CanvasResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/GridPaneColumnResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/GridPaneRowResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/ImageViewResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/LazyResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/RegionResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/SubSceneResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/TableColumnResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/TreeTableColumnResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/WebViewResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/ArcResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/CircleResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/EllipseResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/RectangleResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/resizer/shape/TextResizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/rudder/AbstractRudder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/rudder/ResizeRudder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/AbstractGenericTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/AbstractNodeTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/AbstractTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/BorderPaneTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/GenericParentTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/HBoxTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/NodeTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/Quad.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/TabTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/TableColumnTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/TreeTableColumnTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/tring/VBoxTring.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/AbstractGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/DragGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/SelectWithPringGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/ZoomGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/AbstractMouseDragGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/AbstractMouseGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/AdjustDividerGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/DebugMouseGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/DiscardGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/EditCurveGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeColumnGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeRowGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeTableColumnGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeTreeTableColumnGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectAndMoveGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectAndMoveInGridGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/SelectWithMarqueeGesture.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/AbstractSegment.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/HorizontalLineComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/HorizontalLineIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/HorizontalSegment.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/MovingGuideController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/MovingGuideRenderer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/ResizingGuideChrome.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/ResizingGuideController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/ResizingGuideRenderer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/SegmentIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/VerticalLineComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/VerticalLineIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/guides/VerticalSegment.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/mode/AbstractModeController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/mode/EditModeController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/mode/PickModeController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/BoundsUnion.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/BoundsUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/CardinalPoint.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/LineEquation.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/Picker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/RegionRectangle.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/util/ScrollPaneBooster.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssContentMaker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssValueConverter.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssValuePresenterFactory.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/SelectionPath.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/AbstractHierarchyPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyAnimationScheduler.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyDNDController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyItemBorderPane.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyItemGraphic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/HierarchyTaskScheduler.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableRow.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableView.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableViewController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableViewUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeView.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/Inspector.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/Inspector.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/SubSection.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AnchorPaneConstraintsEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AnchorPaneConstraintsEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BooleanEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ControllerClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DividerPositionsEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DoubleAutoSuggestEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DoubleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DoubleField.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/Editor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorItemDelegate.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/GenericEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ImageEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ImageEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/InlineListEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/InsetsEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/InsetsEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/IntegerAutoSuggestEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/IntegerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/IntegerField.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/NumberField.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/Point3DEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/Point3DEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertiesEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/RotateEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/RotateEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StringAutoSuggestEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditorItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditorItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditorInitialBt.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditorItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/TextAlignmentEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/TextAlignmentEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/BoundsPopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/BoundsPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/KeyCombinationPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PaintPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditorValidation.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/StringPopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/StringPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportDialog.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportDialog.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportRow.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportRowComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/ImportWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryListCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryListItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanel.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanel.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlPopupController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractFxmlWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPopupController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialogM.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialogW.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AlertDialog.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AlertDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/ErrorDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/TextViewDialog.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/TextViewDialog.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/report/ErrorReport.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/report/ErrorReportEntry.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/Search.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/Search.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/SearchController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/AbstractSelectionGroup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/GridSelectionGroup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/ObjectSelectionGroup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/selection/Selection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/util/ContextMenuController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/util/InlineEditController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMArchive.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIndex.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNodes.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNormalizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMProperty.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyC.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyT.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMRefresher.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMSaver.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/GlueCursor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/ResourceKeyCollector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientProperty.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientStateBackup.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueAuxiliary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueCharacters.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueDocument.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueElement.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueInstruction.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueSerializer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueSnapshot.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/QualifiedName.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/XMLAttrComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/glue/XMLBuffer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/AbstractSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ChoiceBoxSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ComboBoxSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/ListViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/PieChartSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/SampleDataGenerator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/TableViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/TreeTableViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/TreeViewSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/sampledata/XYChartSampleData.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/BuiltinGlossary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/ControllerClass.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/Glossary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/glossary/JavaTokenizer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/BuiltinLibrary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/BuiltinSectionComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/Library.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/LibraryItem.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/LibraryItemNameComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Accordion.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/AmbientLight.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Arc.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/AreaChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/AreaChartNN.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/BarChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Box.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/BubbleChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Button.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Canvas.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CheckBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CheckMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ChoiceBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Circle.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ComboBox.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ContextMenu.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CubicCurve.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/CustomMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Cylinder.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Ellipse.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/GridPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/HTMLEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Hyperlink.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Label.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Line.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/LineChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/LineChartNN.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MediaView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Menu.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MenuBar.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MenuButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/MenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/PointLight.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Polygon.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Polyline.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ProgressBar.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ProgressIndicator.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/QuadCurve.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/RadioButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/RadioMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Rectangle.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SVGPath.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScatterChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScatterChartNN.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScrollBarH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScrollBarV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ScrollPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SeparatorH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SeparatorMenuItem.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SeparatorV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SliderH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SliderV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Sphere.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SplitMenuButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SplitPaneH.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SplitPaneV.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/StackedAreaChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/StackedBarChart.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/SwingNode.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Tab.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TabPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TableColumn.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TableView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Text.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TitledPane.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ToggleButton.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/ToolBar.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/Tooltip.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TreeTableColumn.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/TreeTableView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/builtin/WebView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/LibraryFolderWatcher.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/util/JarExplorer.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/util/JarReport.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/library/util/JarReportEntry.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/MetadataIntrospector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/ClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/ComponentClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/CustomComponentClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/klass/ValueClassMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/ComponentPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/PropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/ValuePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ArrayPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BooleanPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BorderPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BoundsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/CallbackPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ColumnConstraintsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ComplexPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/CursorPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/DoubleArrayPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/DoublePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EffectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EnumerationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EventHandlerPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/FontPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ImagePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/InsetsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/IntegerPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ListCellPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/MaterialPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/MeshPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ObjectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/Point3DPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/Rectangle2DPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/RowConstraintsPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/SingleValuePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/StringConverterPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/StringPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TableViewResizePolicyPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TextEncodablePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TransformPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TreeTableViewResizePolicyPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundFillPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundImagePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundPositionPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundSizePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/CornerRadiiPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCharacterCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCodeCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/keycombination/KeyCombinationPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/BackgroundFillListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/BackgroundImageListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ColorListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ColumnConstraintsListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/DividerListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/DoubleListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ListValuePropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/ObjectListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/RowConstraintsListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/StopListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/StringListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/TickMarkListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/list/TransformListPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/ColorPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/ImagePatternPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/LinearGradientPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/PaintPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/RadialGradientPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/paint/StopPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/BeanPropertyIntrospector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ClipboardDecoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ClipboardEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ColorEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/DesignHierarchyMask.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/DesignHierarchyPath.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/InspectorPath.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/InspectorPathComparator.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PrefixedValue.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PropertyName.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/StaticPropertyIntrospector.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ValuePropertyMetadataClassComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/ValuePropertyMetadataNameComparator.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/CssInternal.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/GridBounds.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/JavaLanguage.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/MathUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPicker.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPicker.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPicker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/PaintPickerController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/colorpicker/ColorPicker.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/colorpicker/ColorPicker.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/colorpicker/ColorPicker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPickerStop.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPickerStop.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPickerStop.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/rotator/RotatorControl.css ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/rotator/RotatorControl.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/rotator/RotatorControl.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/slider/SliderControl.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/slider/SliderControl.java Changeset: dd789066e61e Author: kcr Date: 2013-12-28 08:05 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/dd789066e61e Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.properties Changeset: 26f87c5d3435 Author: hudson Date: 2014-01-03 06:56 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/26f87c5d3435 Added tag 8.0-b122 for changeset dd789066e61e ! .hgtags From hang.vo at oracle.com Fri Jan 3 06:17:13 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 14:17:13 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35169: Fix copyright header for files modified in 2014 Message-ID: <20140103141733.27A6562FF2@hg.openjdk.java.net> Changeset: 703155c18442 Author: kcr Date: 2014-01-03 06:00 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/703155c18442 RT-35169: Fix copyright header for files modified in 2014 ! modules/graphics/src/main/java/com/sun/prism/d3d/D3DDriverInformation.java ! modules/graphics/src/main/java/com/sun/scenario/effect/Effect.java ! modules/graphics/src/main/java/com/sun/scenario/effect/Reflection.java ! modules/graphics/src/main/java/com/sun/scenario/effect/impl/prism/PrFloodPeer.java ! modules/graphics/src/main/java/javafx/animation/ParallelTransition.java ! modules/graphics/src/main/java/javafx/animation/SequentialTransition.java ! modules/graphics/src/main/native-prism-d3d/D3DBadHardware.h ! modules/graphics/src/main/native-prism-d3d/D3DPipelineManager.cc ! modules/graphics/src/main/native-prism-d3d/D3DPipelineManager.h ! modules/graphics/src/test/java/com/sun/javafx/sg/prism/GridDirtyRegionTest.java ! modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGTestBase.java ! modules/graphics/src/test/java/com/sun/scenario/effect/rt_5239/RT_5239Test.java ! modules/graphics/src/test/java/javafx/animation/ParallelTransitionPlayTest.java ! tests/system/src/test/java/launchertest/TestAppNoMainThreadCheck.java ! tests/system/src/test/java/launchertest/TestAppThreadCheck.java ! tests/system/src/test/java/launchertest/TestNotApplicationThreadCheck.java ! tests/system/src/test/java/launchertest/TestPreloader.java From martin.sladecek at oracle.com Fri Jan 3 07:19:17 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Fri, 03 Jan 2014 16:19:17 +0100 Subject: Review request:RT-34928,Ensemble: Bouncing Balls leave tracks Message-ID: <52C6D4F5.807@oracle.com> Jim, please review JIRA: https://javafx-jira.kenai.com/browse/RT-34928 Webrev: http://cr.openjdk.java.net/~msladecek/rt-34928/webrev.00/ Thanks, -Martin From hang.vo at oracle.com Fri Jan 3 07:17:01 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 15:17:01 +0000 Subject: hg: openjfx/8/graphics/rt: Added tag 8.0-b122 for changeset dd789066e61e Message-ID: <20140103151827.5741B62FF8@hg.openjdk.java.net> Changeset: 26f87c5d3435 Author: hudson Date: 2014-01-03 06:56 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/26f87c5d3435 Added tag 8.0-b122 for changeset dd789066e61e ! .hgtags From steve.x.northover at oracle.com Fri Jan 3 08:23:03 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 11:23:03 -0500 Subject: Regression: JavaFX 8 doesn't call listeners in Skin implementations In-Reply-To: <1672471.EsyaBKZe3Y@shire> References: <2173202.R20RJOyR3f@shire> <1672471.EsyaBKZe3Y@shire> Message-ID: <52C6E3E7.4070709@oracle.com> Hi Florian, I would enter a JIRA with the steps to make the problem happen and the smallest possible example code that shows it. Thanks, Steve On 2014-01-02 5:10 PM, Florian Brunner wrote: > I also tried to add a listener directly to control.getDockingSplitPaneChildren() in case the issue is with Bindings.bindContent, but also this listener doesn't get called. > > member: > > private final ListChangeListener dockingSplitPaneChildrenListener = new ListChangeListener() { > @Override > public void onChanged(Change change) { > System.out.println("Change!"); > } > }; > > ... > > in constructor: > > control.getDockingSplitPaneChildren().addListener(dockingSplitPaneChildrenListener); > > -Florian > > Am Donnerstag, 2. Januar 2014, 22.51:23 schrieb Florian Brunner: >> Hi, >> >> I'm in the process of upgrading Drombler FX to JavaFX 8 and hit another regression issue: JavaFX 8 doesn't call listeners in my Skin implementation (it used to work with JavaFX 2.x !) >> >> Here is the Skin implementation: >> >> https://sourceforge.net/p/drombler/drombler-fx/ci/default/tree/drombler-fx-core-docking/src/main/java/org/drombler/fx/core/docking/impl/skin/DockingSplitPaneSkin.java >> >> When I add something to >> >> control.getDockingSplitPaneChildren() >> >> what should trigger the listeners, then with a debugger I can trace the call up to the WeakListChangeListener where on line 87 the listener is null. >> >> Note that I'm not using a WeakListChangeListener explicitly - JavaFX 8 must have created this somewhere and for some reason the listener from the Skin got lost! >> >> I also tried to keep a reference to my listeners as a member variable in the Skin implementation, but this didn't work either. >> >> I haven't filed an issue yet because I guess there is already a new way how to solve this. >> >> Note that I would like to solve this first with this "basic" Skin implementation and not with the new SkinBase class just yet, as I'm not familiar with that new class yet. One refactoring step at a time. ;-) >> >> -Florian >> >> From steve.x.northover at oracle.com Fri Jan 3 08:57:22 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 11:57:22 -0500 Subject: General schedule/roadmap/status In-Reply-To: <52C60322.4050801@qualitycode.com> References: <52C60322.4050801@qualitycode.com> Message-ID: <52C6EBF2.4050604@oracle.com> Hi Kevin, Oracle builds Java 8 using the OpenJDK. OpenJFX is a part of the OpenJDK and is built into Oracle's Java 8 distribution. The rest of these questions are really for the various different Linux distributions that consume open source projects and produce their own builds. I suggest that you ping them and find out their plans. Thanks, Steve On 2014-01-02 7:24 PM, Kevin Smith wrote: > Hi all, > > If my questions are answered by existing web pages or archived email > threads, please point me to them. I looked, but could not find any. We > are looking at committing to JavaFX for some major new UI work, and want > to understand the likely availability of JavaFX for our OpenJDK users. > > My understanding is that JavaFX is/will be built into Java 8. That's > true for OpenJDK 8 also, right? > > I am aware of Oracle's Java 8 build, and I found a Fedora OpenJDK 8 > package. I don't see anything like that for Debian, and couldn't find > any mention of any current or planned work on one. Does anyone know when > a preview version of OpenJDK might be packaged for Debian? > > The scheduled release of Oracle Java 8 is in a few months. Will the > OpenJDK release be simultaneous with that? Earlier? > > Based on past history, is there likely to be a long delay between the > official Java 8 release, and when it is available in a public Debian (or > Ubuntu) release? Do they tend to ship preview releases, or do they only > release full public versions of OpenJDK? > > There were milestones in October and November related to ZBB and other > quality levels? Have those been hit? How is Open JavaFX looking relative > to the big release date? > > Has anyone packaged Open JavaFX for Java 7 (e.g. on Debian)? > > Thanks much, > > Kevin From steve.x.northover at oracle.com Fri Jan 3 09:09:43 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 12:09:43 -0500 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: References: Message-ID: <52C6EED7.2070503@oracle.com> Hi Ryan, I'll let others describe hardware acceleration in AWT/Swing but in JavaFX, D3D and ES2 shaders are used to draw. These run directly on the graphics card and render data that is downloaded there. Because JavaFX has a scene graph, it has a notion of what has been changed and can render only a subset of the scene graph nodes. This is a very high level description of JavaFX but captures the essence of what is happening. Any other FX committers want to comment? Steve On 2014-01-01 1:39 PM, Ryan Cuprak wrote: > What is the difference between hardware acceleration in JavaFX versus Swing/AWT? I heard a while back someone claim that Swing/AWT could never fully leverage hardware acceleration. However there are the usual mix of -D parameters (sun.java2.opengl/sun.java2d.d3d, etc.) for Swing/AWT. So I am just wondering how JavaFX?s acceleration differs from the hardware acceleration in Swing. When I was giving a talk at a JUG meeting someone called me out on the hardware acceleration bit and I realized I didn?t fully understand the differences between the two. > > I understand that JavaFX has a scene graph and Swing doesn?t etc. So I am assuming that the scene graph operations are optimized on the GPU whereas if you were trying to replicate a scene graph in Swing you would obviously be doing all the work on the CPU. So Swing?s hardware acceleration is more about buffers? > > I did come across this article: > https://weblogs.java.net/blog/opinali/archive/2010/05/03/first-long-look-javafx-13-and-prism > Specifically this line caught my attention "Prism finally renders effects with full hardware acceleration and without the extra buffer copies that spoil effects on the Swing toolkit.? > This article is a dated - brings up a second question about hardware acceleration with a hybrid Swing/JavaFX application - what happens? > > > Thanks, > -Ryan From kevin.rushforth at oracle.com Fri Jan 3 09:24:08 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 03 Jan 2014 09:24:08 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: <52C6EED7.2070503@oracle.com> References: <52C6EED7.2070503@oracle.com> Message-ID: <52C6F238.1070300@oracle.com> A couple other thoughts. 1) JavaFX doesn't use software loops for the actual rendering as long as the card is capable of supporting Prism. We do mix HW and SW in that we generate masks from a path in SW, but we cache that on the card and render it using shaders. 2) JavaFX can support Intel HD on Windows (something in the way Java2D uses D3D exposes a bug in Intel's driver so it is disabled). Jim can probably come up with more. -- Kevin Stephen F Northover wrote: > Hi Ryan, > > I'll let others describe hardware acceleration in AWT/Swing but in > JavaFX, D3D and ES2 shaders are used to draw. These run directly on > the graphics card and render data that is downloaded there. Because > JavaFX has a scene graph, it has a notion of what has been changed and > can render only a subset of the scene graph nodes. > > This is a very high level description of JavaFX but captures the > essence of what is happening. Any other FX committers want to comment? > > Steve > > On 2014-01-01 1:39 PM, Ryan Cuprak wrote: >> What is the difference between hardware acceleration in JavaFX >> versus Swing/AWT? I heard a while back someone claim that Swing/AWT >> could never fully leverage hardware acceleration. However there are >> the usual mix of -D parameters (sun.java2.opengl/sun.java2d.d3d, >> etc.) for Swing/AWT. So I am just wondering how JavaFX?s acceleration >> differs from the hardware acceleration in Swing. When I was giving a >> talk at a JUG meeting someone called me out on the hardware >> acceleration bit and I realized I didn?t fully understand the >> differences between the two. >> >> I understand that JavaFX has a scene graph and Swing doesn?t etc. >> So I am assuming that the scene graph operations are optimized on the >> GPU whereas if you were trying to replicate a scene graph in Swing >> you would obviously be doing all the work on the CPU. So Swing?s >> hardware acceleration is more about buffers? >> >> I did come across this article: >> https://weblogs.java.net/blog/opinali/archive/2010/05/03/first-long-look-javafx-13-and-prism >> >> Specifically this line caught my attention "Prism finally renders >> effects with full hardware acceleration and without the extra buffer >> copies that spoil effects on the Swing toolkit.? >> This article is a dated - brings up a second question about >> hardware acceleration with a hybrid Swing/JavaFX application - what >> happens? >> >> Thanks, >> -Ryan > From hang.vo at oracle.com Fri Jan 3 09:32:01 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 17:32:01 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android Message-ID: <20140103173254.98A4C62FFF@hg.openjdk.java.net> Changeset: 6f0901527ad0 Author: snorthov Date: 2014-01-03 12:23 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android Reviewed-by: snorthov Contributed-by: Stefan Fuchs ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java From steve at weblite.ca Fri Jan 3 09:40:40 2014 From: steve at weblite.ca (Steve Hannah) Date: Fri, 3 Jan 2014 09:40:40 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: <52C6F238.1070300@oracle.com> References: <52C6EED7.2070503@oracle.com> <52C6F238.1070300@oracle.com> Message-ID: > > Prism. We do mix HW and SW in that we generate masks from a path in SW, > but we cache that on the card and render it using shaders. > > Can you describe roughly how the caching works? I understand that the alpha mask is stored in OGL as a texture, but there are an infinite number of possible paths to be masked. How many textures can be stored at once (on say an iPhone)? I'm guessing JavaFX uses some sort of LRU caching algorithm for these textures? I ask this because I've been playing around directly with the Pisces C library directly to generate alpha masks and render them using shaders. I can see a performance increase of 4x in using alpha masks rather than full argb pixels (due to 1 byte per pixel instead of 4), but I'm curious about other savings that JavaFX makes with this method. (Hopefully this question doesn't take this thread too far off topic... my hope is that the answer to this question will help shed light on the original poster's question also). Steve From johan at lodgon.com Fri Jan 3 09:41:10 2014 From: johan at lodgon.com (Johan Vos) Date: Fri, 3 Jan 2014 18:41:10 +0100 Subject: Android Port: Next Steps In-Reply-To: <52C5CAB4.1010406@oracle.com> References: <52B4B65F.4020605@oracle.com> <52C5CAB4.1010406@oracle.com> Message-ID: Thanks Steve, that makes sense. I'll be back in the Android/JavaFX world in a few days, and will work on this. About the dex-max-method-references: that is a known issue that is fixed if you use the gradle script in android-tools. Explanation and how-to-fix at https://bitbucket.org/javafxports/android/issue/5/compiling-ensemble8-fails-because-of-dex - Johan 2014/1/2 Stephen F Northover > Hi Johan, > > I looked and the kinds of changes that you are making in > https://bitbucket.org/javafxports/android-graphics-rt and I can see that > they fall into a number of different categories: > > 1) JDK8 Language Features > > - work arounds for ObservableList default methods > - work arounds for the use of lambda (in test and example code) > - work arounds for the lack of final declarations (in test and example > code) > > I have entered https://javafx-jira.kenai.com/browse/RT-35165 to track the > defender method problem. > > Eventually, OpenJFX will embrace lambda expressions and it is likely that > iOS and Android will need to use RetroLambda. When we embrace lambda, > there will be a JIRA that covers the work and you an watch progress there. > In the meantime, you could look into RetroLambda now and see if it will > help you. Since it works on byte codes, you won't be able to step in the > debugger because the source won't match the executable. This might not be > an issue for you. ASIDE: I've attempted to build the code under Android > Studio and it runs out of method handles in dex during compile. Any ideas? > > In the case of final declarations, I think that there are so few of them > right now that we can just fix them as then sneak in. You will need to > keep track of them as they happen. Eventually, if you earn commit rights, > you can just fix them. > > 2) JDK8 Library (modules/compat/src) > > - missing classes and annotations (such as FunctionalInterface) > - missing API in JDK7 classes (I thought I had gotten rid of these) > > This code is not part of OpenJFX and should not be in the repo. Instead, > you need to maintain and build the code somewhere else and make a jar > available as part of your build. For example, when OpenJFX is built, it > gets the SWT jar from Eclipse.org. You will need to do something similar > when OpenJFX for Android or iOS is built. > > 3) Android Build Files and Tools (android-tools and more) > > - files like dalvik.gradle and shell scripts etc. > > Some of this is being tracked by > https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that you enter > JIRA for each part that you want moved over. For example, android-tools is > not covered by this JIRA. > > 4) Android Specific Files (New and Changed files) > > - src/dalvik > - android.h, LensApplication.c etc. > > You will need to enter JIRA for these. I'm not sure which changes are > needed and which are not. FX embedded committers will need to go over the > changes as Android and Lens share the same code. > > 5) "Unnecessary Changes" > > - these are mostly due to being out of sync with OpenJFX > - some of these are related to FunctionalInterface which you should add to > your JDK8 compat library > > As more of your code moves over to OpenJFX, the list of changes here will > become zero. I suggest that you browse all the changes that you have and > get rid of as many as you can while preparing patches for OpenJFX. > > Best of luck Johan! Our goal is to bootstrap you port as quickly as we > can subject to the rules of the OpenJDK which we must follow. Please enter > JIRA as necessary to track your work and we can interact there. > > Happy New Year! > > Steve > > On 2013-12-31 3:47 AM, Johan Vos wrote: > > Steve, > > The main issue is currently getting bootstrapped. If we want to build the > Dalvik-runtime using open-jfx, we need a location on where to put the > dalvik files. This is what I tried to describe in > https://javafx-jira.kenai.com/browse/RT-35123 > > Please note that we're not really doing an Android port, but a Dalvik > port. The (excellent) work done by Oracle in the past allowed for both > using Dalvik as well as an Oracle-internal VM. There are no indications > that the latter is ever going to fly, so I don't want to have an > abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do > hope there will be other VM's (Oracle VM and more) later, as that will make > it easier to have Java 8 and so on, but right now we have to stick with > what we have (dalvik). > > Without these files, we can supply patches for existing files in > open-jfx, but by no means we can build the runtime. I do understand it is > not trivial to "add" a directory for the sake of a port, but then, a port > is not trivial as well. I'm open to all suggestions. > The longer we wait, however, with synchronizing the bitbucket repo with > the open-jfx repo, the harder it gets. Right now, I have no other option > than committing all changes in the bitbucket repo, as I need to be able to > build a runtime. We had 419 downloads of the runtime in 10 days, so clearly > there are people interested in this. > > - Johan > > > 2013/12/20 Stephen F Northover > >> Hi Johan, >> >> This is very good news. We need to work together so that you are able to >> run OpenJFX unmodified. This may not be practical for all sorts of >> reasons, but we need to seriously explore this and work towards this goal. >> Please open JIRA for the various problems you are seeing and we can try to >> deal with them there and on this list. >> >> Thanks, >> Steve >> >> >> On 2013-12-20 12:56 PM, Johan Vos wrote: >> >>> Hi, >>> >>> As you might know, 2 months ago I started a community effort for >>> "porting" >>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>> runtime, which can be downloaded at >>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>> instructions on how to build applications at >>> >>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>> >>> Building the runtime itself is explained at >>> >>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>> >>> At this moment, most of the Ensemble suite runs on Android (positive >>> reports starting with Android 3.x). >>> >>> The downloadable runtime is created using the bitbucket project at >>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>> changes >>> made in openjfx-graphics should be in the Android runtime as well. >>> >>> There are a number of issues left: >>> * touch map issues causing applications to crash if "touched too much". I >>> created a JIRA ticket for this and will create another one (related, but >>> not same cause) later. >>> * Java 7 only. Currently, applications cannot make use of Java 8 >>> features. >>> Dalvik has no invokedynamic, so we can't do lambda's. >>> * we just started, so there will be plenty of other bugs. >>> >>> We are also spending efforts in documentation and community interaction. >>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>> of >>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>> been >>> downloaded 60 times since it was released a couple of hours ago. So there >>> is definitely community interest and involvement. >>> Clearly, there is involvement from Oracle as well. Most of the effort so >>> far has been done by Tomas Brandalik and the Prague team. I was >>> positively >>> surprised to see the amount of native code that was already available for >>> Android. >>> >>> After a few discussions, it has been agreed that we should try to >>> synchronize as much as possible with the OpenJFX repositories, without >>> jeopardizing the stability and performance of the main ports, and without >>> running into legal trouble. >>> >>> I will run a diff on the current code versus the OpenJFX code, and I will >>> try to create issues with patches for sending the changes back to >>> OpenJFX. >>> Not all changes can go back to OpenJFX. We had to add a number of classes >>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>> can't commit those in OpenJFX. >>> >>> We had to make a number of changes to JavaFX files as well, in order to >>> make them compile with JDK 1.7. Most of these were about removing >>> Function >>> and adding implementations for the default interface methods on >>> ObservableList. >>> I have no clear opinion on how these changed files could somehow be used >>> from within OpenJFX, but I'm very open to suggestions. >>> >>> Finally, keep in mind that this is a community effort. Nobody is paying >>> for >>> this, and it is done in our spare time. I'm doing my best to move forward >>> as soon as I can, but I have other things to work on as well of course. >>> However, the collaboration between the Java community and Oracle (mainly >>> Tomas) has been great so far. It is in the interest of anyone working on >>> or >>> with Java to show the world that JavaFX runs on Android devices. >>> >>> - Johan >>> >> >> > > From steve.x.northover at oracle.com Fri Jan 3 09:44:34 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 12:44:34 -0500 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <20140103173254.98A4C62FFF@hg.openjdk.java.net> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> Message-ID: <52C6F702.8010103@oracle.com> Hi Alex, Samples were changed to support Android. Apparently, hitting escape twice should exit an application and this behavior was coded into EnsembleApp. I'm not an Android guy but if this is standard Android behavior, it should be part of JFX, not the example code. Anyhow, I'll let Stefan or Johan comment on this and they can enter a follow on JIRA. Steve On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: > Changeset: 6f0901527ad0 > Author: snorthov > Date: 2014-01-03 12:23 -0500 > URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 > > RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android > Reviewed-by: snorthov > Contributed-by: Stefan Fuchs > > ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java > ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java > ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java > ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java > ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java > ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java > ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java > From chien.yang at oracle.com Fri Jan 3 09:46:30 2014 From: chien.yang at oracle.com (Chien Yang) Date: Fri, 03 Jan 2014 09:46:30 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: <52C6F238.1070300@oracle.com> References: <52C6EED7.2070503@oracle.com> <52C6F238.1070300@oracle.com> Message-ID: <52C6F776.6060902@oracle.com> The Graphics Support section in this link has a detail information on the list of GPUs JavaFX can take advantage of: http://docs.oracle.com/javafx/2/system_requirements_2-2-5/jfxpub-system_requirements_2-2-5.htm Note: Linux and Mac should have the same support coverage except for Intel GMA 4500 which we haven't tested. - Chien On 01/03/2014 09:24 AM, Kevin Rushforth wrote: > A couple other thoughts. > > 1) JavaFX doesn't use software loops for the actual rendering as long > as the card is capable of supporting Prism. We do mix HW and SW in > that we generate masks from a path in SW, but we cache that on the > card and render it using shaders. > > 2) JavaFX can support Intel HD on Windows (something in the way Java2D > uses D3D exposes a bug in Intel's driver so it is disabled). > > Jim can probably come up with more. > > -- Kevin > > > Stephen F Northover wrote: >> Hi Ryan, >> >> I'll let others describe hardware acceleration in AWT/Swing but in >> JavaFX, D3D and ES2 shaders are used to draw. These run directly on >> the graphics card and render data that is downloaded there. Because >> JavaFX has a scene graph, it has a notion of what has been changed >> and can render only a subset of the scene graph nodes. >> >> This is a very high level description of JavaFX but captures the >> essence of what is happening. Any other FX committers want to comment? >> >> Steve >> >> On 2014-01-01 1:39 PM, Ryan Cuprak wrote: >>> What is the difference between hardware acceleration in JavaFX >>> versus Swing/AWT? I heard a while back someone claim that Swing/AWT >>> could never fully leverage hardware acceleration. However there are >>> the usual mix of -D parameters (sun.java2.opengl/sun.java2d.d3d, >>> etc.) for Swing/AWT. So I am just wondering how JavaFX?s >>> acceleration differs from the hardware acceleration in Swing. When I >>> was giving a talk at a JUG meeting someone called me out on the >>> hardware acceleration bit and I realized I didn?t fully understand >>> the differences between the two. >>> >>> I understand that JavaFX has a scene graph and Swing doesn?t etc. >>> So I am assuming that the scene graph operations are optimized on >>> the GPU whereas if you were trying to replicate a scene graph in >>> Swing you would obviously be doing all the work on the CPU. So >>> Swing?s hardware acceleration is more about buffers? >>> >>> I did come across this article: >>> https://weblogs.java.net/blog/opinali/archive/2010/05/03/first-long-look-javafx-13-and-prism >>> >>> Specifically this line caught my attention "Prism finally renders >>> effects with full hardware acceleration and without the extra buffer >>> copies that spoil effects on the Swing toolkit.? >>> This article is a dated - brings up a second question about >>> hardware acceleration with a hybrid Swing/JavaFX application - what >>> happens? >>> >>> Thanks, >>> -Ryan >> From steve.x.northover at oracle.com Fri Jan 3 09:53:46 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 12:53:46 -0500 Subject: Android Port: Next Steps In-Reply-To: References: <52B4B65F.4020605@oracle.com> <52C5CAB4.1010406@oracle.com> Message-ID: <52C6F92A.7070503@oracle.com> Any idea how it can be fixed using IntelliJ Android Studio? Might be nice to run and debug on the device rather than debugging with println's. Steve On 2014-01-03 12:41 PM, Johan Vos wrote: > Thanks Steve, that makes sense. > I'll be back in the Android/JavaFX world in a few days, and will work > on this. > About the dex-max-method-references: that is a known issue that is > fixed if you use the gradle script in android-tools. Explanation and > how-to-fix at > https://bitbucket.org/javafxports/android/issue/5/compiling-ensemble8-fails-because-of-dex > > - Johan > > > > 2014/1/2 Stephen F Northover > > > Hi Johan, > > I looked and the kinds of changes that you are making in > https://bitbucket.org/javafxports/android-graphics-rt and I can > see that they fall into a number of different categories: > > 1) JDK8 Language Features > > - work arounds for ObservableList default methods > - work arounds for the use of lambda (in test and example code) > - work arounds for the lack of final declarations (in test and > example code) > > I have entered https://javafx-jira.kenai.com/browse/RT-35165 to > track the defender method problem. > > Eventually, OpenJFX will embrace lambda expressions and it is > likely that iOS and Android will need to use RetroLambda. When we > embrace lambda, there will be a JIRA that covers the work and you > an watch progress there. In the meantime, you could look into > RetroLambda now and see if it will help you. Since it works on > byte codes, you won't be able to step in the debugger because the > source won't match the executable. This might not be an issue for > you. ASIDE: I've attempted to build the code under Android Studio > and it runs out of method handles in dex during compile. Any ideas? > > In the case of final declarations, I think that there are so few > of them right now that we can just fix them as then sneak in. You > will need to keep track of them as they happen. Eventually, if > you earn commit rights, you can just fix them. > > 2) JDK8 Library (modules/compat/src) > > - missing classes and annotations (such as FunctionalInterface) > - missing API in JDK7 classes (I thought I had gotten rid of these) > > This code is not part of OpenJFX and should not be in the repo. > Instead, you need to maintain and build the code somewhere else > and make a jar available as part of your build. For example, when > OpenJFX is built, it gets the SWT jar from Eclipse.org. You will > need to do something similar when OpenJFX for Android or iOS is built. > > 3) Android Build Files and Tools (android-tools and more) > > - files like dalvik.gradle and shell scripts etc. > > Some of this is being tracked by > https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that > you enter JIRA for each part that you want moved over. For > example, android-tools is not covered by this JIRA. > > 4) Android Specific Files (New and Changed files) > > - src/dalvik > - android.h, LensApplication.c etc. > > You will need to enter JIRA for these. I'm not sure which changes > are needed and which are not. FX embedded committers will need to > go over the changes as Android and Lens share the same code. > > 5) "Unnecessary Changes" > > - these are mostly due to being out of sync with OpenJFX > - some of these are related to FunctionalInterface which you > should add to your JDK8 compat library > > As more of your code moves over to OpenJFX, the list of changes > here will become zero. I suggest that you browse all the changes > that you have and get rid of as many as you can while preparing > patches for OpenJFX. > > Best of luck Johan! Our goal is to bootstrap you port as quickly > as we can subject to the rules of the OpenJDK which we must > follow. Please enter JIRA as necessary to track your work and we > can interact there. > > Happy New Year! > > Steve > > On 2013-12-31 3:47 AM, Johan Vos wrote: >> Steve, >> >> The main issue is currently getting bootstrapped. If we want to >> build the Dalvik-runtime using open-jfx, we need a location on >> where to put the dalvik files. This is what I tried to describe >> in https://javafx-jira.kenai.com/browse/RT-35123 >> >> Please note that we're not really doing an Android port, but a >> Dalvik port. The (excellent) work done by Oracle in the past >> allowed for both using Dalvik as well as an Oracle-internal VM. >> There are no indications that the latter is ever going to fly, so >> I don't want to have an abstraction on top of {Dalvik, OracleVM} >> if only the first one exists. I do hope there will be other VM's >> (Oracle VM and more) later, as that will make it easier to have >> Java 8 and so on, but right now we have to stick with what we >> have (dalvik). >> >> Without these files, we can supply patches for existing files in >> open-jfx, but by no means we can build the runtime. I do >> understand it is not trivial to "add" a directory for the sake of >> a port, but then, a port is not trivial as well. I'm open to all >> suggestions. >> The longer we wait, however, with synchronizing the bitbucket >> repo with the open-jfx repo, the harder it gets. Right now, I >> have no other option than committing all changes in the bitbucket >> repo, as I need to be able to build a runtime. We had 419 >> downloads of the runtime in 10 days, so clearly there are people >> interested in this. >> >> - Johan >> >> >> 2013/12/20 Stephen F Northover > > >> >> Hi Johan, >> >> This is very good news. We need to work together so that you >> are able to run OpenJFX unmodified. This may not be >> practical for all sorts of reasons, but we need to seriously >> explore this and work towards this goal. Please open JIRA >> for the various problems you are seeing and we can try to >> deal with them there and on this list. >> >> Thanks, >> Steve >> >> >> On 2013-12-20 12:56 PM, Johan Vos wrote: >> >> Hi, >> >> As you might know, 2 months ago I started a community >> effort for "porting" >> JavaFX to Android. Today, we released build 3 of the >> JavaFX Android >> runtime, which can be downloaded at >> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zip >> with >> instructions on how to build applications at >> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >> >> Building the runtime itself is explained at >> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >> >> At this moment, most of the Ensemble suite runs on >> Android (positive >> reports starting with Android 3.x). >> >> The downloadable runtime is created using the bitbucket >> project at >> https://bitbucket.org/javafxports/android-graphics-rt >> which is a fork of >> the openjfx-graphics-rt mirror on bitbucket. We merge >> often, so all changes >> made in openjfx-graphics should be in the Android runtime >> as well. >> >> There are a number of issues left: >> * touch map issues causing applications to crash if >> "touched too much". I >> created a JIRA ticket for this and will create another >> one (related, but >> not same cause) later. >> * Java 7 only. Currently, applications cannot make use of >> Java 8 features. >> Dalvik has no invokedynamic, so we can't do lambda's. >> * we just started, so there will be plenty of other bugs. >> >> We are also spending efforts in documentation and >> community interaction. >> The google group javafxandroid has a pretty active >> mailinglist. Build 2 of >> the runtime has been downloaded 291 times in 2 weeks, and >> build 3 has been >> downloaded 60 times since it was released a couple of >> hours ago. So there >> is definitely community interest and involvement. >> Clearly, there is involvement from Oracle as well. Most >> of the effort so >> far has been done by Tomas Brandalik and the Prague team. >> I was positively >> surprised to see the amount of native code that was >> already available for >> Android. >> >> After a few discussions, it has been agreed that we >> should try to >> synchronize as much as possible with the OpenJFX >> repositories, without >> jeopardizing the stability and performance of the main >> ports, and without >> running into legal trouble. >> >> I will run a diff on the current code versus the OpenJFX >> code, and I will >> try to create issues with patches for sending the changes >> back to OpenJFX. >> Not all changes can go back to OpenJFX. We had to add a >> number of classes >> that are missing on Dalvik and that are used by OpenJFX, >> and clearly we >> can't commit those in OpenJFX. >> >> We had to make a number of changes to JavaFX files as >> well, in order to >> make them compile with JDK 1.7. Most of these were about >> removing Function >> and adding implementations for the default interface >> methods on >> ObservableList. >> I have no clear opinion on how these changed files could >> somehow be used >> from within OpenJFX, but I'm very open to suggestions. >> >> Finally, keep in mind that this is a community effort. >> Nobody is paying for >> this, and it is done in our spare time. I'm doing my best >> to move forward >> as soon as I can, but I have other things to work on as >> well of course. >> However, the collaboration between the Java community and >> Oracle (mainly >> Tomas) has been great so far. It is in the interest of >> anyone working on or >> with Java to show the world that JavaFX runs on Android >> devices. >> >> - Johan >> >> >> > > From chien.yang at oracle.com Fri Jan 3 10:33:24 2014 From: chien.yang at oracle.com (Chien Yang) Date: Fri, 03 Jan 2014 10:33:24 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: References: <52C6EED7.2070503@oracle.com> <52C6F238.1070300@oracle.com> Message-ID: <52C70274.8020507@oracle.com> Jim will probably has more to say about how the caching works. JavaFX has a unified texture resource management system for Prism. An aging algorithm is used to determine which native texture resource to be released when the system is low on VRAM or reached a system configurable VRAM threshold (for embedded). - Chien On 01/03/2014 09:40 AM, Steve Hannah wrote: >> Prism. We do mix HW and SW in that we generate masks from a path in SW, >> but we cache that on the card and render it using shaders. >> >> > Can you describe roughly how the caching works? I understand that the > alpha mask is stored in OGL as a texture, but there are an infinite number > of possible paths to be masked. How many textures can be stored at once (on > say an iPhone)? I'm guessing JavaFX uses some sort of LRU caching > algorithm for these textures? > > I ask this because I've been playing around directly with the Pisces C > library directly to generate alpha masks and render them using shaders. I > can see a performance increase of 4x in using alpha masks rather than full > argb pixels (due to 1 byte per pixel instead of 4), but I'm curious about > other savings that JavaFX makes with this method. > > (Hopefully this question doesn't take this thread too far off topic... my > hope is that the answer to this question will help shed light on the > original poster's question also). > > Steve From tbee at tbee.org Fri Jan 3 11:00:52 2014 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 03 Jan 2014 20:00:52 +0100 Subject: scenebuilder and migpane In-Reply-To: References: <52C67E82.1080502@tbee.org> Message-ID: <52C708E4.5080408@tbee.org> Simply dropping the jars is not possible, because MigLayout is split into two jars; core and javafx. Core does not contain any JavaFX classes and thus SceneBuilder does not import it (button is disabled). After manually merging the two jars into one, MigPane is listed in SB as a custom control. Dropping nodes onto MigPane works; they are put next to each other, as the default layout logic of MigPane does things. But for each node there should be a possibility to specify a constraint string, the "cc" property is not listed in the inspector (unlike, for example, hgrow in a HBox). I've created a special FXML MigPane class to contain the FXML scaffolding, this class has a "static void setCc(Node, String)" method. What determines when such a static method is displayed in the inspector's layout tab? Missing are the helper lines to show the grid, like GridPane has. I'm assuming there is some kind of helper class to better embed the layouts in SB? MigLayout is a very popular layout engine in Swing and SWT (and also gaining ground on Android), I think it would be good for SceneBuilder to better support MigLayout. Tom On 2014-1-3 11:04, Eric Le Ponner wrote: > I guess it's worth trying to drop MigPane JAR file in SB2 library panel and see. > However SB2 makes some assumptions about containers. > So that might not work straight away. > > Eric > > > Le 3 janv. 2014 ? 10:10, Tom Eugelink a ?crit : > >> Would it be possible to offer MigPane as a Container in SceneBuilder? >> >> Tom >> From snfuchs at gmx.de Fri Jan 3 11:43:33 2014 From: snfuchs at gmx.de (Stefan Fuchs) Date: Fri, 03 Jan 2014 20:43:33 +0100 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C6F702.8010103@oracle.com> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> Message-ID: <52C712E5.5020409@gmx.de> Hi, well, the back button is always used to go back one dialog level, until the start screen has be reached. (Dialogs are canceled, browsers go to previous website, etc...) If you press the back button on the start screen of the app, I found three different strategies to handle the back button: 1. Exit the app on first button press (examples: WhatsApp, Google Maps) 2. Hide the app on first button press and let the system kill the application, if system memory is exhausted. (examples: FireFox, Chrome) 3. Exit the app on second button press (note that most apps using this strategy print a notice message, after the first key press, which is currently not implemented for Ensemble8) (examples: Samsungs App Store) Stefan Stephen F Northover wrote: > Hi Alex, > > Samples were changed to support Android. Apparently, hitting escape > twice should exit an application and this behavior was coded into > EnsembleApp. I'm not an Android guy but if this is standard Android > behavior, it should be part of JFX, not the example code. > > Anyhow, I'll let Stefan or Johan comment on this and they can enter a > follow on JIRA. > > Steve > > On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >> Changeset: 6f0901527ad0 >> Author: snorthov >> Date: 2014-01-03 12:23 -0500 >> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >> >> RT-35147: [Android, Ensemble8] App should react to hardware buttons >> on Android >> Reviewed-by: snorthov >> Contributed-by: Stefan Fuchs >> >> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >> ! >> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >> ! >> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >> ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >> > > From tobi at ultramixer.com Fri Jan 3 12:28:18 2014 From: tobi at ultramixer.com (Tobias Bley) Date: Fri, 3 Jan 2014 21:28:18 +0100 Subject: Very poor performance of JavaFX on iPhone - 6 months later Message-ID: Hi, many months ago I reported the ?poor performance on iOS? issue (https://javafx-jira.kenai.com/browse/RT-31453). Now 6 months later the bug is already open and no one of Oracle answers me on Jira. What?s up? How can we fix this important bug? Best, Tobi From steve.x.northover at oracle.com Fri Jan 3 13:25:43 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 16:25:43 -0500 Subject: In(Sanity) Testing Mondays In-Reply-To: <52B387B2.6020002@oracle.com> References: <52B1F867.5020402@oracle.com> <52B387B2.6020002@oracle.com> Message-ID: <52C72AD7.8050304@oracle.com> Hello committers, The test matrix will be in place on Monday and we will continue with the sanity testing this Monday. Not much code has changed over the holidays but any change can cause a regression. See https://wiki.openjdk.java.net/display/OpenJFX/8u20 for the different tests and platforms. I don't expect too much excitement this Monday, however, the following Monday January 13 is our first milestone and this should be a bit more interesting. Steve On 2013-12-19 6:56 PM, Lisa Selle wrote: > Hi all, > > Steve and I have update the test matrix for the coming weeks. Due to > US holidays, this matrix will stay in place until next year. For the > desktop team, we aimed to have two people cover each part of ensemble > on various platforms, for embedded (since we have fewer people), one > person testing each part of ensemble. For both teams we had > toys-subset and toys-controls (the two main groups of tests) tested by > 2 people each. > > Vacations are not taken into account, so it's possible some test > coverage will be missed each week but the overall coverage should be > reasonable, especially given the slower rate of change that's likely > due to the holidays. > > Thanks, > > Lisa and Steve > > On 12/18/2013 2:32 PM, Stephen F Northover wrote: >> Hi all, >> >> So the sanity testing was a success. I would not say that the >> universe has been fundamentally altered because of it but the idea >> that there is a weekly formal time when we kick the tires of FX is a >> good one. There were some problems getting the correct bits to test >> but that will be resolved for next week. We will be doing this next >> week and for the foreseeable future as it was a good forcing function >> for people to get their environments up to date and make sure that >> things were generally working. >> >> The big winner as a test case was HelloSanity. Although Ensemble >> exercises much of FX, some committers found the UI to be somewhat >> cumbersome for testing. There is so much functionality in Ensemble, >> that a comprehensive test just takes too long. Ensemble is still >> very important, but perhaps not the best sanity vehicle. I'm thinking >> that in future, we will look towards testing the FX toys that have >> recently been open sourced instead of having so many committers >> poking Ensemble. Further, we need to add some more 3D testing to the >> list of apps we run (3DViewer). >> >> In order to avoid entering duplicates, on the day of the testing, we >> won't process outstanding issues so that testers can quickly scan the >> "One True Dashboard". >> >> https://javafx-jira.kenai.com/secure/Dashboard.jspa?selectPageId=11893 >> >> So we will be sanity testing next Monday the 23rd and after that >> refining the process as we go. As we approach our first 8u20 >> milestone, the testing effort will ramp up but we can discuss >> specifics closer to the date. >> >> https://wiki.openjdk.java.net/display/OpenJFX/8u20 >> >> Steve > From steve.x.northover at oracle.com Fri Jan 3 13:59:22 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 16:59:22 -0500 Subject: Very poor performance of JavaFX on iPhone - 6 months later In-Reply-To: References: Message-ID: <52C732BA.1080008@oracle.com> Hi Tobias, Sorry about that. Looking at the bug, it seems to me that we have gotten to the bottom of it. Some iOS devices are scrolling fine while others are slower. The difference seems to be that high dpi disables optimizations and this causes the slowness on iOS. The same optimizations are disabled on the desktop, but the desktop is much faster and people don't notice. There was some discussion about performance in the simulator, but we should ignore that. Performance on the device is what matters. iOS and Android are not currently supported platforms for JavaFX. We are looking towards the community to step up and submit patches to take these ports forward. Johan Vos and others are helping with Android. Are you interested in working on iOS? If so, please build on the patches in https://javafx-jira.kenai.com/browse/RT-31453 and take the work forward. The first step would be to prove that we can be fast (which I think we can if we run with the optimizations) then understand how to turn the optimizations back on. Steve On 2014-01-03 3:28 PM, Tobias Bley wrote: > Hi, > > many months ago I reported the ?poor performance on iOS? issue (https://javafx-jira.kenai.com/browse/RT-31453). Now 6 months later the bug is already open and no one of Oracle answers me on Jira. > > What?s up? How can we fix this important bug? > > Best, > Tobi > From steve.x.northover at oracle.com Fri Jan 3 14:00:40 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 17:00:40 -0500 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C712E5.5020409@gmx.de> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> Message-ID: <52C73308.20104@oracle.com> If you feel that further work needs to be done here, please enter a JIRA and include this discussion. Thanks, Steve On 2014-01-03 2:43 PM, Stefan Fuchs wrote: > Hi, > > well, the back button is always used to go back one dialog level, > until the start screen has be reached. (Dialogs are canceled, browsers > go to previous website, etc...) > If you press the back button on the start screen of the app, I found > three different strategies to handle the back button: > 1. Exit the app on first button press (examples: WhatsApp, Google Maps) > 2. Hide the app on first button press and let the system kill the > application, if system memory is exhausted. (examples: FireFox, Chrome) > 3. Exit the app on second button press (note that most apps using this > strategy print a notice message, after the first key press, which is > currently not implemented for Ensemble8) (examples: Samsungs App Store) > > Stefan > > > Stephen F Northover wrote: >> Hi Alex, >> >> Samples were changed to support Android. Apparently, hitting escape >> twice should exit an application and this behavior was coded into >> EnsembleApp. I'm not an Android guy but if this is standard Android >> behavior, it should be part of JFX, not the example code. >> >> Anyhow, I'll let Stefan or Johan comment on this and they can enter a >> follow on JIRA. >> >> Steve >> >> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>> Changeset: 6f0901527ad0 >>> Author: snorthov >>> Date: 2014-01-03 12:23 -0500 >>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>> >>> RT-35147: [Android, Ensemble8] App should react to hardware buttons >>> on Android >>> Reviewed-by: snorthov >>> Contributed-by: Stefan Fuchs >>> >>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>> >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >>> ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>> >> >> > From hang.vo at oracle.com Fri Jan 3 14:02:29 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 22:02:29 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35172: Add unit test for batching large number of runLater operations Message-ID: <20140103220426.627D36238B@hg.openjdk.java.net> Changeset: acc894d665a6 Author: kcr Date: 2014-01-03 13:53 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/acc894d665a6 RT-35172: Add unit test for batching large number of runLater operations + tests/system/src/test/java/com/sun/javafx/application/RunLaterTest.java ! tests/system/src/test/java/util/Util.java From hang.vo at oracle.com Fri Jan 3 14:02:25 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 03 Jan 2014 22:02:25 +0000 Subject: hg: openjfx/8/graphics/rt: RT-35171: Update the JDK 8 build number to b122 in rt/build.properties file in the JavaFX 8 Master forest. Message-ID: <20140103220455.7731F6238C@hg.openjdk.java.net> Changeset: 44acc56c806e Author: mv157916 Date: 2014-01-03 13:32 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/44acc56c806e RT-35171: Update the JDK 8 build number to b122 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties From kevin.rushforth at oracle.com Fri Jan 3 14:11:54 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 03 Jan 2014 14:11:54 -0800 Subject: [8u] Post-commit review: RT-35172: Add unit test for batching large number of runLater operations Message-ID: <52C735AA.4020203@oracle.com> Anthony & Steve, If you are interested, I added a unit test for batching large numbers of runLater operations (as a follow up to RT-21569 ), which in FX 8 works on Windows platforms only because of the InvokeLaterDispatcher. JIRA: https://javafx-jira.kenai.com/browse/RT-35172 Changeset: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/acc894d665a6 As I wrote in the JIRA: While instrumenting the code, a comment indicates that for SWT embedding, the InvokeLaterDispatcher is disabled, so this might be an issue on Windows in that mode. Perhaps a follow-up issue is in order, although in practice I'm not sure we have ever seen this failure. -- Kevin From jeff at reportmill.com Fri Jan 3 14:45:20 2014 From: jeff at reportmill.com (Jeff Martin) Date: Fri, 3 Jan 2014 16:45:20 -0600 Subject: Very poor performance of JavaFX on iPhone - 6 months later In-Reply-To: <52C732BA.1080008@oracle.com> References: <52C732BA.1080008@oracle.com> Message-ID: <7CC0395D-E3BF-4D59-B869-0D30F376E2BF@reportmill.com> I noticed the high-dpi problem on a high-end MacBook Pro Retina. Took me by surprise for JavaOne demos since I usually use an external monitor (non-retina). I ended up switching to low dpi. jeff On Jan 3, 2014, at 3:59 PM, Stephen F Northover wrote: > Hi Tobias, > > Sorry about that. > > Looking at the bug, it seems to me that we have gotten to the bottom of it. Some iOS devices are scrolling fine while others are slower. The difference seems to be that high dpi disables optimizations and this causes the slowness on iOS. The same optimizations are disabled on the desktop, but the desktop is much faster and people don't notice. There was some discussion about performance in the simulator, but we should ignore that. Performance on the device is what matters. > > iOS and Android are not currently supported platforms for JavaFX. We are looking towards the community to step up and submit patches to take these ports forward. Johan Vos and others are helping with Android. Are you interested in working on iOS? If so, please build on the patches in https://javafx-jira.kenai.com/browse/RT-31453 and take the work forward. > > The first step would be to prove that we can be fast (which I think we can if we run with the optimizations) then understand how to turn the optimizations back on. > > Steve > > On 2014-01-03 3:28 PM, Tobias Bley wrote: >> Hi, >> >> many months ago I reported the ?poor performance on iOS? issue (https://javafx-jira.kenai.com/browse/RT-31453). Now 6 months later the bug is already open and no one of Oracle answers me on Jira. >> >> What?s up? How can we fix this important bug? >> >> Best, >> Tobi >> > From steve.x.northover at oracle.com Fri Jan 3 16:04:34 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 03 Jan 2014 19:04:34 -0500 Subject: Very poor performance of JavaFX on iPhone - 6 months later In-Reply-To: <7CC0395D-E3BF-4D59-B869-0D30F376E2BF@reportmill.com> References: <52C732BA.1080008@oracle.com> <7CC0395D-E3BF-4D59-B869-0D30F376E2BF@reportmill.com> Message-ID: <52C75012.40900@oracle.com> Hi Jeff, Please add your weight to the JIRA (indicate the hardware you are using). A fix for the desktop should also fix the problem on iOS. Steve On 2014-01-03 5:45 PM, Jeff Martin wrote: > I noticed the high-dpi problem on a high-end MacBook Pro Retina. Took me by surprise for JavaOne demos since I usually use an external monitor (non-retina). I ended up switching to low dpi. > > jeff > > > On Jan 3, 2014, at 3:59 PM, Stephen F Northover wrote: > >> Hi Tobias, >> >> Sorry about that. >> >> Looking at the bug, it seems to me that we have gotten to the bottom of it. Some iOS devices are scrolling fine while others are slower. The difference seems to be that high dpi disables optimizations and this causes the slowness on iOS. The same optimizations are disabled on the desktop, but the desktop is much faster and people don't notice. There was some discussion about performance in the simulator, but we should ignore that. Performance on the device is what matters. >> >> iOS and Android are not currently supported platforms for JavaFX. We are looking towards the community to step up and submit patches to take these ports forward. Johan Vos and others are helping with Android. Are you interested in working on iOS? If so, please build on the patches in https://javafx-jira.kenai.com/browse/RT-31453 and take the work forward. >> >> The first step would be to prove that we can be fast (which I think we can if we run with the optimizations) then understand how to turn the optimizations back on. >> >> Steve >> >> On 2014-01-03 3:28 PM, Tobias Bley wrote: >>> Hi, >>> >>> many months ago I reported the ?poor performance on iOS? issue (https://javafx-jira.kenai.com/browse/RT-31453). Now 6 months later the bug is already open and no one of Oracle answers me on Jira. >>> >>> What?s up? How can we fix this important bug? >>> >>> Best, >>> Tobi >>> From james.graham at oracle.com Fri Jan 3 16:24:47 2014 From: james.graham at oracle.com (Jim Graham) Date: Fri, 03 Jan 2014 16:24:47 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: <52C6F238.1070300@oracle.com> References: <52C6EED7.2070503@oracle.com> <52C6F238.1070300@oracle.com> Message-ID: <52C754CF.6000609@oracle.com> Some key points hidden in the shadows here... We have direct rendering shaders for simple objects like rects, ovals, roundrects, simple single lines. We can handle simple strokes on those with only the stroke width being customized (must use an expected join, cap, no dashing). Text is done with a grayscale bitmap cache. We also have LCD glyph caches as well on the GPU. I'd have to check to see how much we cache stroked text vs. using a default shape fill. These shaders can deal with most fills, except if you have too many colors in your gradients then we have to manually compute the colors, but I believe we still use a shader to merge the colors with the coverage and get the result on to the screen (I can dig in the code and check if it matters - I think the max colors are like 16). Besides those, we render other things like Polygons, Polylines, Path, SVGPath using a native version of Pisces and caching the masks on the GPU. The masks will be invalidated when the path changes in any way, and for any transform change other than a translate (I believe). This is done as a grayscale texture and is separate from the kind of caching done when you select a Node's cache hint (that hint will result in a full-color cache that will be rendered with a simple blit operation and can cache effects and other node attributes in addition to just shape coverage). On the table is for someone to create a mechanism similar to the NV_PATH rendering extension that lets us feed the path to the GPU and use stencils to render it at hardware speeds. Unfortunately, the nVidia extension requires an nVidia GPU and only works on OpenGL, but I believe that much of that is due to them accelerating path stroking on the GPU. We could probably at least use similar techniques to their extension to do fills and rely on our existing code to convert strokes to fill paths to couple with it. Their techniques require certain stencil modes that are not universal so some investigation needs to be done to see how widely any of these techniques could be supported on either/both of D3D and OGL (and embedded). Did you want a comparison to Java2D or were you more interested in just what FX can do? I'd have to do some digging to figure out what parts of this aren't handled in J2D... ...jim On 1/3/14 9:24 AM, Kevin Rushforth wrote: > A couple other thoughts. > > 1) JavaFX doesn't use software loops for the actual rendering as long as > the card is capable of supporting Prism. We do mix HW and SW in that we > generate masks from a path in SW, but we cache that on the card and > render it using shaders. > > 2) JavaFX can support Intel HD on Windows (something in the way Java2D > uses D3D exposes a bug in Intel's driver so it is disabled). > > Jim can probably come up with more. > > -- Kevin > > > Stephen F Northover wrote: >> Hi Ryan, >> >> I'll let others describe hardware acceleration in AWT/Swing but in >> JavaFX, D3D and ES2 shaders are used to draw. These run directly on >> the graphics card and render data that is downloaded there. Because >> JavaFX has a scene graph, it has a notion of what has been changed and >> can render only a subset of the scene graph nodes. >> >> This is a very high level description of JavaFX but captures the >> essence of what is happening. Any other FX committers want to comment? >> >> Steve >> >> On 2014-01-01 1:39 PM, Ryan Cuprak wrote: >>> What is the difference between hardware acceleration in JavaFX >>> versus Swing/AWT? I heard a while back someone claim that Swing/AWT >>> could never fully leverage hardware acceleration. However there are >>> the usual mix of -D parameters (sun.java2.opengl/sun.java2d.d3d, >>> etc.) for Swing/AWT. So I am just wondering how JavaFX?s acceleration >>> differs from the hardware acceleration in Swing. When I was giving a >>> talk at a JUG meeting someone called me out on the hardware >>> acceleration bit and I realized I didn?t fully understand the >>> differences between the two. >>> >>> I understand that JavaFX has a scene graph and Swing doesn?t etc. >>> So I am assuming that the scene graph operations are optimized on the >>> GPU whereas if you were trying to replicate a scene graph in Swing >>> you would obviously be doing all the work on the CPU. So Swing?s >>> hardware acceleration is more about buffers? >>> >>> I did come across this article: >>> https://weblogs.java.net/blog/opinali/archive/2010/05/03/first-long-look-javafx-13-and-prism >>> >>> Specifically this line caught my attention "Prism finally renders >>> effects with full hardware acceleration and without the extra buffer >>> copies that spoil effects on the Swing toolkit.? >>> This article is a dated - brings up a second question about >>> hardware acceleration with a hybrid Swing/JavaFX application - what >>> happens? >>> >>> Thanks, >>> -Ryan >> From james.graham at oracle.com Fri Jan 3 16:32:18 2014 From: james.graham at oracle.com (Jim Graham) Date: Fri, 03 Jan 2014 16:32:18 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: References: <52C6EED7.2070503@oracle.com> <52C6F238.1070300@oracle.com> Message-ID: <52C75692.6070406@oracle.com> Chien answered some of these, but here are my answers (inline)... On 1/3/14 9:40 AM, Steve Hannah wrote: >> >> Prism. We do mix HW and SW in that we generate masks from a path in SW, >> but we cache that on the card and render it using shaders. >> >> > Can you describe roughly how the caching works? I understand that the > alpha mask is stored in OGL as a texture, but there are an infinite number > of possible paths to be masked. How many textures can be stored at once (on > say an iPhone)? I'm guessing JavaFX uses some sort of LRU caching > algorithm for these textures? As Chien mentioned, Lombard/JDK8 has a new texture management component that lets us purge textures as needed on a LRU basis. The caching tends to simply just validate the cached mask on every Shape node that has a cached mask on every frame and it sometimes finds that the texture needs to be recreated if we are running low. Worst case, the cached texture needs to be recreated on every frame. > I ask this because I've been playing around directly with the Pisces C > library directly to generate alpha masks and render them using shaders. I > can see a performance increase of 4x in using alpha masks rather than full > argb pixels (due to 1 byte per pixel instead of 4), but I'm curious about > other savings that JavaFX makes with this method. Are you referring to the C version of Pisces in the FX sources? Actually, there are 2 currently in the FX source base. There is one version (which has both a Java and native port) of the Pisces renderer that historically came from OpenJDK which got its version from an embedded port of Java that didn't use Ductus. It is used by the D3D and OGL pipelines. The second version came in when the SW pipeline was added recently, it went back to the original source base that had Pisces integrated with a full set of rendering loops and it brought that whole package in to be a complete rendering solution. So there may be some divergence between the two versions of the rasterizer given the circuitous history of how the version used by D3D/OGL got into the FX source base and the fact that there was some work done on both versions since they diverged back in the OpenJDK early days. I'd be curious to see your work and how it might help us to have some tighter integration between the rasterizers and the OGL/D3D shaders... ...jim From james.graham at oracle.com Fri Jan 3 16:36:15 2014 From: james.graham at oracle.com (Jim Graham) Date: Fri, 03 Jan 2014 16:36:15 -0800 Subject: Very poor performance of JavaFX on iPhone - 6 months later In-Reply-To: <52C75012.40900@oracle.com> References: <52C732BA.1080008@oracle.com> <7CC0395D-E3BF-4D59-B869-0D30F376E2BF@reportmill.com> <52C75012.40900@oracle.com> Message-ID: <52C7577F.8090201@oracle.com> The following Jira is more precisely aimed at the scrolling optimizations that were disabled for Retina: https://javafx-jira.kenai.com/browse/RT-27959 ...jim On 1/3/14 4:04 PM, Stephen F Northover wrote: > Hi Jeff, > > Please add your weight to the JIRA (indicate the hardware you are > using). A fix for the desktop should also fix the problem on iOS. > > Steve > > On 2014-01-03 5:45 PM, Jeff Martin wrote: >> I noticed the high-dpi problem on a high-end MacBook Pro Retina. Took >> me by surprise for JavaOne demos since I usually use an external >> monitor (non-retina). I ended up switching to low dpi. >> >> jeff >> >> >> On Jan 3, 2014, at 3:59 PM, Stephen F Northover >> wrote: >> >>> Hi Tobias, >>> >>> Sorry about that. >>> >>> Looking at the bug, it seems to me that we have gotten to the bottom >>> of it. Some iOS devices are scrolling fine while others are slower. >>> The difference seems to be that high dpi disables optimizations and >>> this causes the slowness on iOS. The same optimizations are disabled >>> on the desktop, but the desktop is much faster and people don't >>> notice. There was some discussion about performance in the >>> simulator, but we should ignore that. Performance on the device is >>> what matters. >>> >>> iOS and Android are not currently supported platforms for JavaFX. We >>> are looking towards the community to step up and submit patches to >>> take these ports forward. Johan Vos and others are helping with >>> Android. Are you interested in working on iOS? If so, please build >>> on the patches in https://javafx-jira.kenai.com/browse/RT-31453 and >>> take the work forward. >>> >>> The first step would be to prove that we can be fast (which I think >>> we can if we run with the optimizations) then understand how to turn >>> the optimizations back on. >>> >>> Steve >>> >>> On 2014-01-03 3:28 PM, Tobias Bley wrote: >>>> Hi, >>>> >>>> many months ago I reported the ?poor performance on iOS? issue >>>> (https://javafx-jira.kenai.com/browse/RT-31453). Now 6 months later >>>> the bug is already open and no one of Oracle answers me on Jira. >>>> >>>> What?s up? How can we fix this important bug? >>>> >>>> Best, >>>> Tobi >>>> > From steve at weblite.ca Fri Jan 3 16:51:05 2014 From: steve at weblite.ca (Steve Hannah) Date: Fri, 3 Jan 2014 16:51:05 -0800 Subject: JavaFX versus AWT/Swing Hardware Acceleration In-Reply-To: <52C75692.6070406@oracle.com> References: <52C6EED7.2070503@oracle.com> <52C6F238.1070300@oracle.com> <52C75692.6070406@oracle.com> Message-ID: > > > Are you referring to the C version of Pisces in the FX sources? Actually, > there are 2 currently in the FX source base. I'm working with the native Pisces code located in modules/graphics/src/main/native-prism/* I'm just making a 2D graphics API similar in functionality to java.awt.Graphics2D, but using Open GL ES2 to do the rendering. That pisces code is nice because it is self-contained, and hence very portable. My target platform is iOS --- I've been spending quite a bit of time lately going through the JavaFX code to try to wrap my head around how it works. Your description of the caching mechanisms here is very helpful. It confirms some of my assumptions and sheds a little bit of new light for me on the subject. Best regards Steve From tomas.brandalik at oracle.com Sat Jan 4 12:31:46 2014 From: tomas.brandalik at oracle.com (tomas.brandalik at oracle.com) Date: Sat, 04 Jan 2014 21:31:46 +0100 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C73308.20104@oracle.com> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> <52C73308.20104@oracle.com> Message-ID: <52C86FB2.1040904@oracle.com> Hi, back button is really tricky one. I don't think that for javafx apps it should map to how back button works in native android applications. On Android it moves to previous activity or exits (if the last activity has been reached) in webkit it goes one page back but this is not that important now. In our case we have always only one activity (FXActivity which doesn't do much just prepares surface for opengl and resends touch or key presses to glass) We don't spawn new activities. 1. Back button should close dialogs by default. 2. Back button should be handled by the application itself and if not consumed by application it should go to exit (probably with a default yes/no dialog) I have problem to get notification if the back button had been handled by the javafx application. That's the main problem :( -Tomas On 01/03/2014 11:00 PM, Stephen F Northover wrote: > If you feel that further work needs to be done here, please enter a > JIRA and include this discussion. > > Thanks, > Steve > > On 2014-01-03 2:43 PM, Stefan Fuchs wrote: >> Hi, >> >> well, the back button is always used to go back one dialog level, >> until the start screen has be reached. (Dialogs are canceled, >> browsers go to previous website, etc...) >> If you press the back button on the start screen of the app, I found >> three different strategies to handle the back button: >> 1. Exit the app on first button press (examples: WhatsApp, Google Maps) >> 2. Hide the app on first button press and let the system kill the >> application, if system memory is exhausted. (examples: FireFox, Chrome) >> 3. Exit the app on second button press (note that most apps using >> this strategy print a notice message, after the first key press, >> which is currently not implemented for Ensemble8) (examples: Samsungs >> App Store) >> >> Stefan >> >> >> Stephen F Northover wrote: >>> Hi Alex, >>> >>> Samples were changed to support Android. Apparently, hitting escape >>> twice should exit an application and this behavior was coded into >>> EnsembleApp. I'm not an Android guy but if this is standard Android >>> behavior, it should be part of JFX, not the example code. >>> >>> Anyhow, I'll let Stefan or Johan comment on this and they can enter >>> a follow on JIRA. >>> >>> Steve >>> >>> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>>> Changeset: 6f0901527ad0 >>>> Author: snorthov >>>> Date: 2014-01-03 12:23 -0500 >>>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>>> >>>> RT-35147: [Android, Ensemble8] App should react to hardware buttons >>>> on Android >>>> Reviewed-by: snorthov >>>> Contributed-by: Stefan Fuchs >>>> >>>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>>> >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >>>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>>> >>> >>> >> > From tbee at tbee.org Sat Jan 4 12:57:00 2014 From: tbee at tbee.org (Tom Eugelink) Date: Sat, 04 Jan 2014 21:57:00 +0100 Subject: JavaFX on headless Jenkins Message-ID: <52C8759C.3020000@tbee.org> I'm trying to run JavaFX UI tests using TestFX on a headless Jenkins server (Ubuntu / Debian). I've gotten to the point where the UI is actually started by Jenkins, but then the test fail with a "no suitable pipeline found". Any suggestions how to fix that? :*test* Executing task ':test' (up-to-date check took 0.054 secs) due to: No history is available. Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtras8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain Successfully started process 'Gradle Worker 1' Gradle Worker 1 executing tests. jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR Graphics Device initialization failed for : es2, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) ... 1 more Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) at java.lang.Thread.run(Thread.java:744) From johan at lodgon.com Sun Jan 5 11:17:39 2014 From: johan at lodgon.com (Johan Vos) Date: Sun, 5 Jan 2014 20:17:39 +0100 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C86FB2.1040904@oracle.com> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> <52C73308.20104@oracle.com> <52C86FB2.1040904@oracle.com> Message-ID: I am not sure I completely understand the context, but I agree that the JavaFX apps on Android are different from the native apps since we have only 1 activity. There are a number of rules that have to be followed before an app is considered for the Play store: http://developer.android.com/distribute/googleplay/quality/core.html What about this policy: JavaFX Applications themselves are responsible for doing the right thing when back-button is pressed (e.g. close dialogs). In case the JavaFX Application considers the back-button to be "the final" one (e.g. a back-button is pressed while the "root-scene" is shown, it calls Platform.exit() (on the JavaFX Thread). We can detect this in FXActivity (or at least in DalvikLauncher, where we launched the thread), and close the application. Perhaps I am missing something here, since this sounds too easy? - Johan 2014/1/4 tomas.brandalik at oracle.com > Hi, > back button is really tricky one. I don't think that for javafx apps it > should map to how back button works in native android applications. On > Android it moves to previous activity or exits (if the last activity has > been reached) in webkit it goes one page back but this is not that > important now. > In our case we have always only one activity (FXActivity which doesn't do > much just prepares surface for opengl and resends touch or key presses to > glass) We don't spawn new activities. > > 1. Back button should close dialogs by default. > 2. Back button should be handled by the application itself and if not > consumed by application it should go to exit (probably with a default > yes/no dialog) > I have problem to get notification if the back button had been handled by > the javafx application. That's the main problem :( > > -Tomas > > > On 01/03/2014 11:00 PM, Stephen F Northover wrote: > >> If you feel that further work needs to be done here, please enter a JIRA >> and include this discussion. >> >> Thanks, >> Steve >> >> On 2014-01-03 2:43 PM, Stefan Fuchs wrote: >> >>> Hi, >>> >>> well, the back button is always used to go back one dialog level, until >>> the start screen has be reached. (Dialogs are canceled, browsers go to >>> previous website, etc...) >>> If you press the back button on the start screen of the app, I found >>> three different strategies to handle the back button: >>> 1. Exit the app on first button press (examples: WhatsApp, Google Maps) >>> 2. Hide the app on first button press and let the system kill the >>> application, if system memory is exhausted. (examples: FireFox, Chrome) >>> 3. Exit the app on second button press (note that most apps using this >>> strategy print a notice message, after the first key press, which is >>> currently not implemented for Ensemble8) (examples: Samsungs App Store) >>> >>> Stefan >>> >>> >>> Stephen F Northover wrote: >>> >>>> Hi Alex, >>>> >>>> Samples were changed to support Android. Apparently, hitting escape >>>> twice should exit an application and this behavior was coded into >>>> EnsembleApp. I'm not an Android guy but if this is standard Android >>>> behavior, it should be part of JFX, not the example code. >>>> >>>> Anyhow, I'll let Stefan or Johan comment on this and they can enter a >>>> follow on JIRA. >>>> >>>> Steve >>>> >>>> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>>> >>>>> Changeset: 6f0901527ad0 >>>>> Author: snorthov >>>>> Date: 2014-01-03 12:23 -0500 >>>>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>>>> >>>>> RT-35147: [Android, Ensemble8] App should react to hardware buttons on >>>>> Android >>>>> Reviewed-by: snorthov >>>>> Contributed-by: Stefan Fuchs >>>>> >>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>>>> >>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/ >>>>> SamplePageContent.java >>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/ >>>>> SourceTab.java >>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/util/ >>>>> FeatureChecker.java >>>>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>>>> >>>>> >>>> >>>> >>> >> > From snfuchs at gmx.de Sun Jan 5 13:16:54 2014 From: snfuchs at gmx.de (Stefan Fuchs) Date: Sun, 05 Jan 2014 22:16:54 +0100 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> <52C73308.20104@oracle.com> <52C86FB2.1040904@oracle.com> Message-ID: <52C9CBC6.8040700@gmx.de> Well, if we build some automatic back button handling into FXActivity, I wouldn't call Platform.exit() directly. It should be enough to close the root scene. According to the JavaFX Application lifecycle http://docs.oracle.com/javafx/2/api/javafx/application/Application.html closing the last application window exits the application. This would allow the application to hook into close events, like when the window close button or Alt-F4 had been hit on other platforms. But otherwise, I agree, that it is that easy. Stefan Johan Vos wrote: > I am not sure I completely understand the context, but I agree that the > JavaFX apps on Android are different from the native apps since we have > only 1 activity. > There are a number of rules that have to be followed before an app is > considered for the Play store: > http://developer.android.com/distribute/googleplay/quality/core.html > > What about this policy: JavaFX Applications themselves are responsible for > doing the right thing when back-button is pressed (e.g. close dialogs). > In case the JavaFX Application considers the back-button to be "the final" > one (e.g. a back-button is pressed while the "root-scene" is shown, it > calls Platform.exit() (on the JavaFX Thread). We can detect this in > FXActivity (or at least in DalvikLauncher, where we launched the thread), > and close the application. > > Perhaps I am missing something here, since this sounds too easy? > > - Johan > > > 2014/1/4 tomas.brandalik at oracle.com > >> Hi, >> back button is really tricky one. I don't think that for javafx apps it >> should map to how back button works in native android applications. On >> Android it moves to previous activity or exits (if the last activity has >> been reached) in webkit it goes one page back but this is not that >> important now. >> In our case we have always only one activity (FXActivity which doesn't do >> much just prepares surface for opengl and resends touch or key presses to >> glass) We don't spawn new activities. >> >> 1. Back button should close dialogs by default. >> 2. Back button should be handled by the application itself and if not >> consumed by application it should go to exit (probably with a default >> yes/no dialog) >> I have problem to get notification if the back button had been handled by >> the javafx application. That's the main problem :( >> >> -Tomas >> >> >> On 01/03/2014 11:00 PM, Stephen F Northover wrote: >> >>> If you feel that further work needs to be done here, please enter a JIRA >>> and include this discussion. >>> >>> Thanks, >>> Steve >>> >>> On 2014-01-03 2:43 PM, Stefan Fuchs wrote: >>> >>>> Hi, >>>> >>>> well, the back button is always used to go back one dialog level, until >>>> the start screen has be reached. (Dialogs are canceled, browsers go to >>>> previous website, etc...) >>>> If you press the back button on the start screen of the app, I found >>>> three different strategies to handle the back button: >>>> 1. Exit the app on first button press (examples: WhatsApp, Google Maps) >>>> 2. Hide the app on first button press and let the system kill the >>>> application, if system memory is exhausted. (examples: FireFox, Chrome) >>>> 3. Exit the app on second button press (note that most apps using this >>>> strategy print a notice message, after the first key press, which is >>>> currently not implemented for Ensemble8) (examples: Samsungs App Store) >>>> >>>> Stefan >>>> >>>> >>>> Stephen F Northover wrote: >>>> >>>>> Hi Alex, >>>>> >>>>> Samples were changed to support Android. Apparently, hitting escape >>>>> twice should exit an application and this behavior was coded into >>>>> EnsembleApp. I'm not an Android guy but if this is standard Android >>>>> behavior, it should be part of JFX, not the example code. >>>>> >>>>> Anyhow, I'll let Stefan or Johan comment on this and they can enter a >>>>> follow on JIRA. >>>>> >>>>> Steve >>>>> >>>>> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>>>> >>>>>> Changeset: 6f0901527ad0 >>>>>> Author: snorthov >>>>>> Date: 2014-01-03 12:23 -0500 >>>>>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>>>>> >>>>>> RT-35147: [Android, Ensemble8] App should react to hardware buttons on >>>>>> Android >>>>>> Reviewed-by: snorthov >>>>>> Contributed-by: Stefan Fuchs >>>>>> >>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>>>>> >>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/ >>>>>> SamplePageContent.java >>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/ >>>>>> SourceTab.java >>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/util/ >>>>>> FeatureChecker.java >>>>>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>>>>> >>>>>> >>>>> From tomas.brandalik at oracle.com Mon Jan 6 05:54:40 2014 From: tomas.brandalik at oracle.com (tomas.brandalik) Date: Mon, 06 Jan 2014 14:54:40 +0100 Subject: Android Port: Next Steps In-Reply-To: References: <52B4B65F.4020605@oracle.com> <52C5CAB4.1010406@oracle.com> Message-ID: <52CAB5A0.2020900@oracle.com> Hi Steve, if you're using new Android studio then resolving dex max method limit issue won't be so easy. Android studio is based on gradle build system with android gradle plugin which doesn't allow modifying of dex task to generate more .dex files. You have to stick with good old ant for now. -Tomas On 01/03/2014 06:41 PM, Johan Vos wrote: > Thanks Steve, that makes sense. > I'll be back in the Android/JavaFX world in a few days, and will work on > this. > About the dex-max-method-references: that is a known issue that is fixed if > you use the gradle script in android-tools. Explanation and how-to-fix at > https://bitbucket.org/javafxports/android/issue/5/compiling-ensemble8-fails-because-of-dex > > - Johan > > > > 2014/1/2 Stephen F Northover > >> Hi Johan, >> >> I looked and the kinds of changes that you are making in >> https://bitbucket.org/javafxports/android-graphics-rt and I can see that >> they fall into a number of different categories: >> >> 1) JDK8 Language Features >> >> - work arounds for ObservableList default methods >> - work arounds for the use of lambda (in test and example code) >> - work arounds for the lack of final declarations (in test and example >> code) >> >> I have entered https://javafx-jira.kenai.com/browse/RT-35165 to track the >> defender method problem. >> >> Eventually, OpenJFX will embrace lambda expressions and it is likely that >> iOS and Android will need to use RetroLambda. When we embrace lambda, >> there will be a JIRA that covers the work and you an watch progress there. >> In the meantime, you could look into RetroLambda now and see if it will >> help you. Since it works on byte codes, you won't be able to step in the >> debugger because the source won't match the executable. This might not be >> an issue for you. ASIDE: I've attempted to build the code under Android >> Studio and it runs out of method handles in dex during compile. Any ideas? >> >> In the case of final declarations, I think that there are so few of them >> right now that we can just fix them as then sneak in. You will need to >> keep track of them as they happen. Eventually, if you earn commit rights, >> you can just fix them. >> >> 2) JDK8 Library (modules/compat/src) >> >> - missing classes and annotations (such as FunctionalInterface) >> - missing API in JDK7 classes (I thought I had gotten rid of these) >> >> This code is not part of OpenJFX and should not be in the repo. Instead, >> you need to maintain and build the code somewhere else and make a jar >> available as part of your build. For example, when OpenJFX is built, it >> gets the SWT jar from Eclipse.org. You will need to do something similar >> when OpenJFX for Android or iOS is built. >> >> 3) Android Build Files and Tools (android-tools and more) >> >> - files like dalvik.gradle and shell scripts etc. >> >> Some of this is being tracked by >> https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that you enter >> JIRA for each part that you want moved over. For example, android-tools is >> not covered by this JIRA. >> >> 4) Android Specific Files (New and Changed files) >> >> - src/dalvik >> - android.h, LensApplication.c etc. >> >> You will need to enter JIRA for these. I'm not sure which changes are >> needed and which are not. FX embedded committers will need to go over the >> changes as Android and Lens share the same code. >> >> 5) "Unnecessary Changes" >> >> - these are mostly due to being out of sync with OpenJFX >> - some of these are related to FunctionalInterface which you should add to >> your JDK8 compat library >> >> As more of your code moves over to OpenJFX, the list of changes here will >> become zero. I suggest that you browse all the changes that you have and >> get rid of as many as you can while preparing patches for OpenJFX. >> >> Best of luck Johan! Our goal is to bootstrap you port as quickly as we >> can subject to the rules of the OpenJDK which we must follow. Please enter >> JIRA as necessary to track your work and we can interact there. >> >> Happy New Year! >> >> Steve >> >> On 2013-12-31 3:47 AM, Johan Vos wrote: >> >> Steve, >> >> The main issue is currently getting bootstrapped. If we want to build the >> Dalvik-runtime using open-jfx, we need a location on where to put the >> dalvik files. This is what I tried to describe in >> https://javafx-jira.kenai.com/browse/RT-35123 >> >> Please note that we're not really doing an Android port, but a Dalvik >> port. The (excellent) work done by Oracle in the past allowed for both >> using Dalvik as well as an Oracle-internal VM. There are no indications >> that the latter is ever going to fly, so I don't want to have an >> abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do >> hope there will be other VM's (Oracle VM and more) later, as that will make >> it easier to have Java 8 and so on, but right now we have to stick with >> what we have (dalvik). >> >> Without these files, we can supply patches for existing files in >> open-jfx, but by no means we can build the runtime. I do understand it is >> not trivial to "add" a directory for the sake of a port, but then, a port >> is not trivial as well. I'm open to all suggestions. >> The longer we wait, however, with synchronizing the bitbucket repo with >> the open-jfx repo, the harder it gets. Right now, I have no other option >> than committing all changes in the bitbucket repo, as I need to be able to >> build a runtime. We had 419 downloads of the runtime in 10 days, so clearly >> there are people interested in this. >> >> - Johan >> >> >> 2013/12/20 Stephen F Northover >> >>> Hi Johan, >>> >>> This is very good news. We need to work together so that you are able to >>> run OpenJFX unmodified. This may not be practical for all sorts of >>> reasons, but we need to seriously explore this and work towards this goal. >>> Please open JIRA for the various problems you are seeing and we can try to >>> deal with them there and on this list. >>> >>> Thanks, >>> Steve >>> >>> >>> On 2013-12-20 12:56 PM, Johan Vos wrote: >>> >>>> Hi, >>>> >>>> As you might know, 2 months ago I started a community effort for >>>> "porting" >>>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>>> runtime, which can be downloaded at >>>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>>> instructions on how to build applications at >>>> >>>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>>> >>>> Building the runtime itself is explained at >>>> >>>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>>> >>>> At this moment, most of the Ensemble suite runs on Android (positive >>>> reports starting with Android 3.x). >>>> >>>> The downloadable runtime is created using the bitbucket project at >>>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>>> changes >>>> made in openjfx-graphics should be in the Android runtime as well. >>>> >>>> There are a number of issues left: >>>> * touch map issues causing applications to crash if "touched too much". I >>>> created a JIRA ticket for this and will create another one (related, but >>>> not same cause) later. >>>> * Java 7 only. Currently, applications cannot make use of Java 8 >>>> features. >>>> Dalvik has no invokedynamic, so we can't do lambda's. >>>> * we just started, so there will be plenty of other bugs. >>>> >>>> We are also spending efforts in documentation and community interaction. >>>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>>> of >>>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>>> been >>>> downloaded 60 times since it was released a couple of hours ago. So there >>>> is definitely community interest and involvement. >>>> Clearly, there is involvement from Oracle as well. Most of the effort so >>>> far has been done by Tomas Brandalik and the Prague team. I was >>>> positively >>>> surprised to see the amount of native code that was already available for >>>> Android. >>>> >>>> After a few discussions, it has been agreed that we should try to >>>> synchronize as much as possible with the OpenJFX repositories, without >>>> jeopardizing the stability and performance of the main ports, and without >>>> running into legal trouble. >>>> >>>> I will run a diff on the current code versus the OpenJFX code, and I will >>>> try to create issues with patches for sending the changes back to >>>> OpenJFX. >>>> Not all changes can go back to OpenJFX. We had to add a number of classes >>>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>>> can't commit those in OpenJFX. >>>> >>>> We had to make a number of changes to JavaFX files as well, in order to >>>> make them compile with JDK 1.7. Most of these were about removing >>>> Function >>>> and adding implementations for the default interface methods on >>>> ObservableList. >>>> I have no clear opinion on how these changed files could somehow be used >>>> from within OpenJFX, but I'm very open to suggestions. >>>> >>>> Finally, keep in mind that this is a community effort. Nobody is paying >>>> for >>>> this, and it is done in our spare time. I'm doing my best to move forward >>>> as soon as I can, but I have other things to work on as well of course. >>>> However, the collaboration between the Java community and Oracle (mainly >>>> Tomas) has been great so far. It is in the interest of anyone working on >>>> or >>>> with Java to show the world that JavaFX runs on Android devices. >>>> >>>> - Johan >>>> >>> >> From hang.vo at oracle.com Mon Jan 6 08:33:52 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 06 Jan 2014 16:33:52 +0000 Subject: hg: openjfx/8u-dev/rt: TOYS ONLY: Add quit button to HelloSanity Message-ID: <20140106163532.8509F623E2@hg.openjdk.java.net> Changeset: 29e103b816cb Author: snorthov Date: 2014-01-06 11:26 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/29e103b816cb TOYS ONLY: Add quit button to HelloSanity ! apps/toys/Hello/src/main/java/hello/HelloSanity.java From hang.vo at oracle.com Mon Jan 6 01:34:27 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 06 Jan 2014 09:34:27 +0000 Subject: hg: openjfx/8/graphics/rt: RT-34744 [Touch, Lens] Scrolling is only possible using scroll bars Message-ID: <20140106093615.7355C623DB@hg.openjdk.java.net> Changeset: 5aca75258738 Author: Rafi Tayar Date: 2014-01-06 11:23 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/5aca75258738 RT-34744 [Touch, Lens] Scrolling is only possible using scroll bars Reviewed-by: dblaukop kcr jgiles ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ListViewSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableViewSkinBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java From richard.bair at oracle.com Mon Jan 6 08:19:19 2014 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 6 Jan 2014 08:19:19 -0800 Subject: scenebuilder and migpane In-Reply-To: <52C708E4.5080408@tbee.org> References: <52C67E82.1080502@tbee.org> <52C708E4.5080408@tbee.org> Message-ID: <5D9CACF4-17ED-49FD-ADFA-DB526BFDDD59@oracle.com> > MigLayout is a very popular layout engine in Swing and SWT (and also gaining ground on Android), I think it would be good for SceneBuilder to better support MigLayout. +1, I?d love to see enough support in SceneBuilder that any 3rd party layout container could supply editor support, so that the SceneBuilder team doesn?t have to hard code support for different layout containers. This was one of the goals of the ?Design Time API for Java Beans? JSR (273, or 277? I don?t remember) to do the same for Swing. We haven?t got that far with Scene Builder but I think the idea is great. MigLayout is widely used enough that we could just add hard-coded support for it (maybe you or another person could contribute that?). Ideally it would be something any 3rd party layout vendor could provide ? but in practice there are not that many widely used 3rd party layouts ? even in the Swing world. Richard From David.Hill at Oracle.com Mon Jan 6 08:36:03 2014 From: David.Hill at Oracle.com (David Hill) Date: Mon, 06 Jan 2014 11:36:03 -0500 Subject: JavaFX on headless Jenkins In-Reply-To: <52C8759C.3020000@tbee.org> References: <52C8759C.3020000@tbee.org> Message-ID: <52CADB73.40407@Oracle.com> On 1/4/14, Jan 4, 3:57 PM, Tom Eugelink wrote: > I'm trying to run JavaFX UI tests using TestFX on a headless Jenkins server (Ubuntu / Debian). I've gotten to the point where the UI is actually started by Jenkins, but then the test fail with a "no suitable pipeline found". Any suggestions how to fix that? This has long been a challenge with FX. I even modified Glass/Lens to get a headless with a VNC option working on Linux & Mac (Windows probably needed a little porting). This has never been a priority though, only a casual hobby. Daniel is working on a refresh of Glass/Lens that may make it even easier to do headless (as a side effect). If there is any interest, I can provide more information on the current Glass/Lens headless. Dave > > :*test* > Executing task ':test' (up-to-date check took 0.054 secs) due to: > No history is available. > Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtras8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain > Successfully started process 'Gradle Worker 1' > Gradle Worker 1 executing tests. > > jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR > Graphics Device initialization failed for : es2, sw > Error initializing QuantumRenderer: no suitable pipeline found > java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found > at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) > at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) > at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) > at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) > at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) > at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) > at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) > at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found > at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) > at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) > ... 1 more > Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found > at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) > at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) > at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) > at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) > at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) > at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) > at java.lang.Thread.run(Thread.java:744) > > -- David Hill Java Embedded Development "On a clear disk, you can seek forever." From steve.x.northover at oracle.com Mon Jan 6 08:35:48 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Mon, 06 Jan 2014 11:35:48 -0500 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C9CBC6.8040700@gmx.de> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> <52C73308.20104@oracle.com> <52C86FB2.1040904@oracle.com> <52C9CBC6.8040700@gmx.de> Message-ID: <52CADB64.2040704@oracle.com> I like the sound of this. Applications need to know when they are exiting to save data. Steve On 2014-01-05 4:16 PM, Stefan Fuchs wrote: > Well, if we build some automatic back button handling into FXActivity, > I wouldn't call Platform.exit() directly. > It should be enough to close the root scene. According to the JavaFX > Application lifecycle > http://docs.oracle.com/javafx/2/api/javafx/application/Application.html closing > the last application window exits the application. This would allow > the application to hook into close events, like when the window close > button or Alt-F4 had been hit on other platforms. > > But otherwise, I agree, that it is that easy. > > Stefan > > Johan Vos wrote: >> I am not sure I completely understand the context, but I agree that the >> JavaFX apps on Android are different from the native apps since we have >> only 1 activity. >> There are a number of rules that have to be followed before an app is >> considered for the Play store: >> http://developer.android.com/distribute/googleplay/quality/core.html >> >> What about this policy: JavaFX Applications themselves are >> responsible for >> doing the right thing when back-button is pressed (e.g. close dialogs). >> In case the JavaFX Application considers the back-button to be "the >> final" >> one (e.g. a back-button is pressed while the "root-scene" is shown, it >> calls Platform.exit() (on the JavaFX Thread). We can detect this in >> FXActivity (or at least in DalvikLauncher, where we launched the >> thread), >> and close the application. >> >> Perhaps I am missing something here, since this sounds too easy? >> >> - Johan >> >> >> 2014/1/4 tomas.brandalik at oracle.com >> >>> Hi, >>> back button is really tricky one. I don't think that for javafx apps it >>> should map to how back button works in native android applications. On >>> Android it moves to previous activity or exits (if the last activity >>> has >>> been reached) in webkit it goes one page back but this is not that >>> important now. >>> In our case we have always only one activity (FXActivity which >>> doesn't do >>> much just prepares surface for opengl and resends touch or key >>> presses to >>> glass) We don't spawn new activities. >>> >>> 1. Back button should close dialogs by default. >>> 2. Back button should be handled by the application itself and if not >>> consumed by application it should go to exit (probably with a default >>> yes/no dialog) >>> I have problem to get notification if the back button had been >>> handled by >>> the javafx application. That's the main problem :( >>> >>> -Tomas >>> >>> >>> On 01/03/2014 11:00 PM, Stephen F Northover wrote: >>> >>>> If you feel that further work needs to be done here, please enter a >>>> JIRA >>>> and include this discussion. >>>> >>>> Thanks, >>>> Steve >>>> >>>> On 2014-01-03 2:43 PM, Stefan Fuchs wrote: >>>> >>>>> Hi, >>>>> >>>>> well, the back button is always used to go back one dialog level, >>>>> until >>>>> the start screen has be reached. (Dialogs are canceled, browsers >>>>> go to >>>>> previous website, etc...) >>>>> If you press the back button on the start screen of the app, I found >>>>> three different strategies to handle the back button: >>>>> 1. Exit the app on first button press (examples: WhatsApp, Google >>>>> Maps) >>>>> 2. Hide the app on first button press and let the system kill the >>>>> application, if system memory is exhausted. (examples: FireFox, >>>>> Chrome) >>>>> 3. Exit the app on second button press (note that most apps using >>>>> this >>>>> strategy print a notice message, after the first key press, which is >>>>> currently not implemented for Ensemble8) (examples: Samsungs App >>>>> Store) >>>>> >>>>> Stefan >>>>> >>>>> >>>>> Stephen F Northover wrote: >>>>> >>>>>> Hi Alex, >>>>>> >>>>>> Samples were changed to support Android. Apparently, hitting escape >>>>>> twice should exit an application and this behavior was coded into >>>>>> EnsembleApp. I'm not an Android guy but if this is standard Android >>>>>> behavior, it should be part of JFX, not the example code. >>>>>> >>>>>> Anyhow, I'll let Stefan or Johan comment on this and they can >>>>>> enter a >>>>>> follow on JIRA. >>>>>> >>>>>> Steve >>>>>> >>>>>> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>>>>> >>>>>>> Changeset: 6f0901527ad0 >>>>>>> Author: snorthov >>>>>>> Date: 2014-01-03 12:23 -0500 >>>>>>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>>>>>> >>>>>>> RT-35147: [Android, Ensemble8] App should react to hardware >>>>>>> buttons on >>>>>>> Android >>>>>>> Reviewed-by: snorthov >>>>>>> Contributed-by: Stefan Fuchs >>>>>>> >>>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>>>>>> ! >>>>>>> apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>>>>>> ! >>>>>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>>>>>> >>>>>>> >>>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/ >>>>>>> SamplePageContent.java >>>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/ >>>>>>> SourceTab.java >>>>>>> ! apps/samples/Ensemble8/src/app/java/ensemble/util/ >>>>>>> FeatureChecker.java >>>>>>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>>>>>> >>>>>>> >>>>>> > From richard.bair at oracle.com Mon Jan 6 08:20:28 2014 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 6 Jan 2014 08:20:28 -0800 Subject: properties of custom controls in SceneBuilder In-Reply-To: References: <52C68A64.5090009@tbee.org> Message-ID: <1AA330C4-F44E-4053-8970-8B674DFA07B4@oracle.com> If somebody else wanted to contribute, where should they go looking for those limitations and how to remove them? Or is it very deeply embedded in the code? On Jan 3, 2014, at 2:15 AM, Eric Le Ponner wrote: > Yes, SB currently makes a filtering : for custom components, it displays: > - properties that are inherited from JavaFX core classes > - properties with basic java types (integer, double, string, boolean). > > We'll try to remove some of those limitations over the time. > > Eric > > > Le 3 janv. 2014 ? 11:01, Tom Eugelink a ?crit : > >> >> Adding the controls in JFXtras to SceneBuilder worked without a problem, but scene builder does not show all their properties. For example CalendarTextField has 5 properties like Locale, Calendar, DateFormat, but only "promptText" is shown by SceneBuilder. >> >> >> >> > From richard.bair at oracle.com Mon Jan 6 08:45:20 2014 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 6 Jan 2014 08:45:20 -0800 Subject: properties of custom controls in SceneBuilder In-Reply-To: <8BC020D0-685C-4FDF-846A-09231E09E7AF@oracle.com> References: <52C68A64.5090009@tbee.org> <1AA330C4-F44E-4053-8970-8B674DFA07B4@oracle.com> <8BC020D0-685C-4FDF-846A-09231E09E7AF@oracle.com> Message-ID: Thanks! On Jan 6, 2014, at 8:33 AM, Eric Le Ponner wrote: > I would say it's deeply embedded. > > SB2 currently defines a fixed list of "property classes" that can be edited in the Inspector panel. > Extending this list with a new type means: > - adding some specific metadata that help Scene Builder to edit/create FXML text > - adding some specific UI logic that enables the Inspector panel to present and let the user edit the value > Doing this requires a pretty deep understanding of SB2 architecture. > > Eric > > > > Le 6 janv. 2014 ? 17:20, Richard Bair a ?crit : > >> If somebody else wanted to contribute, where should they go looking for those limitations and how to remove them? Or is it very deeply embedded in the code? >> >> On Jan 3, 2014, at 2:15 AM, Eric Le Ponner wrote: >> >>> Yes, SB currently makes a filtering : for custom components, it displays: >>> - properties that are inherited from JavaFX core classes >>> - properties with basic java types (integer, double, string, boolean). >>> >>> We'll try to remove some of those limitations over the time. >>> >>> Eric >>> >>> >>> Le 3 janv. 2014 ? 11:01, Tom Eugelink a ?crit : >>> >>>> >>>> Adding the controls in JFXtras to SceneBuilder worked without a problem, but scene builder does not show all their properties. For example CalendarTextField has 5 properties like Locale, Calendar, DateFormat, but only "promptText" is shown by SceneBuilder. >>>> >>>> >>>> >>>> >>> >> > From eric.le.ponner at oracle.com Mon Jan 6 08:33:04 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Mon, 6 Jan 2014 17:33:04 +0100 Subject: properties of custom controls in SceneBuilder In-Reply-To: <1AA330C4-F44E-4053-8970-8B674DFA07B4@oracle.com> References: <52C68A64.5090009@tbee.org> <1AA330C4-F44E-4053-8970-8B674DFA07B4@oracle.com> Message-ID: <8BC020D0-685C-4FDF-846A-09231E09E7AF@oracle.com> I would say it's deeply embedded. SB2 currently defines a fixed list of "property classes" that can be edited in the Inspector panel. Extending this list with a new type means: - adding some specific metadata that help Scene Builder to edit/create FXML text - adding some specific UI logic that enables the Inspector panel to present and let the user edit the value Doing this requires a pretty deep understanding of SB2 architecture. Eric Le 6 janv. 2014 ? 17:20, Richard Bair a ?crit : > If somebody else wanted to contribute, where should they go looking for those limitations and how to remove them? Or is it very deeply embedded in the code? > > On Jan 3, 2014, at 2:15 AM, Eric Le Ponner wrote: > >> Yes, SB currently makes a filtering : for custom components, it displays: >> - properties that are inherited from JavaFX core classes >> - properties with basic java types (integer, double, string, boolean). >> >> We'll try to remove some of those limitations over the time. >> >> Eric >> >> >> Le 3 janv. 2014 ? 11:01, Tom Eugelink a ?crit : >> >>> >>> Adding the controls in JFXtras to SceneBuilder worked without a problem, but scene builder does not show all their properties. For example CalendarTextField has 5 properties like Locale, Calendar, DateFormat, but only "promptText" is shown by SceneBuilder. >>> >>> >>> >>> >> > From richard.bair at oracle.com Mon Jan 6 08:16:25 2014 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 6 Jan 2014 08:16:25 -0800 Subject: JavaFX on headless Jenkins In-Reply-To: <52C8759C.3020000@tbee.org> References: <52C8759C.3020000@tbee.org> Message-ID: <69DC9881-DD10-4B8D-B941-DF150A4C2129@oracle.com> Hi Tom! On Jan 4, 2014, at 12:57 PM, Tom Eugelink wrote: > I'm trying to run JavaFX UI tests using TestFX on a headless Jenkins server (Ubuntu / Debian). I've gotten to the point where the UI is actually started by Jenkins, but then the test fail with a "no suitable pipeline found". Any suggestions how to fix that? This was one of my long-standing TODO items: have a ?headless? glass that would allow us to run quantum / prism tests headless. However for running scene graph or UI control tests, you should be using the ?StubToolkit? instead of QuantumToolkit. The StubToolkit is located in Graphics/src/test, so for using it for 3rd party tests (like JFXtras) you would need to jar up the classes produced during a test run of FX. Then just specify the stub toolkit via -Djavafx.toolkit=com.sun.javafx.pgstub.StubToolkit Now, longer term I wanted to nuke the StubToolkit. If we had a headless Glass then we could test with Prism/Quantum directly instead of the stubs. But this isn?t straightforward so it hasn?t been attempted yet. Hope that helps. Richard > > :*test* > Executing task ':test' (up-to-date check took 0.054 secs) due to: > No history is available. > Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtras8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain > Successfully started process 'Gradle Worker 1' > Gradle Worker 1 executing tests. > > jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR > Graphics Device initialization failed for : es2, sw > Error initializing QuantumRenderer: no suitable pipeline found > java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found > at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) > at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) > at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) > at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) > at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) > at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) > at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) > at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found > at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) > at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) > ... 1 more > Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found > at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) > at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) > at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) > at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) > at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) > at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) > at java.lang.Thread.run(Thread.java:744) > > From kevin.rushforth at oracle.com Mon Jan 6 12:12:01 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 06 Jan 2014 12:12:01 -0800 Subject: JavaFX on headless Jenkins In-Reply-To: <69DC9881-DD10-4B8D-B941-DF150A4C2129@oracle.com> References: <52C8759C.3020000@tbee.org> <69DC9881-DD10-4B8D-B941-DF150A4C2129@oracle.com> Message-ID: <52CB0E11.7000606@oracle.com> The headless toolkit mentioned by David and Richard is one possible approach, and may be the best long term approach depending on what you are trying to test (e.g., it won't test rendering, but might be fine for most of your tests), but as Richard notes, it isn't there yet. If you prefer not to wait for that, one possible solution would be to set up a Jenkinks slave to be headful (may need to be hooked up to a keyboard/mouse or a display). You could then take a look at the system tests in rt/tests/system for examples of how we run headful tests. I don't know how feasible this would be for you. Still another option is to use the oft-maligned StubToolkit (it stubs out all of Quantum and Prism), which all of our tests in the graphics and controls modules in JavaFX use. This isn't distributed (see https://javafx-jira.kenai.com/browse/RT-35010), but can easily be built from source. -- Kevin Richard Bair wrote: > Hi Tom! > > On Jan 4, 2014, at 12:57 PM, Tom Eugelink wrote: > > >> I'm trying to run JavaFX UI tests using TestFX on a headless Jenkins server (Ubuntu / Debian). I've gotten to the point where the UI is actually started by Jenkins, but then the test fail with a "no suitable pipeline found". Any suggestions how to fix that? >> > > This was one of my long-standing TODO items: have a ?headless? glass that would allow us to run quantum / prism tests headless. However for running scene graph or UI control tests, you should be using the ?StubToolkit? instead of QuantumToolkit. The StubToolkit is located in Graphics/src/test, so for using it for 3rd party tests (like JFXtras) you would need to jar up the classes produced during a test run of FX. Then just specify the stub toolkit via -Djavafx.toolkit=com.sun.javafx.pgstub.StubToolkit > > Now, longer term I wanted to nuke the StubToolkit. If we had a headless Glass then we could test with Prism/Quantum directly instead of the stubs. But this isn?t straightforward so it hasn?t been attempted yet. > > Hope that helps. > Richard > > >> :*test* >> Executing task ':test' (up-to-date check took 0.054 secs) due to: >> No history is available. >> Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtras8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain >> Successfully started process 'Gradle Worker 1' >> Gradle Worker 1 executing tests. >> >> jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR >> Graphics Device initialization failed for : es2, sw >> Error initializing QuantumRenderer: no suitable pipeline found >> java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found >> at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) >> at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) >> at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) >> at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) >> at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) >> at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) >> at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) >> at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found >> at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) >> at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) >> ... 1 more >> Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found >> at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) >> at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) >> at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) >> at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) >> at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) >> at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) >> at java.lang.Thread.run(Thread.java:744) >> >> >> > > From tbee at tbee.org Mon Jan 6 12:13:42 2014 From: tbee at tbee.org (Tom Eugelink) Date: Mon, 06 Jan 2014 21:13:42 +0100 Subject: JavaFX on headless Jenkins In-Reply-To: <52CADB73.40407@Oracle.com> References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> Message-ID: <52CB0E75.2000602@tbee.org> Yes please, I've got Jenkins setup so it starts a vncserver and it runs on linux, so I'm interesting in the option you mention (as long as it doesn't require too many hoops I need to jump through). Tom On 2014-1-6 17:36, David Hill wrote: > On 1/4/14, Jan 4, 3:57 PM, Tom Eugelink wrote: >> I'm trying to run JavaFX UI tests using TestFX on a headless Jenkins server (Ubuntu / Debian). I've gotten to the point where the UI is actually started by Jenkins, but then the test fail with a "no suitable pipeline found". Any suggestions how to fix that? > > This has long been a challenge with FX. I even modified Glass/Lens to get a headless with a VNC option working on Linux & Mac (Windows probably needed a little porting). This has never been a priority though, only a casual hobby. > > Daniel is working on a refresh of Glass/Lens that may make it even easier to do headless (as a side effect). > > If there is any interest, I can provide more information on the current Glass/Lens headless. > > Dave >> >> :*test* >> Executing task ':test' (up-to-date check took 0.054 secs) due to: >> No history is available. >> Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtras8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain >> Successfully started process 'Gradle Worker 1' >> Gradle Worker 1 executing tests. >> >> jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR >> Graphics Device initialization failed for : es2, sw >> Error initializing QuantumRenderer: no suitable pipeline found >> java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found >> at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) >> at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) >> at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) >> at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) >> at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) >> at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) >> at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) >> at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found >> at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) >> at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) >> ... 1 more >> Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found >> at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) >> at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) >> at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) >> at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) >> at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) >> at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) >> at java.lang.Thread.run(Thread.java:744) >> >> > > From hang.vo at oracle.com Mon Jan 6 12:17:33 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 06 Jan 2014 20:17:33 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35123: [Android] Add or update Dalvik code to support launching and other native activities Message-ID: <20140106201806.57A78623EA@hg.openjdk.java.net> Changeset: 4078e10d9e6a Author: snorthov Date: 2014-01-06 15:12 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4078e10d9e6a RT-35123: [Android] Add or update Dalvik code to support launching and other native activities Reviewed-by: snorthov Contributed-by: Johan Vos + modules/graphics/src/dalvik/java/javafxports/android/DalvikLauncher.java + modules/graphics/src/dalvik/java/javafxports/android/FXActivity.java + modules/graphics/src/dalvik/java/javafxports/android/Launcher.java + modules/graphics/src/dalvik/native/EventLoop.c + modules/graphics/src/dalvik/native/EventLoop.h + modules/graphics/src/dalvik/native/Events.c + modules/graphics/src/dalvik/native/Events.h + modules/graphics/src/dalvik/native/activity.c + modules/graphics/src/dalvik/native/logging.h From eric.le.ponner at oracle.com Mon Jan 6 12:24:37 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Mon, 6 Jan 2014 21:24:37 +0100 Subject: scenebuilder and migpane In-Reply-To: <5D9CACF4-17ED-49FD-ADFA-DB526BFDDD59@oracle.com> References: <52C67E82.1080502@tbee.org> <52C708E4.5080408@tbee.org> <5D9CACF4-17ED-49FD-ADFA-DB526BFDDD59@oracle.com> Message-ID: <60C57B2E-ABA7-450F-B9A8-CEC5DD18BFDF@oracle.com> Le 6 janv. 2014 ? 17:19, Richard Bair a ?crit : >> MigLayout is a very popular layout engine in Swing and SWT (and also gaining ground on Android), I think it would be good for SceneBuilder to better support MigLayout. > > +1, I?d love to see enough support in SceneBuilder that any 3rd party layout container could supply editor support, so that the SceneBuilder team doesn?t have to hard code support for different layout containers. This was one of the goals of the ?Design Time API for Java Beans? JSR (273, or 277? I don?t remember) to do the same for Swing. We haven?t got that far with Scene Builder but I think the idea is great. The idea is great I agree. However defining an API that opens the user interactive gestures of a tool like SB is not a trivial task. And FXML brings some additional complexity. IMHO the "Design Time API" from JSR 273 would require several amendments to be implementable in the context of SB. May be for SB 4.0 ?? ;) > MigLayout is widely used enough that we could just add hard-coded support for it (maybe you or another person could contribute that?). Ideally it would be something any 3rd party layout vendor could provide ? but in practice there are not that many widely used 3rd party layouts ? even in the Swing world. In the middle term, I think hard-coded support is probably the best option, I think. > > Richard Eric From aminetengilimoglu at gmail.com Mon Jan 6 13:30:53 2014 From: aminetengilimoglu at gmail.com (Amine Tengilimoglu) Date: Mon, 6 Jan 2014 23:30:53 +0200 Subject: How I do connect two panes? Message-ID: I want to connect two panes. panes are dragable so: I need dinamic line... Which API should I look at? ? am waiting for answers...thanx From aminetengilimoglu at gmail.com Mon Jan 6 13:45:52 2014 From: aminetengilimoglu at gmail.com (Amine Tengilimoglu) Date: Mon, 6 Jan 2014 23:45:52 +0200 Subject: How to draw line to connect Two components at run time? Message-ID: Hi; I met a problem and need urgent help from you here, I am new in javafx ... draw lines between any two components(are panes) at RUN-TIME, not at design time pls advice how to do it? From daniel.blaukopf at oracle.com Mon Jan 6 13:48:33 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Mon, 6 Jan 2014 23:48:33 +0200 Subject: [8u] Code Review Request - RT-34951: Provide a way to exit when the screen is first rendered Message-ID: <0675D761-50D0-4082-BD67-E8304465439B@oracle.com> Hi Kevin, Please review this extension to PulseLogger to exit after processing a given number of pulses. This is for benchmarking VM startup time using FX samples. https://javafx-jira.kenai.com/browse/RT-34951 http://cr.openjdk.java.net/~dblaukop/webrev-20140106-2341-RT-34951/webrev/ Thanks, Daniel From steve.x.northover at oracle.com Mon Jan 6 13:51:33 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Mon, 06 Jan 2014 16:51:33 -0500 Subject: How to draw line to connect Two components at run time? In-Reply-To: References: Message-ID: <52CB2565.20408@oracle.com> Investigate SplitPane? Not sure what the question is. Steve On 2014-01-06 4:45 PM, Amine Tengilimoglu wrote: > Hi; > > I met a problem and need urgent help from you here, I am new in javafx ... > draw lines between any two components(are panes) at RUN-TIME, not at design > time > > pls advice how to do it? From hang.vo at oracle.com Mon Jan 6 14:18:26 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 06 Jan 2014 22:18:26 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35196 Fix IntelliJ configuration files for version 13 Message-ID: <20140106221848.2655D623FB@hg.openjdk.java.net> Changeset: 881be4494731 Author: Daniel Blaukopf Date: 2014-01-07 00:12 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/881be4494731 RT-35196 Fix IntelliJ configuration files for version 13 Reviewed-by: snorthov ! .idea/gradle.xml ! .idea/vcs.xml From matthieu at brouillard.fr Mon Jan 6 14:49:50 2014 From: matthieu at brouillard.fr (Matthieu BROUILLARD) Date: Mon, 6 Jan 2014 23:49:50 +0100 Subject: JavaFX on headless Jenkins In-Reply-To: <52CB0E75.2000602@tbee.org> References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> <52CB0E75.2000602@tbee.org> Message-ID: On the linux nodes on travis.org xvfb is used to mimic a GUI environment on headless nodes. Have a look at : http://about.travis-ci.org/docs/user/gui-and-headless-browsers/ you might be probably able to do something like that on your linux box. Matthieu From delphist007 at gmail.com Mon Jan 6 17:09:48 2014 From: delphist007 at gmail.com (Roman Besolov) Date: Tue, 07 Jan 2014 05:09:48 +0400 Subject: SceneBuilder build instructions Message-ID: <52CB53DC.1090608@gmail.com> Hi! Is there a manual how to build SceneBuilder? I'm trying to run gradle "apps" task, but scenebuilder doesn't builds. I'm using linux, gradle 1.8 and latest jdk1.8 build (b121). After dirty hack, by adding next lines to the sampleAppsJar task into "/apps/build.xml" file: i got "SceneBuilderApp.jar" in "apps/scenebuilder/SceneBuilderApp/dist" directory. After that I was able to run SceneBuilder with the following command: java -cp ./SceneBuilderApp.jar:../../SceneBuilderKit/dist/SceneBuilderKit.jar com.oracle.javafx.scenebuilder.app.SceneBuilderApp Is there a simpler way to build and run SceneBuilder? Thanks, -Roman From tbee at tbee.org Mon Jan 6 21:58:38 2014 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 07 Jan 2014 06:58:38 +0100 Subject: JavaFX on headless Jenkins In-Reply-To: References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> <52CB0E75.2000602@tbee.org> Message-ID: <52CB978E.4060005@tbee.org> Ok. I saw xfvb passing by, but most blogs talked about xvnc, I'll give that a spin. Thanks. Tom BTW: the Travis environment keeps reporting errors; it has trouble downloading one of the supporting jar from maven. On 2014-1-6 23:49, Matthieu BROUILLARD wrote: > On the linux nodes on travis.org xvfb is used to mimic a GUI environment on headless nodes. > Have a look at : http://about.travis-ci.org/docs/user/gui-and-headless-browsers/ you might be probably able to do something like that on your linux box. > > Matthieu From tbee at tbee.org Mon Jan 6 22:01:35 2014 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 07 Jan 2014 07:01:35 +0100 Subject: scenebuilder and migpane In-Reply-To: <5D9CACF4-17ED-49FD-ADFA-DB526BFDDD59@oracle.com> References: <52C67E82.1080502@tbee.org> <52C708E4.5080408@tbee.org> <5D9CACF4-17ED-49FD-ADFA-DB526BFDDD59@oracle.com> Message-ID: <52CB983F.7060302@tbee.org> On 2014-1-6 17:19, Richard Bair wrote: >> MigLayout is a very popular layout engine in Swing and SWT (and also gaining ground on Android), I think it would be good for SceneBuilder to better support MigLayout. > +1, I?d love to see enough support in SceneBuilder that any 3rd party layout container could supply editor support, so that the SceneBuilder team doesn?t have to hard code support for different layout containers. This was one of the goals of the ?Design Time API for Java Beans? JSR (273, or 277? I don?t remember) to do the same for Swing. We haven?t got that far with Scene Builder but I think the idea is great. MigLayout is widely used enough that we could just add hard-coded support for it (maybe you or another person could contribute that?). Ideally it would be something any 3rd party layout vendor could provide ? but in practice there are not that many widely used 3rd party layouts ? even in the Swing world. > Sure, if I can get some help getting started. (Aka if somebody tells me which class needs implementing and -reading that one post- how to build SceneBuilder, I'll bring the MigPane knowledge to the party.) Tom From hang.vo at oracle.com Tue Jan 7 01:03:32 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 07 Jan 2014 09:03:32 +0000 Subject: hg: openjfx/8u-dev/rt: RT-34951 Provide property to exit when when the screen is first rendered Message-ID: <20140107090356.409C162411@hg.openjdk.java.net> Changeset: 6958ed0ddda5 Author: Daniel Blaukopf Date: 2014-01-07 10:52 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6958ed0ddda5 RT-34951 Provide property to exit when when the screen is first rendered Reviewed-by: kcr ! modules/base/src/main/java/com/sun/javafx/logging/PulseLogger.java From martin.sladecek at oracle.com Tue Jan 7 01:49:41 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Tue, 07 Jan 2014 10:49:41 +0100 Subject: Review request: RT-35015,[ScrollPane] ScrollPane can leave trails of horizontal lines. Message-ID: <52CBCDB5.2050209@oracle.com> Jim, Jonathan, please review: http://cr.openjdk.java.net/~msladecek/rt-35015/webrev.00/ JIRA: https://javafx-jira.kenai.com/browse/RT-35015 Thanks, -Martin From hjohn at xs4all.nl Tue Jan 7 02:30:40 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Tue, 07 Jan 2014 11:30:40 +0100 Subject: Future of Skins Message-ID: <52CBD750.30906@xs4all.nl> Hi List, I'm wondering if Skins in their current form are "finished" or that more changes are still likely to come. The Skin interface is public, and SkinBase is as well. Unfortunately, it seems that even though SkinBase is treated differently by JavaFX from regular Skins, the opportunity was not used to give SkinBase an initialize method and make Skins truly reusable. The reason I'm asking is because I'm developing a control that would greatly benefit from customizable and switchable skins, which differs quite a bit from the use patterns I've seen so far for Controls in JavaFX (I don't think any of them has more than one Skin out of the box). My control would need: - Multiple different layouts, each with potentially different (CSS) properties to customize the chosen layout further (the properties would only make sense for the given layout (or skin)). - Easy switching between different layouts - Highly customizable (possibility to override methods in the layouts or provide custom code for certain parts of the rendering) I've been looking into providing this with Skins, but I keep bumping into odd choices made, especially related to their resuability. As far as I know, a Skin is created with a reference to the control it is supposed to Skin -- at this time the Skin (if it is a SkinBase) apparently has done all kinds of stuff to the control, whether setSkin is called or not.... ehr?? Then later you are supposed to call setSkin on the control with the newly created Skin... which is apparently an almost optional step, unless it is not a SkinBase...? - What happens when I create the Skin but donot call setSkin? --> Undefined, depends on whether or not it is extended from SkinBase (?)... SkinBase skins seem to make this step almost optional. - What happens when I call setSkin on a different control with this Skin? --> Depends on whether or not SkinBase is extended. Would break controls in most situations -- no check is done if getSkinnable matches AFAICS. - What happens when a disposed skin is setSkin'ned again? --> Seems to break most controls, no check is done if getSkinnable is null AFAICS. This arrangement where the Skin class must be constructed with some parameter that must later match with the setSkin feels incredibly fragile to me. It would be far nicer if a Skin was simply given an initialize method (which would also nicely match the dispose method) that takes the Skinnable as a parameter. This initialization can be enforced in the setSkin method. There is even a remark in the code about this: // Note I do not remove any children here, because the // skin will have already configured all the children // by the time setSkin has been called. This is because // our Skin interface was lacking an initialize method (doh!) // and so the Skin constructor is where it adds listeners // and so forth. For SkinBase implementations, the // constructor is also where it will take ownership of // the children. Would it not have been a better idea to add an #initialize method to SkinBase if the code has two paths for "legacy" Skins and SkinBase skins anyway? Or a Skin2 interface with the extra method + instanceof check? Or Java8 default #initialize method which does nothing by default? Any of those would open up Skins to be far easier to use by making them reusable. I really want to be able to do something like this: ComboBox comboBox = new ComboBox<>(FXCollections.observableArrayList( new Skin1(), new Skin2(), new Skin3(), new SubClassOfSkin1(Color.RED)), new Skin2() { // with some methods overriden } )); Then bind those simply with: myControl.skinProperty().bind(comboBox.getSelectionModel().selectedItemProperty()); This would allow a ComboBox to control the Skin of another Control, because skins are reusable AND donot require knowledge of the control they are Skinning at construction time. This is currently not possible without creating somekind of SkinFactory and a ChangeListener on the ComboBox that does something like: myControl.setSkin(skinFactory.create(myControl)); This problem gets worse when you also want to customize the Skins a bit. All the customization must be done in the SkinFactory part, every time the Skin is switched. With reusable skins, they can just be configured once. So I'm left with a bit of a choice. Do I make multiple Skins and a bunch of Factories? Or do I simply create just one fixed Skin that just delegates everything it does to a second light-weight Skinning mechanism that is easier to switch, customize and extend? --John From hang.vo at oracle.com Tue Jan 7 03:18:44 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 07 Jan 2014 11:18:44 +0000 Subject: hg: openjfx/8/graphics/rt: Sync up SceneBuilder changes Message-ID: <20140107112005.7B24462418@hg.openjdk.java.net> Changeset: 423cf238579d Author: Yves Joan Date: 2014-01-07 12:06 +0100 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/423cf238579d Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ScenicViewStarter.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesDialogController.java - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/SBPreferences.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtilsBase.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UsePredefinedSizeJob.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeShadow.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ColumnResizePolicyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/EffectPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/Rectangle2DPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/Rectangle2DPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialog.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMBuilderFactory.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMImageBuilder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyC.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyT.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/ResourceKeyCollector.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientClassLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientObject.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/missing-image.png ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EffectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ImagePropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/KeyCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BlendPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BloomPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BoxBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ColorAdjustPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ColorInputPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/DropShadowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/EffectPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/GaussianBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/GlowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ImageInputPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/InnerShadowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/LightingPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/MotionBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/PerspectiveTransformPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ReflectionPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/SepiaTonePropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ShadowPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/GradientEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PrefixedValue.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/URLUtils.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/BlendPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/ColorInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPathItem.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.css + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPickerController.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/ImageInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/LightingPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/SingleInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/Utils.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/CheckBoxEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/CheckBoxEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/EnumEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/EnumEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/ImageEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/ImageEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/NumFieldEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/NumFieldEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/SliderEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/SliderEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Blend.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Bloom.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/BoxBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ColorAdjust.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ColorInput.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/DisplacementMap.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/DropShadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/GaussianBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Glow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ImageInput.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/InnerShadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Lighting.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/MotionBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/PerspectiveTransform.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Reflection.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/SepiaTone.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Shadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/selection-chevron.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditorController.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/images/chequers.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/images/stop-indicator.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/rotate-handle.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/slidereditor/SliderEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/slidereditor/SliderEditor.java From martin.sladecek at oracle.com Tue Jan 7 05:27:26 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Tue, 07 Jan 2014 14:27:26 +0100 Subject: 8u API Review request: RT-153 : [Stage] Option to keep Stages always on top Message-ID: <52CC00BE.6050301@oracle.com> Steve, Kevin, please review: https://javafx-jira.kenai.com/browse/RT-153 http://cr.openjdk.java.net/~msladecek/rt-153/webrev.00/ The only API change is adding alwaysOnTop property to Stage, which includes the following methods: public final void setAlwaysOnTop(boolean value); public final boolean isAlwaysOnTop(); public final ReadOnlyBooleanProperty alwaysOnTopProperty(); Thanks, -Martin From tomas.mikula at gmail.com Tue Jan 7 05:50:40 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Tue, 7 Jan 2014 14:50:40 +0100 Subject: Future of Skins In-Reply-To: <52CBD750.30906@xs4all.nl> References: <52CBD750.30906@xs4all.nl> Message-ID: Interesting ideas. I'm wondering, do you switch skins often enough that you are worried about performance (and thus care about reusability of skins)? Because I don't see how reusability of skins saves you lines of code - whether the code is in the constructor or in the initialize() method, it is there somewhere. In my opinion, reusing objects is more complicated than creating fresh instances and the only justification for it is performance. I agree with you on the problem of separation of skin initialization from setSkin(). Another way to address this could be deprecating the original setSkin() method and introducing setSkin(SkinProvider skinProvider); where SkinProvider is a SAM interface and thus the above method could be called like this: setSkin(control -> new MySkin(control)); I know this defeats reusability of skins altogether, so you (and others) may disagree. Just my 2 cents. Tomas On Tue, Jan 7, 2014 at 11:30 AM, John Hendrikx wrote: > Hi List, > > I'm wondering if Skins in their current form are "finished" or that more > changes are still likely to come. The Skin interface is public, and > SkinBase is as well. Unfortunately, it seems that even though SkinBase is > treated differently by JavaFX from regular Skins, the opportunity was not > used to give SkinBase an initialize method and make Skins truly reusable. > > The reason I'm asking is because I'm developing a control that would > greatly benefit from customizable and switchable skins, which differs quite > a bit from the use patterns I've seen so far for Controls in JavaFX (I > don't think any of them has more than one Skin out of the box). My control > would need: > > - Multiple different layouts, each with potentially different (CSS) > properties to customize the chosen layout further (the properties would > only make sense for the given layout (or skin)). > - Easy switching between different layouts > - Highly customizable (possibility to override methods in the layouts or > provide custom code for certain parts of the rendering) > > I've been looking into providing this with Skins, but I keep bumping into > odd choices made, especially related to their resuability. As far as I > know, a Skin is created with a reference to the control it is supposed to > Skin -- at this time the Skin (if it is a SkinBase) apparently has done all > kinds of stuff to the control, whether setSkin is called or not.... ehr?? > Then later you are supposed to call setSkin on the control with the newly > created Skin... which is apparently an almost optional step, unless it is > not a SkinBase...? > > - What happens when I create the Skin but donot call setSkin? --> > Undefined, depends on whether or not it is extended from SkinBase (?)... > SkinBase skins seem to make this step almost optional. > - What happens when I call setSkin on a different control with this Skin? > --> Depends on whether or not SkinBase is extended. Would break controls > in most situations -- no check is done if getSkinnable matches AFAICS. > - What happens when a disposed skin is setSkin'ned again? --> Seems to > break most controls, no check is done if getSkinnable is null AFAICS. > > This arrangement where the Skin class must be constructed with some > parameter that must later match with the setSkin feels incredibly fragile > to me. It would be far nicer if a Skin was simply given an initialize > method (which would also nicely match the dispose method) that takes the > Skinnable as a parameter. This initialization can be enforced in the > setSkin method. There is even a remark in the code about this: > > // Note I do not remove any children here, because the > // skin will have already configured all the children > // by the time setSkin has been called. This is because > // our Skin interface was lacking an initialize method > (doh!) > // and so the Skin constructor is where it adds listeners > // and so forth. For SkinBase implementations, the > // constructor is also where it will take ownership of > // the children. > > Would it not have been a better idea to add an #initialize method to > SkinBase if the code has two paths for "legacy" Skins and SkinBase skins > anyway? Or a Skin2 interface with the extra method + instanceof check? Or > Java8 default #initialize method which does nothing by default? > > Any of those would open up Skins to be far easier to use by making them > reusable. I really want to be able to do something like this: > > ComboBox comboBox = new ComboBox<>(FXCollections. > observableArrayList( > new Skin1(), > new Skin2(), > new Skin3(), > new SubClassOfSkin1(Color.RED)), > new Skin2() { > // with some methods overriden > } > )); > > Then bind those simply with: > > myControl.skinProperty().bind(comboBox.getSelectionModel(). > selectedItemProperty()); > > This would allow a ComboBox to control the Skin of another Control, > because skins are reusable AND donot require knowledge of the control they > are Skinning at construction time. This is currently not possible without > creating somekind of SkinFactory and a ChangeListener on the ComboBox that > does something like: > > myControl.setSkin(skinFactory.create(myControl)); > > This problem gets worse when you also want to customize the Skins a bit. > All the customization must be done in the SkinFactory part, every time the > Skin is switched. With reusable skins, they can just be configured once. > > So I'm left with a bit of a choice. Do I make multiple Skins and a bunch > of Factories? Or do I simply create just one fixed Skin that just > delegates everything it does to a second light-weight Skinning mechanism > that is easier to switch, customize and extend? > > --John > From hjohn at xs4all.nl Tue Jan 7 07:26:24 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Tue, 07 Jan 2014 16:26:24 +0100 Subject: Future of Skins In-Reply-To: References: <52CBD750.30906@xs4all.nl> Message-ID: <52CC1CA0.5020600@xs4all.nl> On 7/01/2014 14:50, Tomas Mikula wrote: > Interesting ideas. I'm wondering, do you switch skins often enough > that you are worried about performance (and thus care about > reusability of skins)? Because I don't see how reusability of skins > saves you lines of code - whether the code is in the constructor or in > the initialize() method, it is there somewhere. In my opinion, reusing > objects is more complicated than creating fresh instances and the only > justification for it is performance. To address your last point first, if you already are required to write a proper dispose method, then fresh instances should be just as easy/hard to write as reusable ones. Everything is already in place, just rename the constructor. Of course, if you did not write a proper dispose method, then your object will stick around or cause other trouble. With fresh instances you won't notice this so readily -- in JavaFX for example, the problem of having objects that are no longer actively reachable through the SceneGraph, but are still participating in Event handling (because they registered non-weak listeners) can be a nice source of surprises. With reusable objects, you'll notice the bugs in your cleanup code likely the first time you reuse it. Anyway, for me, making Skins reusable makes them easier to use with bindings, and it ofcourse saves creating a factory. I see the "skin" of an object as the same as say its background color. There is no reason (anymore I think) that one should be treated so differently from the other. private final Skin someExistingSkin = new SkinA(); private final Skin someExistingSkin2 = new SkinB(); void changeToSquareLook() { myControl.setSkin(someExistingSkin); } void changeToRoundLook() { myControl.setSkin(someExistingSkin2); } vs. private final SkinFactory skinFactory = new SkinFactory() { public Skin createSkin(Control control) { return new SkinA(control); } }; private final SkinFactory skinFactory2 = new SkinFactory() { public Skin createSkin(Control control) { return new SkinB(control); } }; void changeToSquareLook() { myControl.setSkin(skinFactory.createSkin(myControl)); } void changeToRoundLook() { myControl.setSkin(skinFactory2.createSkin(myControl)); } It's not really about performance, but ease of use. The binding case requires a ChangeListener instead of just bind(). > I agree with you on the problem of separation of skin initialization > from setSkin(). Another way to address this could be deprecating the > original setSkin() method and introducing > > setSkin(SkinProvider skinProvider); > > where SkinProvider is a SAM interface and thus the above method could > be called like this: > > setSkin(control -> new MySkin(control)); > > I know this defeats reusability of skins altogether, so you (and > others) may disagree. Maybe if there was a "skinProviderProperty"... then I could bind to that atleast. Still introduces lots of factories (or functions). --John From David.Hill at Oracle.com Tue Jan 7 07:30:48 2014 From: David.Hill at Oracle.com (David Hill) Date: Tue, 07 Jan 2014 10:30:48 -0500 Subject: JavaFX on headless Jenkins In-Reply-To: <52CB0E75.2000602@tbee.org> References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> <52CB0E75.2000602@tbee.org> Message-ID: <52CC1DA8.1030406@Oracle.com> On 1/6/14, Jan 6, 3:13 PM, Tom Eugelink wrote: > > Yes please, I've got Jenkins setup so it starts a vncserver and it runs on linux, so I'm interesting in the option you mention (as long as it doesn't require too many hoops I need to jump through). > This will take me a day of so. It would appear that I have not touched this since the gradle switchout :-( Dave > Tom > > > On 2014-1-6 17:36, David Hill wrote: >> On 1/4/14, Jan 4, 3:57 PM, Tom Eugelink wrote: >>> I'm trying to run JavaFX UI tests using TestFX on a headless Jenkins server (Ubuntu / Debian). I've gotten to the point where the UI is actually started by Jenkins, but then the test fail with a "no suitable pipeline found". Any suggestions how to fix that? >> >> This has long been a challenge with FX. I even modified Glass/Lens to get a headless with a VNC option working on Linux & Mac (Windows probably needed a little porting). This has never been a priority though, only a casual hobby. >> >> Daniel is working on a refresh of Glass/Lens that may make it even easier to do headless (as a side effect). >> >> If there is any interest, I can provide more information on the current Glass/Lens headless. >> >> Dave >>> >>> :*test* >>> Executing task ':test' (up-to-date check took 0.054 secs) due to: >>> No history is available. >>> Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtras8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain >>> Successfully started process 'Gradle Worker 1' >>> Gradle Worker 1 executing tests. >>> >>> jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR >>> Graphics Device initialization failed for : es2, sw >>> Error initializing QuantumRenderer: no suitable pipeline found >>> java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found >>> at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) >>> at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) >>> at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) >>> at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) >>> at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) >>> at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) >>> at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) >>> at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) >>> at java.lang.Thread.run(Thread.java:744) >>> Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found >>> at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) >>> at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) >>> ... 1 more >>> Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found >>> at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) >>> at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) >>> at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) >>> at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) >>> at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) >>> at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) >>> at java.lang.Thread.run(Thread.java:744) >>> >>> >> >> > > -- David Hill Java Embedded Development "Basic research is what I am doing when I don't know what I am doing." -- Wernher von Braun (1912 - 1977) From swpalmer at gmail.com Tue Jan 7 07:51:42 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Tue, 7 Jan 2014 10:51:42 -0500 Subject: 8u API Review request: RT-153 : [Stage] Option to keep Stages always on top In-Reply-To: <52CC00BE.6050301@oracle.com> References: <52CC00BE.6050301@oracle.com> Message-ID: A couple quick questions: Why is the property Read-Only? Can the setter only be called once? Does it have to be set before the Stage is shown? Should it be an initAlwaysOnTop(boolean value)? Cheers, Scott On Tue, Jan 7, 2014 at 8:27 AM, Martin Sladecek wrote: > Steve, Kevin, > > please review: > https://javafx-jira.kenai.com/browse/RT-153 > http://cr.openjdk.java.net/~msladecek/rt-153/webrev.00/ < > http://cr.openjdk.java.net/%7Emsladecek/rt-153/webrev.00/> > > The only API change is adding alwaysOnTop property to Stage, which > includes the following methods: > > public final void setAlwaysOnTop(boolean value); > public final boolean isAlwaysOnTop(); > public final ReadOnlyBooleanProperty alwaysOnTopProperty(); > > Thanks, > -Martin > From richard.bair at oracle.com Tue Jan 7 08:04:17 2014 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 7 Jan 2014 08:04:17 -0800 Subject: Future of Skins In-Reply-To: <52CC1CA0.5020600@xs4all.nl> References: <52CBD750.30906@xs4all.nl> <52CC1CA0.5020600@xs4all.nl> Message-ID: <80343CA3-C987-44DE-B07A-470F1D5D4FC1@oracle.com> Could you write a single skin that delegates to one or more reusable skins? On Jan 7, 2014, at 7:26 AM, John Hendrikx wrote: > On 7/01/2014 14:50, Tomas Mikula wrote: >> Interesting ideas. I'm wondering, do you switch skins often enough that you are worried about performance (and thus care about reusability of skins)? Because I don't see how reusability of skins saves you lines of code - whether the code is in the constructor or in the initialize() method, it is there somewhere. In my opinion, reusing objects is more complicated than creating fresh instances and the only justification for it is performance. > > To address your last point first, if you already are required to write a proper dispose method, then fresh instances should be just as easy/hard to write as reusable ones. Everything is already in place, just rename the constructor. Of course, if you did not write a proper dispose method, then your object will stick around or cause other trouble. With fresh instances you won't notice this so readily -- in JavaFX for example, the problem of having objects that are no longer actively reachable through the SceneGraph, but are still participating in Event handling (because they registered non-weak listeners) can be a nice source of surprises. With reusable objects, you'll notice the bugs in your cleanup code likely the first time you reuse it. > > Anyway, for me, making Skins reusable makes them easier to use with bindings, and it ofcourse saves creating a factory. I see the "skin" of an object as the same as say its background color. There is no reason (anymore I think) that one should be treated so differently from the other. > > private final Skin someExistingSkin = new SkinA(); > private final Skin someExistingSkin2 = new SkinB(); > > void changeToSquareLook() { > myControl.setSkin(someExistingSkin); > } > > void changeToRoundLook() { > myControl.setSkin(someExistingSkin2); > } > > vs. > > private final SkinFactory skinFactory = new SkinFactory() { > public Skin createSkin(Control control) { > return new SkinA(control); > } > }; > > private final SkinFactory skinFactory2 = new SkinFactory() { > public Skin createSkin(Control control) { > return new SkinB(control); > } > }; > > void changeToSquareLook() { > myControl.setSkin(skinFactory.createSkin(myControl)); > } > > void changeToRoundLook() { > myControl.setSkin(skinFactory2.createSkin(myControl)); > } > > It's not really about performance, but ease of use. The binding case requires a ChangeListener instead of just bind(). > >> I agree with you on the problem of separation of skin initialization from setSkin(). Another way to address this could be deprecating the original setSkin() method and introducing >> >> setSkin(SkinProvider skinProvider); >> >> where SkinProvider is a SAM interface and thus the above method could be called like this: >> >> setSkin(control -> new MySkin(control)); >> >> I know this defeats reusability of skins altogether, so you (and others) may disagree. > Maybe if there was a "skinProviderProperty"... then I could bind to that atleast. Still introduces lots of factories (or functions). > > --John > From kevin.rushforth at oracle.com Tue Jan 7 08:06:01 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 07 Jan 2014 08:06:01 -0800 Subject: 8u API Review request: RT-153 : [Stage] Option to keep Stages always on top In-Reply-To: References: <52CC00BE.6050301@oracle.com> Message-ID: <52CC25E9.6050003@oracle.com> As a reminder, review comments should be made in JIRA. Can you add it there? -- Kevin Scott Palmer wrote: > A couple quick questions: Why is the property Read-Only? Can the setter > only be called once? Does it have to be set before the Stage is shown? > Should it be an initAlwaysOnTop(boolean value)? > > Cheers, > > Scott > > > On Tue, Jan 7, 2014 at 8:27 AM, Martin Sladecek > wrote: > > >> Steve, Kevin, >> >> please review: >> https://javafx-jira.kenai.com/browse/RT-153 >> http://cr.openjdk.java.net/~msladecek/rt-153/webrev.00/ < >> http://cr.openjdk.java.net/%7Emsladecek/rt-153/webrev.00/> >> >> The only API change is adding alwaysOnTop property to Stage, which >> includes the following methods: >> >> public final void setAlwaysOnTop(boolean value); >> public final boolean isAlwaysOnTop(); >> public final ReadOnlyBooleanProperty alwaysOnTopProperty(); >> >> Thanks, >> -Martin >> >> From tomas.mikula at gmail.com Tue Jan 7 09:11:43 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Tue, 7 Jan 2014 18:11:43 +0100 Subject: Future of Skins In-Reply-To: <52CC1CA0.5020600@xs4all.nl> References: <52CBD750.30906@xs4all.nl> <52CC1CA0.5020600@xs4all.nl> Message-ID: On Tue, Jan 7, 2014 at 4:26 PM, John Hendrikx wrote: > On 7/01/2014 14:50, Tomas Mikula wrote: > >> Interesting ideas. I'm wondering, do you switch skins often enough that >> you are worried about performance (and thus care about reusability of >> skins)? Because I don't see how reusability of skins saves you lines of >> code - whether the code is in the constructor or in the initialize() >> method, it is there somewhere. In my opinion, reusing objects is more >> complicated than creating fresh instances and the only justification for it >> is performance. >> > > To address your last point first, if you already are required to write a > proper dispose method, then fresh instances should be just as easy/hard to > write as reusable ones. Everything is already in place, just rename the > constructor. Of course, if you did not write a proper dispose method, then > your object will stick around or cause other trouble. With fresh instances > you won't notice this so readily -- in JavaFX for example, the problem of > having objects that are no longer actively reachable through the > SceneGraph, but are still participating in Event handling (because they > registered non-weak listeners) can be a nice source of surprises. With > reusable objects, you'll notice the bugs in your cleanup code likely the > first time you reuse it. > With a non-reusable skin, dispose is pretty much just removing the listeners. With a reusable instance, I suspect there is more work to reset the state of the instance (e.g. removing children, or, if you were concerned about performance, returning them to a pool of objects). So I would argue fresh instances are never more complicated than reusable ones, while the opposite is true only in simple cases. > Anyway, for me, making Skins reusable makes them easier to use with > bindings, My understanding of skins is that they are the view of the MVC pattern and that the rest of the application should not depend on the particular implementation. > and it ofcourse saves creating a factory. I see the "skin" of an object > as the same as say its background color. There is no reason (anymore I > think) that one should be treated so differently from the other. > One outstanding difference is that a skin is stateful, while a background color is stateless (immutable). Thus you can use the same instance of background color for many controls, but you cannot do that with skin instances. In this respect, a skin provider is a better analogy to background color (you can use the same skin provider with many controls). > > private final Skin someExistingSkin = new SkinA(); > private final Skin someExistingSkin2 = new SkinB(); > > void changeToSquareLook() { > myControl.setSkin(someExistingSkin); > } > > void changeToRoundLook() { > myControl.setSkin(someExistingSkin2); > } > > vs. > > private final SkinFactory skinFactory = new SkinFactory() { > public Skin createSkin(Control control) { > return new SkinA(control); > } > }; > > private final SkinFactory skinFactory2 = new SkinFactory() { > public Skin createSkin(Control control) { > return new SkinB(control); > } > }; > > void changeToSquareLook() { > myControl.setSkin(skinFactory.createSkin(myControl)); > } > > void changeToRoundLook() { > myControl.setSkin(skinFactory2.createSkin(myControl)); > } > With lambdas, the skin factories become one-liners, yielding the same total number of lines. > > It's not really about performance, but ease of use. The binding case > requires a ChangeListener instead of just bind(). > > > I agree with you on the problem of separation of skin initialization from >> setSkin(). Another way to address this could be deprecating the original >> setSkin() method and introducing >> >> setSkin(SkinProvider skinProvider); >> >> where SkinProvider is a SAM interface and thus the above method could be >> called like this: >> >> setSkin(control -> new MySkin(control)); >> >> I know this defeats reusability of skins altogether, so you (and others) >> may disagree. >> > Maybe if there was a "skinProviderProperty"... then I could bind to that > atleast. Still introduces lots of factories (or functions). > > --John > > Furthermore, neither the current state nor your proposal prevents you from doing this: Skin skin = new MySkin(); myControl1.setSkin(skin); myControl2.setSkin(skin); My proposal does not allow you to write such code. Best, Tomas From tbee at tbee.org Tue Jan 7 11:11:02 2014 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 07 Jan 2014 20:11:02 +0100 Subject: JavaFX on headless Jenkins In-Reply-To: <52CB978E.4060005@tbee.org> References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> <52CB0E75.2000602@tbee.org> <52CB978E.4060005@tbee.org> Message-ID: <52CC5146.1050302@tbee.org> Nope, Xvfb has the same problem... Xvfb starting$ /usr/bin/Xvfb :2 -screen 0 1024x768x24 -fbdir /var/lib/jenkins/2014-01-07_19-17-242962656246439721545xvfb ... :*test* Executing task ':test' (up-to-date check took 0.051 secs) due to: No history is available. Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtrasLabs8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain Successfully started process 'Gradle Worker 1' Gradle Worker 1 executing tests. jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR Graphics Device initialization failed for : es2, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300) at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244) at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128) ... 1 more Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210) at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56) at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158) at java.lang.Thread.run(Thread.java:744) jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping FAILED java.lang.RuntimeException: Unable to show stage Caused by: java.util.concurrent.TimeoutException: Timeout waiting for task. But I can start both the xvnc and Xvfb manually as user Jenkins, for example Xvfb: /jenkins at leah:~$ /usr/bin/Xvfb :2 -screen 0 1024x768x24 -fbdir /tmp// //SELinux: Disabled on system, not enabling in X server// //[dix] Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!/ Then I need to ^C to terminate Xvfb. But it does seem that your Travis environments indeed has run the tests: https://travis-ci.org/JFXtras/jfxtras-labs/builds/15810910 So the question is: how did Travis do that (since both approaches are identical)? One thing I notice is that it starts Xfvb as a service, not as an application. sh -e /etc/init.d/xvfb start But that script is not available on my Linux after installing Xvfb... Tom On 2014-1-7 6:58, Tom Eugelink wrote: > Ok. I saw xfvb passing by, but most blogs talked about xvnc, I'll give that a spin. Thanks. > > Tom > > BTW: the Travis environment keeps reporting errors; it has trouble downloading one of the supporting jar from maven. > > > On 2014-1-6 23:49, Matthieu BROUILLARD wrote: >> On the linux nodes on travis.org xvfb is used to mimic a GUI environment on headless nodes. >> Have a look at : http://about.travis-ci.org/docs/user/gui-and-headless-browsers/ you might be probably able to do something like that on your linux box. >> >> Matthieu > From matthieu at brouillard.fr Tue Jan 7 12:13:03 2014 From: matthieu at brouillard.fr (Matthieu BROUILLARD) Date: Tue, 7 Jan 2014 21:13:03 +0100 Subject: JavaFX on headless Jenkins In-Reply-To: <52CC5146.1050302@tbee.org> References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> <52CB0E75.2000602@tbee.org> <52CB978E.4060005@tbee.org> <52CC5146.1050302@tbee.org> Message-ID: For JFXtras build on travis.org, I just followed some docs pages to setup xvfb, sorry I am not a linux/unix expert and don't know how to help more. *[Stupid linux user mode activated]* If you do not have the /etc/init.d/xvfb script, can't you launch the program itself in background? *[/Stupid linux user mode activated]* Matthieu From steve.x.northover at oracle.com Tue Jan 7 13:27:51 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Tue, 07 Jan 2014 16:27:51 -0500 Subject: Bug Pass Friday Message-ID: <52CC7157.5010409@oracle.com> Hello Committers, I'd like to organize our work for 8u20 this week. Recall that 8u20 is about improving the quality of FX rather than implementing new features. https://wiki.openjdk.java.net/display/OpenJFX/8u20 Bug Owners: I suggest that we implement "Bug Pass Friday" where component owners and reviewers assess their bug backlog, clean up really old bugs that no longer apply and target the remaining bugs for either 8u20 or 9. In the case of bugs that don't have steps or sample code (and otherwise can't be reproduced), we should close them as 'Incomplete and ask nicely for more information: https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report Otherwise, please check the priority and adjust accordingly. Of course, crashes, exceptions and failed functionality tend to rate high. Component Owners: We have bugs that are unassigned or assigned to the wrong person. Component owners are asked to do a pass and ensure that all bugs that are assigned are assigned to owners or reviewers. Of course there will be exceptions and when in doubt, email the list or contact us and we will update the code ownership tables. https://wiki.openjdk.java.net/display/OpenJFX/Code+Ownership Unassigned bugs can stay that way or be assigned. It is likely that Kevin and I will do a pass on the unassigned bugs at a later time but if you know that a bug belongs to a certain person, assign it. This Tuesday is our first milestone and it will be uneventful because of the holidays. However, starting next week, we should have a good idea about the work that lies ahead and how much trouble we are in! Steve and Kevin From kevin.rushforth at oracle.com Tue Jan 7 13:39:44 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 07 Jan 2014 13:39:44 -0800 Subject: Bug Pass Friday In-Reply-To: <52CC7157.5010409@oracle.com> References: <52CC7157.5010409@oracle.com> Message-ID: <52CC7420.9080500@oracle.com> As a follow-up, here are the JIRA queries that you can use. Bug Owners: Here is a link to your FX 9 bugs (the bugs targeted to FX 9 assigned to you) : https://javafx-jira.kenai.com/issues/?jql=filter%20%3D%20%22FX%20Dev%20Bugs%20Open%22%20AND%20fixVersion%20%3D%209%20AND%20assignee%20%3D%20currentUser()%20ORDER%20BY%20assignee%20ASC%2C%20key%20ASC And, here is a link to your FX 8u20 bugs: https://javafx-jira.kenai.com/issues/?jql=filter%20%3D%20%22FX%208u20%20Dev%20Bugs%20Open%22%20AND%20assignee%20%3D%20currentUser%28%29%20ORDER%20BY%20assignee%20ASC%2C%20key%20ASC Component Owners: Here is a list is all FX 9 bugs sorted by assignee and then by Component. https://javafx-jira.kenai.com/issues/?jql=filter%20%3D%20%22FX%20Dev%20Bugs%20Open%22%20AND%20fixVersion%20%3D%209%20ORDER%20BY%20%20assignee%20ASC%2C%20component%20ASC%2Ckey%20ASC If you want to filter it by just your component then you would add "Component = Graphics" (substituting the name of your component for Graphics). You can then use this to look for unassigned bugs or bugs assigned to the wrong person in your component. -- Steve & Kevin Stephen F Northover wrote: > Hello Committers, > > I'd like to organize our work for 8u20 this week. Recall that 8u20 is > about improving the quality of FX rather than implementing new features. > > https://wiki.openjdk.java.net/display/OpenJFX/8u20 > > Bug Owners: > > I suggest that we implement "Bug Pass Friday" where component owners > and reviewers assess their bug backlog, clean up really old bugs that > no longer apply and target the remaining bugs for either 8u20 or 9. > In the case of bugs that don't have steps or sample code (and > otherwise can't be reproduced), we should close them as 'Incomplete > and ask nicely for more information: > > https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report > > Otherwise, please check the priority and adjust accordingly. Of > course, crashes, exceptions and failed functionality tend to rate high. > > Component Owners: > > We have bugs that are unassigned or assigned to the wrong person. > Component owners are asked to do a pass and ensure that all bugs that > are assigned are assigned to owners or reviewers. Of course there > will be exceptions and when in doubt, email the list or contact us and > we will update the code ownership tables. > > https://wiki.openjdk.java.net/display/OpenJFX/Code+Ownership > > Unassigned bugs can stay that way or be assigned. It is likely that > Kevin and I will do a pass on the unassigned bugs at a later time but > if you know that a bug belongs to a certain person, assign it. > > This Tuesday is our first milestone and it will be uneventful because > of the holidays. However, starting next week, we should have a good > idea about the work that lies ahead and how much trouble we are in! > > Steve and Kevin From tbee at tbee.org Tue Jan 7 13:57:30 2014 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 07 Jan 2014 22:57:30 +0100 Subject: JavaFX on headless Jenkins In-Reply-To: References: <52C8759C.3020000@tbee.org> <52CADB73.40407@Oracle.com> <52CB0E75.2000602@tbee.org> <52CB978E.4060005@tbee.org> <52CC5146.1050302@tbee.org> Message-ID: <52CC784A.1090805@tbee.org> Jenkins does that for me. On 2014-1-7 21:13, Matthieu BROUILLARD wrote: > For JFXtras build on travis.org , I just followed some docs pages to setup xvfb, sorry I am not a linux/unix expert and don't know how to help more. > > /[Stupid linux user mode activated]/ > If you do not have the /etc/init.d/xvfb script, can't you launch the program itself in background? > /[/Stupid linux user mode activated]/ > > Matthieu > From fbrunnerlist at gmx.ch Tue Jan 7 14:28:14 2014 From: fbrunnerlist at gmx.ch (Florian Brunner) Date: Tue, 07 Jan 2014 23:28:14 +0100 Subject: Regression: JavaFX 8 doesn't call listeners in Skin implementations In-Reply-To: <52C6E3E7.4070709@oracle.com> References: <2173202.R20RJOyR3f@shire> <1672471.EsyaBKZe3Y@shire> <52C6E3E7.4070709@oracle.com> Message-ID: <1517517.oMr7FVKV5d@shire> Hi Steve, Ok, I've reported the issue here: https://javafx-jira.kenai.com/browse/RT-35208 I even have a small sample application with a small custom control showing the issue, but I don't have an option to add an attachement to the issue in Jira... -Florian Am Freitag, 3. Januar 2014, 11.23:03 schrieb Stephen F Northover: > Hi Florian, > > I would enter a JIRA with the steps to make the problem happen and the > smallest possible example code that shows it. > > Thanks, > Steve > > On 2014-01-02 5:10 PM, Florian Brunner wrote: > > I also tried to add a listener directly to control.getDockingSplitPaneChildren() in case the issue is with Bindings.bindContent, but also this listener doesn't get called. > > > > member: > > > > private final ListChangeListener dockingSplitPaneChildrenListener = new ListChangeListener() { > > @Override > > public void onChanged(Change change) { > > System.out.println("Change!"); > > } > > }; > > > > ... > > > > in constructor: > > > > control.getDockingSplitPaneChildren().addListener(dockingSplitPaneChildrenListener); > > > > -Florian > > > > Am Donnerstag, 2. Januar 2014, 22.51:23 schrieb Florian Brunner: > >> Hi, > >> > >> I'm in the process of upgrading Drombler FX to JavaFX 8 and hit another regression issue: JavaFX 8 doesn't call listeners in my Skin implementation (it used to work with JavaFX 2.x !) > >> > >> Here is the Skin implementation: > >> > >> https://sourceforge.net/p/drombler/drombler-fx/ci/default/tree/drombler-fx-core-docking/src/main/java/org/drombler/fx/core/docking/impl/skin/DockingSplitPaneSkin.java > >> > >> When I add something to > >> > >> control.getDockingSplitPaneChildren() > >> > >> what should trigger the listeners, then with a debugger I can trace the call up to the WeakListChangeListener where on line 87 the listener is null. > >> > >> Note that I'm not using a WeakListChangeListener explicitly - JavaFX 8 must have created this somewhere and for some reason the listener from the Skin got lost! > >> > >> I also tried to keep a reference to my listeners as a member variable in the Skin implementation, but this didn't work either. > >> > >> I haven't filed an issue yet because I guess there is already a new way how to solve this. > >> > >> Note that I would like to solve this first with this "basic" Skin implementation and not with the new SkinBase class just yet, as I'm not familiar with that new class yet. One refactoring step at a time. ;-) > >> > >> -Florian > >> > >> > From james.graham at oracle.com Tue Jan 7 17:17:52 2014 From: james.graham at oracle.com (Jim Graham) Date: Tue, 07 Jan 2014 17:17:52 -0800 Subject: 8u20 review request: RT-35209 - errors in the diagnostics in glContext.createProgram Message-ID: <52CCA740.3060609@oracle.com> Chien, Felipe, I've made some changes to the diagnostic code in glContext.c to help track down why WebLauncher is currently failing on Mac. I need a review and perhaps some help making sure that the changes compile on other platforms... Jira: https://javafx-jira.kenai.com/browse/RT-35209 webrev: http://cr.openjdk.java.net/~flar/RT-35209/webrev.00/ ...jim From hjohn at xs4all.nl Tue Jan 7 18:34:24 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Wed, 08 Jan 2014 03:34:24 +0100 Subject: CSS metadata boilerplate Message-ID: <52CCB930.9020306@xs4all.nl> Hi List, I'm in the process of adding CSS metadata to a new control, and I noticed there is a lot of boilerplate. In order to reduce this, I've created some custom classes StyleableProperty classes (SimpleStyleableXXXProperty), which reduces the boilerplate significantly without sacrificing much (if any) performance. The only thing that I cannot easily provide in this fashion is the static getClassCssMetaData method. From the documentation I understand it is there just for convience for subclass creators and is not used by the CSS engine at all -- atleast, everything seems to work. The shortened version for CSS aware properties basically looks like: private final SimpleStyleableDoubleProperty cellAlignment = new SimpleStyleableDoubleProperty(this, "cellAlignment", "-fx-cell-alignment", 0.8); private final SimpleStyleableDoubleProperty density= new SimpleStyleableDoubleProperty(this, "density", "-fx-density", 0.02); private final SimpleStyleableBooleanProperty reflectionEnabled= new SimpleStyleableBooleanProperty(this, "reflectionEnabled", "-fx-reflection-enabled", true); private final SimpleStyleableBooleanProperty clipReflections= new SimpleStyleableBooleanProperty(this, "clipReflections", "-fx-clip-reflections", true); With one small bit of supporting code in the relevant class (Skin or Control), which is basically a non-static implementation of the standard CSS List example code: private static List> cssMetaData; @Override public List> getCssMetaData() { // Unsynchronized. WC: list gets initialized multiple times. if(cssMetaData == null) { List> metaData = new ArrayList<>(super.getCssMetaData()); Collections.addAll(metaData, cellAlignment.getCssMetaData(), density.getCssMetaData(), reflectionEnabled.getCssMetaData(), clipReflections.getCssMetaData() ); cssMetaData = Collections.unmodifiableList(metaData); } return cssMetaData; } Note that the List is static and lazy-final. The same goes for the getCssMetaData method in the SimpleStyleableXXXProperty classes. There is a slight performance decrease in those classes as getCssMetaData is looked up from a static Map (indexed by Class + css property name) and lazily created as needed -- a Map lookup however should be quite fast enough. I'm sure the design had good reason to do things as they are, and I'm wondering if reducing the boilerplate has left me missing something important. I welcome any insights! --John From tbee at tbee.org Tue Jan 7 22:05:16 2014 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 08 Jan 2014 07:05:16 +0100 Subject: CSS metadata boilerplate In-Reply-To: <52CCB930.9020306@xs4all.nl> References: <52CCB930.9020306@xs4all.nl> Message-ID: <52CCEA9B.9060501@tbee.org> Yes, I had similar considerations. I was thinking about providing exactly such extended Property classes in JFXtras to remove as much of the boilerplate. Tom On 2014-1-8 3:34, John Hendrikx wrote: > Hi List, > > I'm in the process of adding CSS metadata to a new control, and I noticed there is a lot of boilerplate. > > In order to reduce this, I've created some custom classes StyleableProperty classes (SimpleStyleableXXXProperty), which reduces the boilerplate significantly without sacrificing much (if any) performance. The only thing that I cannot easily provide in this fashion is the static getClassCssMetaData method. From the documentation I understand it is there just for convience for subclass creators and is not used by the CSS engine at all -- atleast, everything seems to work. > > The shortened version for CSS aware properties basically looks like: > > private final SimpleStyleableDoubleProperty cellAlignment = new SimpleStyleableDoubleProperty(this, "cellAlignment", "-fx-cell-alignment", 0.8); > private final SimpleStyleableDoubleProperty density= new SimpleStyleableDoubleProperty(this, "density", "-fx-density", 0.02); > private final SimpleStyleableBooleanProperty reflectionEnabled= new SimpleStyleableBooleanProperty(this, "reflectionEnabled", "-fx-reflection-enabled", true); > private final SimpleStyleableBooleanProperty clipReflections= new SimpleStyleableBooleanProperty(this, "clipReflections", "-fx-clip-reflections", true); > > With one small bit of supporting code in the relevant class (Skin or Control), which is basically a non-static implementation of the standard CSS List example code: > > private static List> cssMetaData; > > @Override > public List> getCssMetaData() { // Unsynchronized. WC: list gets initialized multiple times. > if(cssMetaData == null) { > List> metaData = new ArrayList<>(super.getCssMetaData()); > Collections.addAll(metaData, > cellAlignment.getCssMetaData(), > density.getCssMetaData(), > reflectionEnabled.getCssMetaData(), > clipReflections.getCssMetaData() > ); > cssMetaData = Collections.unmodifiableList(metaData); > } > > return cssMetaData; > } > > Note that the List is static and lazy-final. The same goes for the getCssMetaData method in the SimpleStyleableXXXProperty classes. There is a slight performance decrease in those classes as getCssMetaData is looked up from a static Map (indexed by Class + css property name) and lazily created as needed -- a Map lookup however should be quite fast enough. > > I'm sure the design had good reason to do things as they are, and I'm wondering if reducing the boilerplate has left me missing something important. > > I welcome any insights! > > --John From peter.penzov at gmail.com Wed Jan 8 02:29:39 2014 From: peter.penzov at gmail.com (Peter Penzov) Date: Wed, 8 Jan 2014 12:29:39 +0200 Subject: FX Experience Tools Message-ID: Hi All, I found this link about the FX Experience Tools. http://fxexperience.com/2012/03/announcing-fx-experience-tools/ It seems that this tool is no longer actively developed. Are there any plans to continue to support it and also can I use use it in JavaFX 8? BR, Peter From tomas.mikula at gmail.com Wed Jan 8 04:11:27 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Wed, 8 Jan 2014 13:11:27 +0100 Subject: CSS metadata boilerplate In-Reply-To: <52CCEA9B.9060501@tbee.org> References: <52CCB930.9020306@xs4all.nl> <52CCEA9B.9060501@tbee.org> Message-ID: +1. I ended up creating such property subclasses myself, too. And I don't provide the static getClassCssMetaData() either. Tomas On Wed, Jan 8, 2014 at 7:05 AM, Tom Eugelink wrote: > > Yes, I had similar considerations. I was thinking about providing exactly > such extended Property classes in JFXtras to remove as much of the > boilerplate. > > Tom > > > > On 2014-1-8 3:34, John Hendrikx wrote: > >> Hi List, >> >> I'm in the process of adding CSS metadata to a new control, and I noticed >> there is a lot of boilerplate. >> >> In order to reduce this, I've created some custom classes >> StyleableProperty classes (SimpleStyleableXXXProperty), which reduces the >> boilerplate significantly without sacrificing much (if any) performance. >> The only thing that I cannot easily provide in this fashion is the static >> getClassCssMetaData method. From the documentation I understand it is >> there just for convience for subclass creators and is not used by the CSS >> engine at all -- atleast, everything seems to work. >> >> The shortened version for CSS aware properties basically looks like: >> >> private final SimpleStyleableDoubleProperty cellAlignment = new >> SimpleStyleableDoubleProperty(this, "cellAlignment", >> "-fx-cell-alignment", 0.8); >> private final SimpleStyleableDoubleProperty density= new >> SimpleStyleableDoubleProperty(this, "density", "-fx-density", 0.02); >> private final SimpleStyleableBooleanProperty reflectionEnabled= new >> SimpleStyleableBooleanProperty(this, "reflectionEnabled", >> "-fx-reflection-enabled", true); >> private final SimpleStyleableBooleanProperty clipReflections= new >> SimpleStyleableBooleanProperty(this, "clipReflections", >> "-fx-clip-reflections", true); >> >> With one small bit of supporting code in the relevant class (Skin or >> Control), which is basically a non-static implementation of the standard >> CSS List example code: >> >> private static List> cssMetaData; >> >> @Override >> public List> getCssMetaData() { // >> Unsynchronized. WC: list gets initialized multiple times. >> if(cssMetaData == null) { >> List> metaData = new >> ArrayList<>(super.getCssMetaData()); >> Collections.addAll(metaData, >> cellAlignment.getCssMetaData(), >> density.getCssMetaData(), >> reflectionEnabled.getCssMetaData(), >> clipReflections.getCssMetaData() >> ); >> cssMetaData = Collections.unmodifiableList(metaData); >> } >> >> return cssMetaData; >> } >> >> Note that the List is static and lazy-final. The same goes for the >> getCssMetaData method in the SimpleStyleableXXXProperty classes. There is >> a slight performance decrease in those classes as getCssMetaData is looked >> up from a static Map (indexed by Class + css property name) and lazily >> created as needed -- a Map lookup however should be quite fast enough. >> >> I'm sure the design had good reason to do things as they are, and I'm >> wondering if reducing the boilerplate has left me missing something >> important. >> >> I welcome any insights! >> >> --John >> > > > From david.grieve at oracle.com Wed Jan 8 05:28:12 2014 From: david.grieve at oracle.com (David Grieve) Date: Wed, 8 Jan 2014 08:28:12 -0500 Subject: CSS metadata boilerplate In-Reply-To: <52CCB930.9020306@xs4all.nl> References: <52CCB930.9020306@xs4all.nl> Message-ID: The reason things are as they are is because most properties in the core classes are lazily created and I didn't want cause the property to be created just to see if it was bound. But that is a particular concern for the core classes and not so much for controls. I'm not sure if you are aware of the javafx.css.SimpleStyleableXXXProperty classes. I'd be interested to see how your custom classes dovetail into these as I'd be more than willing to consider taking your additions and calling them my own? uh, um, I mean, rolling them into the source code. Have you looked at the initialization-on-demand holder pattern for creating the List? On Jan 7, 2014, at 9:34 PM, John Hendrikx wrote: > Hi List, > > I'm in the process of adding CSS metadata to a new control, and I noticed there is a lot of boilerplate. > > In order to reduce this, I've created some custom classes StyleableProperty classes (SimpleStyleableXXXProperty), which reduces the boilerplate significantly without sacrificing much (if any) performance. The only thing that I cannot easily provide in this fashion is the static getClassCssMetaData method. From the documentation I understand it is there just for convience for subclass creators and is not used by the CSS engine at all -- atleast, everything seems to work. > > The shortened version for CSS aware properties basically looks like: > > private final SimpleStyleableDoubleProperty cellAlignment = new SimpleStyleableDoubleProperty(this, "cellAlignment", "-fx-cell-alignment", 0.8); > private final SimpleStyleableDoubleProperty density= new SimpleStyleableDoubleProperty(this, "density", "-fx-density", 0.02); > private final SimpleStyleableBooleanProperty reflectionEnabled= new SimpleStyleableBooleanProperty(this, "reflectionEnabled", "-fx-reflection-enabled", true); > private final SimpleStyleableBooleanProperty clipReflections= new SimpleStyleableBooleanProperty(this, "clipReflections", "-fx-clip-reflections", true); > > With one small bit of supporting code in the relevant class (Skin or Control), which is basically a non-static implementation of the standard CSS List example code: > > private static List> cssMetaData; > > @Override > public List> getCssMetaData() { // Unsynchronized. WC: list gets initialized multiple times. > if(cssMetaData == null) { > List> metaData = new ArrayList<>(super.getCssMetaData()); > Collections.addAll(metaData, > cellAlignment.getCssMetaData(), > density.getCssMetaData(), > reflectionEnabled.getCssMetaData(), > clipReflections.getCssMetaData() > ); > cssMetaData = Collections.unmodifiableList(metaData); > } > > return cssMetaData; > } > > Note that the List is static and lazy-final. The same goes for the getCssMetaData method in the SimpleStyleableXXXProperty classes. There is a slight performance decrease in those classes as getCssMetaData is looked up from a static Map (indexed by Class + css property name) and lazily created as needed -- a Map lookup however should be quite fast enough. > > I'm sure the design had good reason to do things as they are, and I'm wondering if reducing the boilerplate has left me missing something important. > > I welcome any insights! > > --John From swpalmer at gmail.com Wed Jan 8 06:30:41 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 8 Jan 2014 09:30:41 -0500 Subject: Launching JavaFX apps Message-ID: Based on the discussion I saw in the comments for RT-34236 I discovered that using com.javafx.main.Main is not the way JavaFX 8 is supposed to work. There are comments that read, "...making sure their Application class has a main that calls launcher(String[] args)." This seems to imply that a main method is now required in the Application class when writing apps for JavaFX 8. Is this correct? If so. Somebody should tell NetBeans to stop injecting this comment in the generated application class for JavaFX projects: /** * The main() method is ignored in correctly deployed JavaFX application. * main() serves only as fallback in case the application can not be * launched through deployment artifacts, e.g., in IDEs with limited FX * support. NetBeans ignores main(). * * @param args the command line arguments */ Are the changes to the launching of JavaFX apps docuemtned somewhere? Is using javafxpackager or the ant task the *only* supported way of creating JavaFX applications? I'm currently using my own stub that runs on Java 7 and adds the jfxrt.jar to the classpath if required and then calls the launch method on the Applicaiton class. Regards, Scott From kevin.rushforth at oracle.com Wed Jan 8 06:45:36 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 08 Jan 2014 06:45:36 -0800 Subject: Launching JavaFX apps In-Reply-To: References: Message-ID: <52CD6490.4050805@oracle.com> Hi Scott, The Java 8 launcher has been modified to recognize JavaFX applications -- that is, classes that extend javafx.application.Application -- and launch them directly by calling into the JavaFX launcher code. See JDK-8001533 . This is why the com.javafx.main.Main class is no longer needed. Somewhat independent of this, for standalone applications (but not applets or web start applications) the JavaFX launcher code will now call the main() method if it is present (see RT-28755 ), but will still happily launch the application if it isn't. So the main() method is still optional. If present, it must call Application.launch() in order to launch the application. So yes, it does seem that Netbeans should modify the wording of their javadoc comment for the main() method of a JavaFX application. -- Kevin Scott Palmer wrote: > Based on the discussion I saw in the comments for RT-34236 I discovered > that using com.javafx.main.Main is not the way JavaFX 8 is supposed to > work. There are comments that read, "...making sure their Application class > has a main that calls launcher(String[] args)." > > This seems to imply that a main method is now required in the Application > class when writing apps for JavaFX 8. > > Is this correct? > > If so. Somebody should tell NetBeans to stop injecting this comment in the > generated application class for JavaFX projects: > /** > * The main() method is ignored in correctly deployed JavaFX application. > * main() serves only as fallback in case the application can not be > * launched through deployment artifacts, e.g., in IDEs with limited FX > * support. NetBeans ignores main(). > * > * @param args the command line arguments > */ > > Are the changes to the launching of JavaFX apps docuemtned somewhere? Is > using javafxpackager or the ant task the *only* supported way of creating > JavaFX applications? I'm currently using my own stub that runs on Java 7 > and adds the jfxrt.jar to the classpath if required and then calls the > launch method on the Applicaiton class. > > Regards, > > Scott > From steve.x.northover at oracle.com Wed Jan 8 09:55:56 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Wed, 08 Jan 2014 12:55:56 -0500 Subject: Regression: JavaFX 8 doesn't call listeners in Skin implementations In-Reply-To: <1517517.oMr7FVKV5d@shire> References: <2173202.R20RJOyR3f@shire> <1672471.EsyaBKZe3Y@shire> <52C6E3E7.4070709@oracle.com> <1517517.oMr7FVKV5d@shire> Message-ID: <52CD912C.6060603@oracle.com> If the code sample is small, then it can be pasted into comments. Otherwise, please contact the bug owner and he/she can attach the files. This is not optimal. I'm looking into getting attachments re-enabled for the JIRA. Steve On 2014-01-07 5:28 PM, Florian Brunner wrote: > Hi Steve, > > Ok, I've reported the issue here: > https://javafx-jira.kenai.com/browse/RT-35208 > > I even have a small sample application with a small custom control showing the issue, but I don't have an option to add an attachement to the issue in Jira... > > -Florian > > Am Freitag, 3. Januar 2014, 11.23:03 schrieb Stephen F Northover: >> Hi Florian, >> >> I would enter a JIRA with the steps to make the problem happen and the >> smallest possible example code that shows it. >> >> Thanks, >> Steve >> >> On 2014-01-02 5:10 PM, Florian Brunner wrote: >>> I also tried to add a listener directly to control.getDockingSplitPaneChildren() in case the issue is with Bindings.bindContent, but also this listener doesn't get called. >>> >>> member: >>> >>> private final ListChangeListener dockingSplitPaneChildrenListener = new ListChangeListener() { >>> @Override >>> public void onChanged(Change change) { >>> System.out.println("Change!"); >>> } >>> }; >>> >>> ... >>> >>> in constructor: >>> >>> control.getDockingSplitPaneChildren().addListener(dockingSplitPaneChildrenListener); >>> >>> -Florian >>> >>> Am Donnerstag, 2. Januar 2014, 22.51:23 schrieb Florian Brunner: >>>> Hi, >>>> >>>> I'm in the process of upgrading Drombler FX to JavaFX 8 and hit another regression issue: JavaFX 8 doesn't call listeners in my Skin implementation (it used to work with JavaFX 2.x !) >>>> >>>> Here is the Skin implementation: >>>> >>>> https://sourceforge.net/p/drombler/drombler-fx/ci/default/tree/drombler-fx-core-docking/src/main/java/org/drombler/fx/core/docking/impl/skin/DockingSplitPaneSkin.java >>>> >>>> When I add something to >>>> >>>> control.getDockingSplitPaneChildren() >>>> >>>> what should trigger the listeners, then with a debugger I can trace the call up to the WeakListChangeListener where on line 87 the listener is null. >>>> >>>> Note that I'm not using a WeakListChangeListener explicitly - JavaFX 8 must have created this somewhere and for some reason the listener from the Skin got lost! >>>> >>>> I also tried to keep a reference to my listeners as a member variable in the Skin implementation, but this didn't work either. >>>> >>>> I haven't filed an issue yet because I guess there is already a new way how to solve this. >>>> >>>> Note that I would like to solve this first with this "basic" Skin implementation and not with the new SkinBase class just yet, as I'm not familiar with that new class yet. One refactoring step at a time. ;-) >>>> >>>> -Florian >>>> >>>> From hang.vo at oracle.com Wed Jan 8 09:48:50 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 08 Jan 2014 17:48:50 +0000 Subject: hg: openjfx/8u-dev/rt: RT-33250: Adding Monocle, a new embedded Glass port with minimal native code Message-ID: <20140108175007.DA33462469@hg.openjdk.java.net> Changeset: 0d5bcb3c0951 Author: Daniel Blaukopf Date: 2014-01-08 19:38 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/0d5bcb3c0951 RT-33250: Adding Monocle, a new embedded Glass port with minimal native code Reviewed-by: ddhill ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle + modules/graphics/src/main/java/com/sun/glass/ui/monocle/EGL.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleClipboardDelegate.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleCursor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleDnDClipboard.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonoclePixels.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonoclePlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleSystemClipboard.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleTimer.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleView.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindow.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindowManager.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativeCursor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativePlatform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativePlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativeScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/NullCursor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessPlatform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessPlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/InputDevice.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/InputDeviceRegistry.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInput.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseState.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchInput.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchState.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/FBDevScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/GetEvent.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/Input.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/KeyBits.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDeviceRegistry.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxMouseProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxPlatform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxPlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/SysFS.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/Udev.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/UdevListener.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPCursor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPPlatform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPPlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/omapx11/OMAPX11Platform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/omapx11/OMAPX11PlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/util/C.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/util/IntSet.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11InputDeviceRegistry.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11Platform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11PlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11Screen.java + modules/graphics/src/main/native-glass/monocle/Monocle.h + modules/graphics/src/main/native-glass/monocle/linux/Udev.c + modules/graphics/src/main/native-glass/monocle/util/C.c + modules/graphics/src/main/native-glass/monocle/x11/X11.c From hang.vo at oracle.com Wed Jan 8 10:33:37 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 08 Jan 2014 18:33:37 +0000 Subject: hg: openjfx/8u-dev/rt: RT-33250: Enable monocle in gradle Message-ID: <20140108183357.4C04C6246A@hg.openjdk.java.net> Changeset: 56e532279c86 Author: Daniel Blaukopf Date: 2014-01-08 20:28 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/56e532279c86 RT-33250: Enable monocle in gradle Reviewed-by: ddhill ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle From hang.vo at oracle.com Wed Jan 8 11:04:13 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 08 Jan 2014 19:04:13 +0000 Subject: hg: openjfx/8u-dev/rt: On case-sensitive systems (ie linux), need correct case for name of include file. Message-ID: <20140108190432.4F1946246B@hg.openjdk.java.net> Changeset: a1198d151646 Author: Lisa.Selle at oracle.com Date: 2014-01-08 13:53 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/a1198d151646 On case-sensitive systems (ie linux), need correct case for name of include file. ! modules/graphics/src/main/native-glass/monocle/util/C.c ! modules/graphics/src/main/native-glass/monocle/x11/X11.c From webmaster at polymorphisme.org Wed Jan 8 11:09:58 2014 From: webmaster at polymorphisme.org (=?ISO-8859-1?Q?Gr=E9gory_Roche?=) Date: Wed, 08 Jan 2014 20:09:58 +0100 Subject: Problem with gradle Message-ID: <52CDA286.2020007@polymorphisme.org> Hello, I'm trying to build the OpenJFX with the instruction of the page Building OpenJFX (https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX#BuildingOpenJFX-LinuxDesktopBuildLinux) I'm working under Wheezy Debian, so i do : sudo apt-get update sudo apt-get install bison flex gperf libasound2-dev libgl1-mesa-dev \ libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libjpeg-dev \ libpng-dev libx11-dev libxml2-dev libxslt1-dev libxt-dev \ libxxf86vm-dev pkg-config qt4-qmake x11proto-core-dev \ x11proto-xf86vidmode-dev libavcodec-dev mercurial libgtk2.0-dev \ ksh libxtst-dev libudev-dev |hg clone http:||//hg||.openjdk.java.net||/openjfx/8u-dev/rt cd rt| /usr/local/gradle-1.10/bin/gradle task --stacktrace Build file '/var/mercurial/rt/buildSrc/build.gradle': line 81 The ConfigurationContainer.add() method has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the create() method instead. :buildSrc:generateGrammarSource :buildSrc:compileJava :buildSrc:compileGroovy :buildSrc:processResources UP-TO-DATE :buildSrc:classes :buildSrc:jar :buildSrc:assemble :buildSrc:compileTestJava Note: /var/mercurial/rt/buildSrc/src/test/java/com/sun/scenario/effect/compiler/parser/FieldSelectTest.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. :buildSrc:compileTestGroovy UP-TO-DATE :buildSrc:processTestResources UP-TO-DATE :buildSrc:testClasses :buildSrc:test :buildSrc:check :buildSrc:build FAILURE: Build failed with an exception. * Where: Script '/var/mercurial/rt/buildSrc/linux.gradle' line: 102 * What went wrong: A problem occurred evaluating script. > Cannot invoke method split() on null object * Try: Run with --info or --debug option to get more log output. * Exception is: org.gradle.api.GradleScriptException: A problem occurred evaluating script. at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54) at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:156) at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyScript(DefaultObjectConfigurationAction.java:82) at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$000(DefaultObjectConfigurationAction.java:32) at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$1.run(DefaultObjectConfigurationAction.java:54) at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:114) at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:39) at org.gradle.api.Project$apply.call(Unknown Source) at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34) at build_17hppeesnrla9ntu8jc5vgh0fm$_run_closure5.doCall(/var/mercurial/rt/build.gradle:553) at build_17hppeesnrla9ntu8jc5vgh0fm.run(/var/mercurial/rt/build.gradle:551) at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52) at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:156) at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38) at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25) at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:507) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:82) at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50) at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) at org.gradle.launcher.Main.doAction(Main.java:46) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at org.gradle.launcher.Main.main(Main.java:37) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32) at org.gradle.launcher.GradleMain.main(GradleMain.java:23) Caused by: java.lang.NullPointerException: Cannot invoke method split() on null object at linux_75kab48j49pmkhhfljhu18ameb$_run_closure3.doCall(/var/mercurial/rt/buildSrc/linux.gradle:102) at build_17hppeesnrla9ntu8jc5vgh0fm.setupTools(/var/mercurial/rt/build.gradle:207) at org.gradle.api.internal.BeanDynamicObject$GroovyObjectAdapter.invokeMethod(BeanDynamicObject.java:289) at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:134) at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147) at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79) at linux_75kab48j49pmkhhfljhu18ameb.run(/var/mercurial/rt/buildSrc/linux.gradle:85) at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52) ... 41 more BUILD FAILED Width gradle-1.6 it is the same. Have you an idea ? Thanks very much. -- *Gr?gory Roche* site : /www.polymorphisme.org/ mail : /webmaster at polymorphisme.org/ fixe : +33.(0)9.73.54.23.91 fax : +33.(0)9.78.54.23.91 Bordeaux France -------------- next part -------------- From hjohn at xs4all.nl Wed Jan 8 13:18:41 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Wed, 08 Jan 2014 22:18:41 +0100 Subject: CSS metadata boilerplate In-Reply-To: References: <52CCB930.9020306@xs4all.nl> Message-ID: <52CDC0B1.1030005@xs4all.nl> On 8/01/2014 14:28, David Grieve wrote: > The reason things are as they are is because most properties in the core classes are lazily created and I didn't want cause the property to be created just to see if it was bound. But that is a particular concern for the core classes and not so much for controls. I see, this mechanism certainly doesn't try to do that. It only works when the properties are created in advance. > I'm not sure if you are aware of the javafx.css.SimpleStyleableXXXProperty classes. I'd be interested to see how your custom classes dovetail into these as I'd be more than willing to consider taking your additions and calling them my own? uh, um, I mean, rolling them into the source code. I wasn't aware of those, but I just took a look at them. They do make the process a little bit easier, although still require creating a CssMetaData object yourself. If you want to use the code or just the idea, please feel free -- it would be very nice for creating custom controls if it was part of JavaFX. > Have you looked at the initialization-on-demand holder pattern for creating the List? That's the "Super-lazy instantiation pattern from Bill Pugh" ? I've seen it several times in the JavaFX sources, and I think it is a neat way to avoid certain statics from being created immediately after the class loads. However, I'm not sure if it applies here, the first getCssMetaData call basically is the trigger that causes all CssMetaData objects and the List to get created... I'm not sure how I could make it any more lazy than that. The Map I use in the properties themselves is static, so shouldn't cause too much footprint. The code I use for the one of the SimpleStyleableXXXProperty is below. It relies on a Map that will cache CssMetaData objects (for different instances of the same property in a Control) and are only created when they're needed. CssMetaData objects only get created one time on access, after that further calls just do a quick map lookup. It makes assumptions about the kind of converter needed, which could be parameterized further with another constructor option. public class SimpleStyleableDoubleProperty extends StyleableDoubleProperty { private static final Map, Map>> CSS_META_DATA_BY_NAME_BY_CLASS = new HashMap<>(); private final Object bean; private final String name; private final String cssName; private final double initialValue; public SimpleStyleableDoubleProperty(Object bean, String name, String cssName, double initialValue) { super(initialValue); this.bean = bean; this.name = name; this.cssName = cssName; this.initialValue = initialValue; } @Override public CssMetaData getCssMetaData() { // TODO consider synchronizing CSS_META_DATA_BY_NAME_BY_CLASS -- depends on whether or not this ever gets called by more than one thread. Map> cssMetaDataByName = CSS_META_DATA_BY_NAME_BY_CLASS.get(bean.getClass()); if(cssMetaDataByName == null) { cssMetaDataByName = new HashMap<>(); CSS_META_DATA_BY_NAME_BY_CLASS.put(bean.getClass(), cssMetaDataByName); } CssMetaData cssMetaData = cssMetaDataByName.get(cssName); if(cssMetaData == null) { cssMetaData = new CssMetaData(cssName, StyleConverter.getSizeConverter(), initialValue) { @Override public boolean isSettable(Styleable styleable) { return !SimpleStyleableDoubleProperty.this.isBound(); } @Override public StyleableDoubleProperty getStyleableProperty(Styleable styleable) { return SimpleStyleableDoubleProperty.this; } }; } return cssMetaData; } @Override public Object getBean() { return bean; } @Override public String getName() { return name; } } --John > > On Jan 7, 2014, at 9:34 PM, John Hendrikx wrote: > >> Hi List, >> >> I'm in the process of adding CSS metadata to a new control, and I noticed there is a lot of boilerplate. >> >> In order to reduce this, I've created some custom classes StyleableProperty classes (SimpleStyleableXXXProperty), which reduces the boilerplate significantly without sacrificing much (if any) performance. The only thing that I cannot easily provide in this fashion is the static getClassCssMetaData method. From the documentation I understand it is there just for convience for subclass creators and is not used by the CSS engine at all -- atleast, everything seems to work. >> >> The shortened version for CSS aware properties basically looks like: >> >> private final SimpleStyleableDoubleProperty cellAlignment = new SimpleStyleableDoubleProperty(this, "cellAlignment", "-fx-cell-alignment", 0.8); >> private final SimpleStyleableDoubleProperty density= new SimpleStyleableDoubleProperty(this, "density", "-fx-density", 0.02); >> private final SimpleStyleableBooleanProperty reflectionEnabled= new SimpleStyleableBooleanProperty(this, "reflectionEnabled", "-fx-reflection-enabled", true); >> private final SimpleStyleableBooleanProperty clipReflections= new SimpleStyleableBooleanProperty(this, "clipReflections", "-fx-clip-reflections", true); >> >> With one small bit of supporting code in the relevant class (Skin or Control), which is basically a non-static implementation of the standard CSS List example code: >> >> private static List> cssMetaData; >> >> @Override >> public List> getCssMetaData() { // Unsynchronized. WC: list gets initialized multiple times. >> if(cssMetaData == null) { >> List> metaData = new ArrayList<>(super.getCssMetaData()); >> Collections.addAll(metaData, >> cellAlignment.getCssMetaData(), >> density.getCssMetaData(), >> reflectionEnabled.getCssMetaData(), >> clipReflections.getCssMetaData() >> ); >> cssMetaData = Collections.unmodifiableList(metaData); >> } >> >> return cssMetaData; >> } >> >> Note that the List is static and lazy-final. The same goes for the getCssMetaData method in the SimpleStyleableXXXProperty classes. There is a slight performance decrease in those classes as getCssMetaData is looked up from a static Map (indexed by Class + css property name) and lazily created as needed -- a Map lookup however should be quite fast enough. >> >> I'm sure the design had good reason to do things as they are, and I'm wondering if reducing the boilerplate has left me missing something important. >> >> I welcome any insights! >> >> --John From hjohn at xs4all.nl Wed Jan 8 13:31:20 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Wed, 08 Jan 2014 22:31:20 +0100 Subject: Future of Skins In-Reply-To: <80343CA3-C987-44DE-B07A-470F1D5D4FC1@oracle.com> References: <52CBD750.30906@xs4all.nl> <52CC1CA0.5020600@xs4all.nl> <80343CA3-C987-44DE-B07A-470F1D5D4FC1@oracle.com> Message-ID: <52CDC3A8.8070400@xs4all.nl> That's basically how I've solved it so far (although I call the reusable skins "Layouts" for lack of a more imaginitive name). However, I'd like to support CSS properties as well for the delegates, and I'm not sure how the CSS engine deals with Skins that can change their properties when some other property (the delegated Skin) changes. I suspect that changing properties will work fine for changing normal Skins, but that it won't be able to detect the properties having changed when the a Skin I delegate to changes. Perhaps though I'm going a bit too far in order to provide that little bit of extra convience and customization possibilities to the end-user of the Control. --John On 7/01/2014 17:04, Richard Bair wrote: > Could you write a single skin that delegates to one or more reusable skins? > From hjohn at xs4all.nl Wed Jan 8 13:56:43 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Wed, 08 Jan 2014 22:56:43 +0100 Subject: Future of Skins In-Reply-To: References: <52CBD750.30906@xs4all.nl> <52CC1CA0.5020600@xs4all.nl> Message-ID: <52CDC99B.2030907@xs4all.nl> On 7/01/2014 18:11, Tomas Mikula wrote: > With a non-reusable skin, dispose is pretty much just removing the > listeners. With a reusable instance, I suspect there is more work to > reset the state of the instance (e.g. removing children, or, if you > were concerned about performance, returning them to a pool of > objects). So I would argue fresh instances are never more complicated > than reusable ones, while the opposite is true only in simple cases. Well fair enough. Making them fully reusable is more involved anyway (as in settable on multiple controls). > > Anyway, for me, making Skins reusable makes them easier to use > with bindings, > > > My understanding of skins is that they are the view of the MVC > pattern and that the rest of the application should not depend on the > particular implementation. I'm not sure what you mean by this. Skins that radically change the appearance of a Control may have new CSS properties to control that appearance (and standard JavaFX Skins do introduce CSS properties that are not available on the control itself). Big changes, like a Tree that is displayed in standard filesystem style and change it into a graph with linked nodes (perhaps 3D) that can be navigated in a similar fashion -- without having to switch to a completely different control (after all, the code does not care, it's still a tree). It's possible -- and that's what I'm doing. I just found it akward to provide users with controls to change the Skin (of one control) on demand. Something like a SkinFactory would be required as Skins themselves cannot be precreated and re-used as needed. If it were only a matter of changing the skins, I could also just change the CSS skin property's class name, but some of these Skins can be configured extensively which would need to be handled in either a Factory or by creating yet another Skin with these configurations preset. Consider the graph case for a tree strucuture... there are many possible visualizations, 2D, 3D, visible node levels, fade in/out rules for nodes, scaling, etcetera. Just one Skin offers all of these as Properties, and I'd like to provide say 5 or 6 "defaults" from which the user can choose. Factories would be my only option at the moment. As the underlying control needs no changes, I think Skins are ideal here. > and it ofcourse saves creating a factory. I see the "skin" of an > object as the same as say its background color. There is no > reason (anymore I think) that one should be treated so differently > from the other. > > > One outstanding difference is that a skin is stateful, while a > background color is stateless (immutable). Thus you can use the same > instance of background color for many controls, but you cannot do that > with skin instances. In this respect, a skin provider is a better > analogy to background color (you can use the same skin provider with > many controls). This is true, a SkinProvider would atleast not carry State, and it would blend in a lot better with almost all other properties. > Furthermore, neither the current state nor your proposal prevents you > from doing this: > > Skin skin = new MySkin(); > myControl1.setSkin(skin); > myControl2.setSkin(skin); > > My proposal does not allow you to write such code. Well, your proposal would make the above code work, if all of those are SkinProviders, and even do exactly what you'd expect :) --John From tbee at tbee.org Wed Jan 8 14:45:56 2014 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 08 Jan 2014 23:45:56 +0100 Subject: Future of Skins In-Reply-To: <52CDC3A8.8070400@xs4all.nl> References: <52CBD750.30906@xs4all.nl> <52CC1CA0.5020600@xs4all.nl> <80343CA3-C987-44DE-B07A-470F1D5D4FC1@oracle.com> <52CDC3A8.8070400@xs4all.nl> Message-ID: <52CDD524.7050408@tbee.org> I've written the Agenda control (Google Calendar alike) in JFXtras, which of course also can have multiple skins although right now it only has one. So this is an interesting discussion. On 2014-1-8 22:31, John Hendrikx wrote: > > That's basically how I've solved it so far (although I call the reusable skins "Layouts" for lack of a more imaginitive name). > > However, I'd like to support CSS properties as well for the delegates, and I'm not sure how the CSS engine deals with Skins that can change their properties when some other property (the delegated Skin) changes. I suspect that changing properties will work fine for changing normal Skins, but that it won't be able to detect the properties having changed when the a Skin I delegate to changes. > > Perhaps though I'm going a bit too far in order to provide that little bit of extra convience and customization possibilities to the end-user of the Control. > > --John > > On 7/01/2014 17:04, Richard Bair wrote: >> Could you write a single skin that delegates to one or more reusable skins? >> > From tomas.mikula at gmail.com Wed Jan 8 15:16:38 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Thu, 9 Jan 2014 00:16:38 +0100 Subject: Future of Skins In-Reply-To: <52CDC99B.2030907@xs4all.nl> References: <52CBD750.30906@xs4all.nl> <52CC1CA0.5020600@xs4all.nl> <52CDC99B.2030907@xs4all.nl> Message-ID: On Wed, Jan 8, 2014 at 10:56 PM, John Hendrikx wrote: > On 7/01/2014 18:11, Tomas Mikula wrote: > > With a non-reusable skin, dispose is pretty much just removing the > listeners. With a reusable instance, I suspect there is more work to reset > the state of the instance (e.g. removing children, or, if you were > concerned about performance, returning them to a pool of objects). So I > would argue fresh instances are never more complicated than reusable ones, > while the opposite is true only in simple cases. > > Well fair enough. Making them fully reusable is more involved anyway (as > in settable on multiple controls). > > > >> Anyway, for me, making Skins reusable makes them easier to use with >> bindings, > > > My understanding of skins is that they are the view of the MVC pattern > and that the rest of the application should not depend on the particular > implementation. > > I'm not sure what you mean by this. > > Skins that radically change the appearance of a Control may have new CSS > properties to control that appearance (and standard JavaFX Skins do > introduce CSS properties that are not available on the control itself). > Big changes, like a Tree that is displayed in standard filesystem style and > change it into a graph with linked nodes (perhaps 3D) that can be navigated > in a similar fashion -- without having to switch to a completely different > control (after all, the code does not care, it's still a tree). It's > possible -- and that's what I'm doing. > > I just found it akward to provide users with controls to change the Skin > (of one control) on demand. Something like a SkinFactory would be required > as Skins themselves cannot be precreated and re-used as needed. If it were > only a matter of changing the skins, I could also just change the CSS skin > property's class name, but some of these Skins can be configured > extensively which would need to be handled in either a Factory or by > creating yet another Skin with these configurations preset. > > Consider the graph case for a tree strucuture... there are many possible > visualizations, 2D, 3D, visible node levels, fade in/out rules for nodes, > scaling, etcetera. Just one Skin offers all of these as Properties, and > I'd like to provide say 5 or 6 "defaults" from which the user can choose. > Factories would be my only option at the moment. > > As the underlying control needs no changes, I think Skins are ideal here. > Sorry, I misunderstood what you meant by "use with bindings". Yes, I guess factories are your only option, but again, it shouldn't be too much boilerplate with lambdas. > > > > >> and it ofcourse saves creating a factory. I see the "skin" of an object >> as the same as say its background color. There is no reason (anymore I >> think) that one should be treated so differently from the other. >> > > One outstanding difference is that a skin is stateful, while a > background color is stateless (immutable). Thus you can use the same > instance of background color for many controls, but you cannot do that with > skin instances. In this respect, a skin provider is a better analogy to > background color (you can use the same skin provider with many controls). > > This is true, a SkinProvider would atleast not carry State, and it would > blend in a lot better with almost all other properties. > > Furthermore, neither the current state nor your proposal prevents you > from doing this: > > Skin skin = new MySkin(); > myControl1.setSkin(skin); > myControl2.setSkin(skin); > > My proposal does not allow you to write such code. > > Well, your proposal would make the above code work, if all of those are > SkinProviders, and even do exactly what you'd expect :) > > --John > From daniel.blaukopf at oracle.com Wed Jan 8 16:00:06 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Thu, 9 Jan 2014 02:00:06 +0200 Subject: Announcing Monocle, an experimental port of Glass for embedded systems Message-ID: Hi, A few of us in the JavaFX team have been trying over the holidays to put together an embedded implementation of Glass that has minimal native code. When developing the existing embedded Glass implementation, Lens, we had noticed that there were a few problems were were running into again and again: - We were duplicating data structures between C and Java. - Logic was split between C and Java, making it hard to debug effectively. - In many cases we needed to make expensive JNI up-calls from C to Java. - Each additional platform we added support for increased the complexity of the system and frequently required similar changes in Glass and Prism. - Any level of pluggability in C needs a lot of setup to do, both for the platform porting layer (on which we did make some progress) and the ability to use custom input handlers (on which we didn?t) Monocle is an attempt to resolve these problems. It?s in a very basic state right now, but it is enough to play with. There is a description of the components and how to run up at https://wiki.openjdk.java.net/display/OpenJFX/Monocle. Monocle is currently buildable for all platforms, but on desktop platforms it only works in headless mode. It can render on BeagleBoard xM, Freescale i.MX6 and in embedded emulation mode on Linux/x86. Your feedback is welcome, on this alias and in JIRA. Daniel From richard.bair at oracle.com Wed Jan 8 16:09:06 2014 From: richard.bair at oracle.com (Richard Bair) Date: Wed, 8 Jan 2014 16:09:06 -0800 Subject: Announcing Monocle, an experimental port of Glass for embedded systems In-Reply-To: References: Message-ID: <7B9D312C-8AB1-48EB-AB10-F95CF7114B8C@oracle.com> Very cool! Triple bonus points for writing some design documentation :-) Richard On Jan 8, 2014, at 4:00 PM, Daniel Blaukopf wrote: > Hi, > > A few of us in the JavaFX team have been trying over the holidays to put together an embedded implementation of Glass that has minimal native code. When developing the existing embedded Glass implementation, Lens, we had noticed that there were a few problems were were running into again and again: > - We were duplicating data structures between C and Java. > - Logic was split between C and Java, making it hard to debug effectively. > - In many cases we needed to make expensive JNI up-calls from C to Java. > - Each additional platform we added support for increased the complexity of the system and frequently required similar changes in Glass and Prism. > - Any level of pluggability in C needs a lot of setup to do, both for the platform porting layer (on which we did make some progress) and the ability to use custom input handlers (on which we didn?t) > > Monocle is an attempt to resolve these problems. It?s in a very basic state right now, but it is enough to play with. There is a description of the components and how to run up at https://wiki.openjdk.java.net/display/OpenJFX/Monocle. > > Monocle is currently buildable for all platforms, but on desktop platforms it only works in headless mode. It can render on BeagleBoard xM, Freescale i.MX6 and in embedded emulation mode on Linux/x86. > > Your feedback is welcome, on this alias and in JIRA. > > Daniel From james.graham at oracle.com Wed Jan 8 17:12:35 2014 From: james.graham at oracle.com (Jim Graham) Date: Wed, 08 Jan 2014 17:12:35 -0800 Subject: 8u20 review request: RT-35210 - exceptions in WebLauncher on Mac Message-ID: <52CDF783.6090304@oracle.com> Chien, Felipe, Jira: https://javafx-jira.kenai.com/browse/RT-35210 webrev: http://cr.openjdk.java.net/~flar/RT-35210/webrev.00/ I will finish the cleanup of the "shader log" logic (RT-35209) as a follow-on fix after this is pushed... ...jim From swpalmer at gmail.com Wed Jan 8 17:24:54 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 8 Jan 2014 20:24:54 -0500 Subject: Announcing Monocle, an experimental port of Glass for embedded systems In-Reply-To: References: Message-ID: What's the situation on Raspberry Pi? I got one for Christmas and made a quick memory game for my daughter with JavaFX - works great. Should I bother trying or do you already know it doesn't work? Scott On Wed, Jan 8, 2014 at 7:00 PM, Daniel Blaukopf wrote: > Hi, > > A few of us in the JavaFX team have been trying over the holidays to put > together an embedded implementation of Glass that has minimal native code. > When developing the existing embedded Glass implementation, Lens, we had > noticed that there were a few problems were were running into again and > again: > - We were duplicating data structures between C and Java. > - Logic was split between C and Java, making it hard to debug effectively. > - In many cases we needed to make expensive JNI up-calls from C to Java. > - Each additional platform we added support for increased the complexity > of the system and frequently required similar changes in Glass and Prism. > - Any level of pluggability in C needs a lot of setup to do, both for the > platform porting layer (on which we did make some progress) and the ability > to use custom input handlers (on which we didn?t) > > Monocle is an attempt to resolve these problems. It?s in a very basic > state right now, but it is enough to play with. There is a description of > the components and how to run up at > https://wiki.openjdk.java.net/display/OpenJFX/Monocle. > > Monocle is currently buildable for all platforms, but on desktop platforms > it only works in headless mode. It can render on BeagleBoard xM, Freescale > i.MX6 and in embedded emulation mode on Linux/x86. > > Your feedback is welcome, on this alias and in JIRA. > > Daniel From daniel.blaukopf at oracle.com Wed Jan 8 17:26:33 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Thu, 9 Jan 2014 03:26:33 +0200 Subject: Announcing Monocle, an experimental port of Glass for embedded systems In-Reply-To: References: Message-ID: <0FED83D0-06D2-4AD3-B2EA-EA7298E361B5@oracle.com> On the radar but not implemented yet. On Jan 9, 2014, at 3:24 AM, Scott Palmer wrote: > What's the situation on Raspberry Pi? I got one for Christmas and made a quick memory game for my daughter with JavaFX - works great. > Should I bother trying or do you already know it doesn't work? > > Scott > > On Wed, Jan 8, 2014 at 7:00 PM, Daniel Blaukopf wrote: > Hi, > > A few of us in the JavaFX team have been trying over the holidays to put together an embedded implementation of Glass that has minimal native code. When developing the existing embedded Glass implementation, Lens, we had noticed that there were a few problems were were running into again and again: > - We were duplicating data structures between C and Java. > - Logic was split between C and Java, making it hard to debug effectively. > - In many cases we needed to make expensive JNI up-calls from C to Java. > - Each additional platform we added support for increased the complexity of the system and frequently required similar changes in Glass and Prism. > - Any level of pluggability in C needs a lot of setup to do, both for the platform porting layer (on which we did make some progress) and the ability to use custom input handlers (on which we didn?t) > > Monocle is an attempt to resolve these problems. It?s in a very basic state right now, but it is enough to play with. There is a description of the components and how to run up at https://wiki.openjdk.java.net/display/OpenJFX/Monocle. > > Monocle is currently buildable for all platforms, but on desktop platforms it only works in headless mode. It can render on BeagleBoard xM, Freescale i.MX6 and in embedded emulation mode on Linux/x86. > > Your feedback is welcome, on this alias and in JIRA. > > Daniel > From hang.vo at oracle.com Wed Jan 8 17:33:32 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 01:33:32 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35231: [Monocle] Fix cursors on OMAP Message-ID: <20140109013428.372BD6247F@hg.openjdk.java.net> Changeset: f175c22bbc78 Author: Daniel Blaukopf Date: 2014-01-09 03:22 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/f175c22bbc78 RT-35231: [Monocle] Fix cursors on OMAP ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleCursor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativeCursors.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/FBDevScreen.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPCursor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPPlatform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPScreen.java + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorClosedHandOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorClosedHandTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorCrosshairOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorCrosshairTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorDefaultOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorDefaultTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorDisappearOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorDisappearTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorMoveOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorMoveTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorOpenHandOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorOpenHandTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorPointingHandOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorPointingHandTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeDownOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeDownTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeLeftOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeLeftRightOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeLeftRightTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeLeftTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeNorthEastOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeNorthEastTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeNorthWestOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeNorthWestTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeRightOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeRightTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeSouthEastOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeSouthEastTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeSouthWestOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeSouthWestTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeUpDownOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeUpDownTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeUpOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorResizeUpTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorTextOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorTextTranslucent.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorWaitOpaque.raw + modules/graphics/src/main/resources/com/sun/glass/ui/monocle/CursorWaitTranslucent.raw From james.graham at oracle.com Wed Jan 8 18:07:42 2014 From: james.graham at oracle.com (Jim Graham) Date: Wed, 08 Jan 2014 18:07:42 -0800 Subject: 8u20 review request: RT-35210 - exceptions in WebLauncher on Mac In-Reply-To: <52CDF783.6090304@oracle.com> References: <52CDF783.6090304@oracle.com> Message-ID: <52CE046E.2020809@oracle.com> Adding Johan Voss to the list of reviewers since this fix may potentially involve an Android #ifdef block. Johan, the webrev currently listed in the Jira issue below does not yet modify the Android block, but I am proposing eliminating the block since I think it was a workaround for the bad call to glValidateProgram that we are eliminating here (that bad call started causing problems for us as well in a way that I'm guessing it once caused for the Android port which led to the workaround hack). Does the Android port still use this code (i.e. does it still use prism-es2)? If so, what do you think about eliminating the hack at lines 609-611 (old version) => 586-588 (new version)? ...jim On 1/8/14 5:12 PM, Jim Graham wrote: > Chien, Felipe, > > Jira: https://javafx-jira.kenai.com/browse/RT-35210 > webrev: http://cr.openjdk.java.net/~flar/RT-35210/webrev.00/ > > I will finish the cleanup of the "shader log" logic (RT-35209) as a > follow-on fix after this is pushed... > > ...jim From swpalmer at gmail.com Wed Jan 8 19:20:10 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 8 Jan 2014 22:20:10 -0500 Subject: javafxpackager and launcher Message-ID: The Java 8 java.exe launcher is now JavaFX aware in that it will launch JavaFX Applications that don't have a main(String []) method. The javafxpackager uses it's own launcher when creating a native package. Are there plans to unify those launchers? I noticed a comment under "future work" in WinLauncher.cpp that says "Reuse code between windows/linux launchers and borrow more code from java.exe launcher implementation." I'm wondering why not make java.exe the only launcher we need. (Or the javaw.exe variant) I think would mainly be an issue of adding package.cfg parsing and picking up the embedded runtime. An "application bundle mode" could probably be triggered via the contents of a resource that is injected much like the custom icon is injected into the fx launcher (I'm not sure if something needs to be done for preloader support too. I think the embedded launcher stub handles that on Java 7, but I believe it isn't used on JavaFX 8.) I have been using a standard java.exe launcher from Java 7 for my apps and hacked jfxrt.jar onto the classpath manually. I do this for a couple reasons. One because the same app could launch in a Swing or JavaFX mode while we were transitioning our UI. Two, because we install a private JRE that is shared among multiple apps and services that make up our product and javafxpackager only supports the default system-wide JRE or a JRE embedded into the application bundle. It's a bit too limited... though after looking at the launcher source, I think I can fool it by making a "runtime" directory symlink inside the app bundle folder that points to our company-private JRE. I just started experimenting with the javafxpackager and I noticed that the .exe that is created could, and probably should, have more things customized in the resources. If you get properties on the file in Windows and look at the Details tab, things like Product name and Version are not filled in. The project has a Title, a Vendor, Description and Implementation Version, etc. I believe those are used for JNLP deployment. It would be nice to have those details injected into the .exe just like the icon is. Should I create an issue for that? I'm also curious about the installation location when making a .msi package. Instead of "Program Files/AppName" or "Program Files/Vendor/AppName" it goes to the user-specific App-Data folder. This is almost never what a typical Windows user would want or expect. I understand it is probably to avoid permission issues, but the installer really should have had the option to do a per-machine install. This page http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm mentions "Deployment occurs with no need for admin permissions when using ZIP or user-level installers." .. well how can you make a machine or system level installer instead? Is this out-of-scope for javafxpackager enhancements? I'm also using only the javafxpackager command line. No Ant tasks. I'm going for exclusively Gradle-based builds now and I don't want to mix Gradle & Ant, so I've built a Gradle task that runs the javafxpackager. Do we have as much power to customize the installer when using the javafxpackager command line app instead of the Ant task? The javafxpackager docs that I've found don't get too specific. Most of the docs are assuming Ant-based builds. (When most people have moved to Maven long ago, long enough for many of use to hate it now and switch to Gradle :-). ) E.g. Looking at the launcher code I see that it should be possible to provide any JVM options in the package.cfg file... but I can't find documentation for this. I see the options in the Ant tasks for jvmargs, but there doesn't appear to be a way to do it with the command line tool. Cheers, Scott From han.solo at muenster.de Wed Jan 8 21:08:14 2014 From: han.solo at muenster.de (Gerrit Grunwald) Date: Thu, 9 Jan 2014 06:08:14 +0100 Subject: Announcing Monocle, an experimental port of Glass for embedded systems In-Reply-To: References: Message-ID: <282BD3F6-1AE1-4E77-9E3C-CFCFEE8E6A25@muenster.de> Very Cool!!! Will it work also on the BeagleBone Black? Hardwarewise it seems to be very close to the xM. Also looking forward to test it on the cubox-i :) Cheers, Gerrit > Am 09.01.2014 um 01:00 schrieb Daniel Blaukopf : > > Hi, > > A few of us in the JavaFX team have been trying over the holidays to put together an embedded implementation of Glass that has minimal native code. When developing the existing embedded Glass implementation, Lens, we had noticed that there were a few problems were were running into again and again: > - We were duplicating data structures between C and Java. > - Logic was split between C and Java, making it hard to debug effectively. > - In many cases we needed to make expensive JNI up-calls from C to Java. > - Each additional platform we added support for increased the complexity of the system and frequently required similar changes in Glass and Prism. > - Any level of pluggability in C needs a lot of setup to do, both for the platform porting layer (on which we did make some progress) and the ability to use custom input handlers (on which we didn?t) > > Monocle is an attempt to resolve these problems. It?s in a very basic state right now, but it is enough to play with. There is a description of the components and how to run up at https://wiki.openjdk.java.net/display/OpenJFX/Monocle. > > Monocle is currently buildable for all platforms, but on desktop platforms it only works in headless mode. It can render on BeagleBoard xM, Freescale i.MX6 and in embedded emulation mode on Linux/x86. > > Your feedback is welcome, on this alias and in JIRA. > > Daniel From hang.vo at oracle.com Thu Jan 9 00:18:24 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 08:18:24 +0000 Subject: hg: openjfx/8u-dev/rt: RT-32501: JavaFx Application crashes on Exit Message-ID: <20140109081845.5A90F62486@hg.openjdk.java.net> Changeset: b126a0ae5cd0 Author: vadim Date: 2014-01-09 12:07 +0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b126a0ae5cd0 RT-32501: JavaFx Application crashes on Exit Reviewed-by: anthony, kcr, fheidric, snorthov ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/prism/impl/PrismSettings.java From johan at lodgon.com Thu Jan 9 02:05:01 2014 From: johan at lodgon.com (Johan Vos) Date: Thu, 9 Jan 2014 11:05:01 +0100 Subject: Android Port: Next Steps In-Reply-To: <52C5CAB4.1010406@oracle.com> References: <52B4B65F.4020605@oracle.com> <52C5CAB4.1010406@oracle.com> Message-ID: Hi Steve, Doing this step by step, we probably need a solution on the use of JDK 8 language features first. As you mentioned in https://javafx-jira.kenai.com/browse/RT-35165, there is probably (unfortunately) no real option apart from having different source directories. How do we tackle this? I think we only need to have the affected files in a different directory, but then we need a build mechanism that use the alternate directory first in the Android(/iOS?) case. How can this be done without polluting the build system? Also, we need to make sure that general changes in affected files are also changed in the alternate directory. It seems we somehow need a fork of the javafx source files, do the modifications, and merge changes from the upstream into the fork whenever changes occur. This is how we currently do it on bitbucket, but I don't think that is an option here? Apart from this building issue, I agree that we need to have a solution for the Java 8 features. Retrolambda probably fixes the lambda incompatibilities (haven't used it yet, but at least from a theoretical point, it should be possible to use this). The default interfaces is more tricky, but we'll have to come up with a solution for this as well. - Johan 2014/1/2 Stephen F Northover > Hi Johan, > > I looked and the kinds of changes that you are making in > https://bitbucket.org/javafxports/android-graphics-rt and I can see that > they fall into a number of different categories: > > 1) JDK8 Language Features > > - work arounds for ObservableList default methods > - work arounds for the use of lambda (in test and example code) > - work arounds for the lack of final declarations (in test and example > code) > > I have entered https://javafx-jira.kenai.com/browse/RT-35165 to track the > defender method problem. > > Eventually, OpenJFX will embrace lambda expressions and it is likely that > iOS and Android will need to use RetroLambda. When we embrace lambda, > there will be a JIRA that covers the work and you an watch progress there. > In the meantime, you could look into RetroLambda now and see if it will > help you. Since it works on byte codes, you won't be able to step in the > debugger because the source won't match the executable. This might not be > an issue for you. ASIDE: I've attempted to build the code under Android > Studio and it runs out of method handles in dex during compile. Any ideas? > > In the case of final declarations, I think that there are so few of them > right now that we can just fix them as then sneak in. You will need to > keep track of them as they happen. Eventually, if you earn commit rights, > you can just fix them. > > 2) JDK8 Library (modules/compat/src) > > - missing classes and annotations (such as FunctionalInterface) > - missing API in JDK7 classes (I thought I had gotten rid of these) > > This code is not part of OpenJFX and should not be in the repo. Instead, > you need to maintain and build the code somewhere else and make a jar > available as part of your build. For example, when OpenJFX is built, it > gets the SWT jar from Eclipse.org. You will need to do something similar > when OpenJFX for Android or iOS is built. > > 3) Android Build Files and Tools (android-tools and more) > > - files like dalvik.gradle and shell scripts etc. > > Some of this is being tracked by > https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that you enter > JIRA for each part that you want moved over. For example, android-tools is > not covered by this JIRA. > > 4) Android Specific Files (New and Changed files) > > - src/dalvik > - android.h, LensApplication.c etc. > > You will need to enter JIRA for these. I'm not sure which changes are > needed and which are not. FX embedded committers will need to go over the > changes as Android and Lens share the same code. > > 5) "Unnecessary Changes" > > - these are mostly due to being out of sync with OpenJFX > - some of these are related to FunctionalInterface which you should add to > your JDK8 compat library > > As more of your code moves over to OpenJFX, the list of changes here will > become zero. I suggest that you browse all the changes that you have and > get rid of as many as you can while preparing patches for OpenJFX. > > Best of luck Johan! Our goal is to bootstrap you port as quickly as we > can subject to the rules of the OpenJDK which we must follow. Please enter > JIRA as necessary to track your work and we can interact there. > > Happy New Year! > > Steve > > On 2013-12-31 3:47 AM, Johan Vos wrote: > > Steve, > > The main issue is currently getting bootstrapped. If we want to build the > Dalvik-runtime using open-jfx, we need a location on where to put the > dalvik files. This is what I tried to describe in > https://javafx-jira.kenai.com/browse/RT-35123 > > Please note that we're not really doing an Android port, but a Dalvik > port. The (excellent) work done by Oracle in the past allowed for both > using Dalvik as well as an Oracle-internal VM. There are no indications > that the latter is ever going to fly, so I don't want to have an > abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do > hope there will be other VM's (Oracle VM and more) later, as that will make > it easier to have Java 8 and so on, but right now we have to stick with > what we have (dalvik). > > Without these files, we can supply patches for existing files in > open-jfx, but by no means we can build the runtime. I do understand it is > not trivial to "add" a directory for the sake of a port, but then, a port > is not trivial as well. I'm open to all suggestions. > The longer we wait, however, with synchronizing the bitbucket repo with > the open-jfx repo, the harder it gets. Right now, I have no other option > than committing all changes in the bitbucket repo, as I need to be able to > build a runtime. We had 419 downloads of the runtime in 10 days, so clearly > there are people interested in this. > > - Johan > > > 2013/12/20 Stephen F Northover > >> Hi Johan, >> >> This is very good news. We need to work together so that you are able to >> run OpenJFX unmodified. This may not be practical for all sorts of >> reasons, but we need to seriously explore this and work towards this goal. >> Please open JIRA for the various problems you are seeing and we can try to >> deal with them there and on this list. >> >> Thanks, >> Steve >> >> >> On 2013-12-20 12:56 PM, Johan Vos wrote: >> >>> Hi, >>> >>> As you might know, 2 months ago I started a community effort for >>> "porting" >>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>> runtime, which can be downloaded at >>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>> instructions on how to build applications at >>> >>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>> >>> Building the runtime itself is explained at >>> >>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>> >>> At this moment, most of the Ensemble suite runs on Android (positive >>> reports starting with Android 3.x). >>> >>> The downloadable runtime is created using the bitbucket project at >>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>> changes >>> made in openjfx-graphics should be in the Android runtime as well. >>> >>> There are a number of issues left: >>> * touch map issues causing applications to crash if "touched too much". I >>> created a JIRA ticket for this and will create another one (related, but >>> not same cause) later. >>> * Java 7 only. Currently, applications cannot make use of Java 8 >>> features. >>> Dalvik has no invokedynamic, so we can't do lambda's. >>> * we just started, so there will be plenty of other bugs. >>> >>> We are also spending efforts in documentation and community interaction. >>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>> of >>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>> been >>> downloaded 60 times since it was released a couple of hours ago. So there >>> is definitely community interest and involvement. >>> Clearly, there is involvement from Oracle as well. Most of the effort so >>> far has been done by Tomas Brandalik and the Prague team. I was >>> positively >>> surprised to see the amount of native code that was already available for >>> Android. >>> >>> After a few discussions, it has been agreed that we should try to >>> synchronize as much as possible with the OpenJFX repositories, without >>> jeopardizing the stability and performance of the main ports, and without >>> running into legal trouble. >>> >>> I will run a diff on the current code versus the OpenJFX code, and I will >>> try to create issues with patches for sending the changes back to >>> OpenJFX. >>> Not all changes can go back to OpenJFX. We had to add a number of classes >>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>> can't commit those in OpenJFX. >>> >>> We had to make a number of changes to JavaFX files as well, in order to >>> make them compile with JDK 1.7. Most of these were about removing >>> Function >>> and adding implementations for the default interface methods on >>> ObservableList. >>> I have no clear opinion on how these changed files could somehow be used >>> from within OpenJFX, but I'm very open to suggestions. >>> >>> Finally, keep in mind that this is a community effort. Nobody is paying >>> for >>> this, and it is done in our spare time. I'm doing my best to move forward >>> as soon as I can, but I have other things to work on as well of course. >>> However, the collaboration between the Java community and Oracle (mainly >>> Tomas) has been great so far. It is in the interest of anyone working on >>> or >>> with Java to show the world that JavaFX runs on Android devices. >>> >>> - Johan >>> >> >> > > From hjohn at xs4all.nl Thu Jan 9 04:19:30 2014 From: hjohn at xs4all.nl (John Hendrikx) Date: Thu, 09 Jan 2014 13:19:30 +0100 Subject: CSS metadata boilerplate In-Reply-To: <52CDC0B1.1030005@xs4all.nl> References: <52CCB930.9020306@xs4all.nl> <52CDC0B1.1030005@xs4all.nl> Message-ID: <52CE93D2.7030707@xs4all.nl> Noticed a slight bug in the code. The line: cssMetaDataByName.put(cssName, cssMetaData); ...needs to be added in the if block where the CssMetaData is created. --John From hang.vo at oracle.com Thu Jan 9 06:33:46 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 14:33:46 +0000 Subject: hg: openjfx/8u-dev/rt: Fix for RT-34949:HelloSanity - Robot tests fail on Linux Message-ID: <20140109143513.0821E62492@hg.openjdk.java.net> Changeset: 7c55a20fbcc1 Author: Elina Kleyman Date: 2014-01-09 16:30 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/7c55a20fbcc1 Fix for RT-34949:HelloSanity - Robot tests fail on Linux ! apps/toys/Hello/src/main/java/hello/TestBuilder.java From david.grieve at oracle.com Thu Jan 9 07:59:47 2014 From: david.grieve at oracle.com (David Grieve) Date: Thu, 9 Jan 2014 10:59:47 -0500 Subject: CSS metadata boilerplate In-Reply-To: <52CDC0B1.1030005@xs4all.nl> References: <52CCB930.9020306@xs4all.nl> <52CDC0B1.1030005@xs4all.nl> Message-ID: <66DD8661-7EC5-4056-914A-0A82E7BF4E4B@oracle.com> Thanks, John. It would be helpful if you could create an issue in jira to track this. On Jan 8, 2014, at 4:18 PM, John Hendrikx wrote: > On 8/01/2014 14:28, David Grieve wrote: >> The reason things are as they are is because most properties in the core classes are lazily created and I didn't want cause the property to be created just to see if it was bound. But that is a particular concern for the core classes and not so much for controls. > I see, this mechanism certainly doesn't try to do that. It only works when the properties are created in advance. >> I'm not sure if you are aware of the javafx.css.SimpleStyleableXXXProperty classes. I'd be interested to see how your custom classes dovetail into these as I'd be more than willing to consider taking your additions and calling them my own? uh, um, I mean, rolling them into the source code. > I wasn't aware of those, but I just took a look at them. They do make the process a little bit easier, although still require creating a CssMetaData object yourself. If you want to use the code or just the idea, please feel free -- it would be very nice for creating custom controls if it was part of JavaFX. >> Have you looked at the initialization-on-demand holder pattern for creating the List? > That's the "Super-lazy instantiation pattern from Bill Pugh" ? I've seen it several times in the JavaFX sources, and I think it is a neat way to avoid certain statics from being created immediately after the class loads. > > However, I'm not sure if it applies here, the first getCssMetaData call basically is the trigger that causes all CssMetaData objects and the List to get created... I'm not sure how I could make it any more lazy than that. The Map I use in the properties themselves is static, so shouldn't cause too much footprint. > > The code I use for the one of the SimpleStyleableXXXProperty is below. It relies on a Map that will cache CssMetaData objects (for different instances of the same property in a Control) and are only created when they're needed. CssMetaData objects only get created one time on access, after that further calls just do a quick map lookup. > > It makes assumptions about the kind of converter needed, which could be parameterized further with another constructor option. > > public class SimpleStyleableDoubleProperty extends StyleableDoubleProperty { > private static final Map, Map>> CSS_META_DATA_BY_NAME_BY_CLASS = new HashMap<>(); > > private final Object bean; > private final String name; > private final String cssName; > private final double initialValue; > > public SimpleStyleableDoubleProperty(Object bean, String name, String cssName, double initialValue) { > super(initialValue); > > this.bean = bean; > this.name = name; > this.cssName = cssName; > this.initialValue = initialValue; > } > > @Override > public CssMetaData getCssMetaData() { > // TODO consider synchronizing CSS_META_DATA_BY_NAME_BY_CLASS -- depends on whether or not this ever gets called by more than one thread. > Map> cssMetaDataByName = CSS_META_DATA_BY_NAME_BY_CLASS.get(bean.getClass()); > > if(cssMetaDataByName == null) { > cssMetaDataByName = new HashMap<>(); > CSS_META_DATA_BY_NAME_BY_CLASS.put(bean.getClass(), cssMetaDataByName); > } > > CssMetaData cssMetaData = cssMetaDataByName.get(cssName); > > if(cssMetaData == null) { > cssMetaData = new CssMetaData(cssName, StyleConverter.getSizeConverter(), initialValue) { > @Override > public boolean isSettable(Styleable styleable) { > return !SimpleStyleableDoubleProperty.this.isBound(); > } > > @Override > public StyleableDoubleProperty getStyleableProperty(Styleable styleable) { > return SimpleStyleableDoubleProperty.this; > } > }; > } > > return cssMetaData; > } > > @Override > public Object getBean() { > return bean; > } > > @Override > public String getName() { > return name; > } > } > > --John > > >> >> On Jan 7, 2014, at 9:34 PM, John Hendrikx wrote: >> >>> Hi List, >>> >>> I'm in the process of adding CSS metadata to a new control, and I noticed there is a lot of boilerplate. >>> >>> In order to reduce this, I've created some custom classes StyleableProperty classes (SimpleStyleableXXXProperty), which reduces the boilerplate significantly without sacrificing much (if any) performance. The only thing that I cannot easily provide in this fashion is the static getClassCssMetaData method. From the documentation I understand it is there just for convience for subclass creators and is not used by the CSS engine at all -- atleast, everything seems to work. >>> >>> The shortened version for CSS aware properties basically looks like: >>> >>> private final SimpleStyleableDoubleProperty cellAlignment = new SimpleStyleableDoubleProperty(this, "cellAlignment", "-fx-cell-alignment", 0.8); >>> private final SimpleStyleableDoubleProperty density= new SimpleStyleableDoubleProperty(this, "density", "-fx-density", 0.02); >>> private final SimpleStyleableBooleanProperty reflectionEnabled= new SimpleStyleableBooleanProperty(this, "reflectionEnabled", "-fx-reflection-enabled", true); >>> private final SimpleStyleableBooleanProperty clipReflections= new SimpleStyleableBooleanProperty(this, "clipReflections", "-fx-clip-reflections", true); >>> >>> With one small bit of supporting code in the relevant class (Skin or Control), which is basically a non-static implementation of the standard CSS List example code: >>> >>> private static List> cssMetaData; >>> >>> @Override >>> public List> getCssMetaData() { // Unsynchronized. WC: list gets initialized multiple times. >>> if(cssMetaData == null) { >>> List> metaData = new ArrayList<>(super.getCssMetaData()); >>> Collections.addAll(metaData, >>> cellAlignment.getCssMetaData(), >>> density.getCssMetaData(), >>> reflectionEnabled.getCssMetaData(), >>> clipReflections.getCssMetaData() >>> ); >>> cssMetaData = Collections.unmodifiableList(metaData); >>> } >>> >>> return cssMetaData; >>> } >>> >>> Note that the List is static and lazy-final. The same goes for the getCssMetaData method in the SimpleStyleableXXXProperty classes. There is a slight performance decrease in those classes as getCssMetaData is looked up from a static Map (indexed by Class + css property name) and lazily created as needed -- a Map lookup however should be quite fast enough. >>> >>> I'm sure the design had good reason to do things as they are, and I'm wondering if reducing the boilerplate has left me missing something important. >>> >>> I welcome any insights! >>> >>> --John > From tom.schindl at bestsolution.at Thu Jan 9 08:10:01 2014 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 09 Jan 2014 17:10:01 +0100 Subject: Android Port: Next Steps In-Reply-To: References: <52B4B65F.4020605@oracle.com> <52C5CAB4.1010406@oracle.com> Message-ID: <52CEC9D9.1070009@bestsolution.at> Have you managed to get an JavaFX running on the emulator. I've tested with one of ours and while it works great on the real device. It crashes in the emulator. > V/GLASS ( 1121): JNI call notifyViewEvent to lensView 0x1d30041a > W/System.err( 1121): java.lang.UnsupportedOperationException: Pixel format BYTE_BGRA_PRE not supported on this device > W/System.err( 1121): at com.sun.prism.es2.ES2Texture.create(ES2Texture.java:103) > W/System.err( 1121): at com.sun.prism.es2.ES2ResourceFactory.createTexture(ES2ResourceFactory.java:86) > W/System.err( 1121): at com.sun.prism.impl.ps.PaintHelper.initGradientTextures(PaintHelper.java:118) > W/System.err( 1121): at com.sun.prism.impl.ps.PaintHelper.getGradientTexture(PaintHelper.java:141) > W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:450) > W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:385) > W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:847) > W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:607) > W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderGraphics.fillRoundRect(BaseShaderGraphics.java:1549) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1110) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:847) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:750) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:571) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2282) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2176) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2202) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2037) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043) > W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) > W/System.err( 1121): at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:469) > W/System.err( 1121): at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:324) > W/System.err( 1121): at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:97) > W/System.err( 1121): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) > W/System.err( 1121): at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:279) > W/System.err( 1121): at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58) > W/System.err( 1121): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) > W/System.err( 1121): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) > W/System.err( 1121): at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129) > W/System.err( 1121): at java.lang.Thread.run(Thread.java:841) I have to say that I've never seen a crapier thing than this emulator. Could we produce x86 binaries so that we can use genymotion? Tom On 09.01.14 11:05, Johan Vos wrote: > Hi Steve, > > Doing this step by step, we probably need a solution on the use of JDK 8 > language features first. As you mentioned in > https://javafx-jira.kenai.com/browse/RT-35165, there is probably > (unfortunately) no real option apart from having different source > directories. How do we tackle this? > I think we only need to have the affected files in a different directory, > but then we need a build mechanism that use the alternate directory first > in the Android(/iOS?) case. How can this be done without polluting the > build system? Also, we need to make sure that general changes in affected > files are also changed in the alternate directory. > It seems we somehow need a fork of the javafx source files, do the > modifications, and merge changes from the upstream into the fork whenever > changes occur. This is how we currently do it on bitbucket, but I don't > think that is an option here? > > Apart from this building issue, I agree that we need to have a solution for > the Java 8 features. Retrolambda probably fixes the lambda > incompatibilities (haven't used it yet, but at least from a theoretical > point, it should be possible to use this). The default interfaces is more > tricky, but we'll have to come up with a solution for this as well. > > - Johan > > > 2014/1/2 Stephen F Northover > >> Hi Johan, >> >> I looked and the kinds of changes that you are making in >> https://bitbucket.org/javafxports/android-graphics-rt and I can see that >> they fall into a number of different categories: >> >> 1) JDK8 Language Features >> >> - work arounds for ObservableList default methods >> - work arounds for the use of lambda (in test and example code) >> - work arounds for the lack of final declarations (in test and example >> code) >> >> I have entered https://javafx-jira.kenai.com/browse/RT-35165 to track the >> defender method problem. >> >> Eventually, OpenJFX will embrace lambda expressions and it is likely that >> iOS and Android will need to use RetroLambda. When we embrace lambda, >> there will be a JIRA that covers the work and you an watch progress there. >> In the meantime, you could look into RetroLambda now and see if it will >> help you. Since it works on byte codes, you won't be able to step in the >> debugger because the source won't match the executable. This might not be >> an issue for you. ASIDE: I've attempted to build the code under Android >> Studio and it runs out of method handles in dex during compile. Any ideas? >> >> In the case of final declarations, I think that there are so few of them >> right now that we can just fix them as then sneak in. You will need to >> keep track of them as they happen. Eventually, if you earn commit rights, >> you can just fix them. >> >> 2) JDK8 Library (modules/compat/src) >> >> - missing classes and annotations (such as FunctionalInterface) >> - missing API in JDK7 classes (I thought I had gotten rid of these) >> >> This code is not part of OpenJFX and should not be in the repo. Instead, >> you need to maintain and build the code somewhere else and make a jar >> available as part of your build. For example, when OpenJFX is built, it >> gets the SWT jar from Eclipse.org. You will need to do something similar >> when OpenJFX for Android or iOS is built. >> >> 3) Android Build Files and Tools (android-tools and more) >> >> - files like dalvik.gradle and shell scripts etc. >> >> Some of this is being tracked by >> https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that you enter >> JIRA for each part that you want moved over. For example, android-tools is >> not covered by this JIRA. >> >> 4) Android Specific Files (New and Changed files) >> >> - src/dalvik >> - android.h, LensApplication.c etc. >> >> You will need to enter JIRA for these. I'm not sure which changes are >> needed and which are not. FX embedded committers will need to go over the >> changes as Android and Lens share the same code. >> >> 5) "Unnecessary Changes" >> >> - these are mostly due to being out of sync with OpenJFX >> - some of these are related to FunctionalInterface which you should add to >> your JDK8 compat library >> >> As more of your code moves over to OpenJFX, the list of changes here will >> become zero. I suggest that you browse all the changes that you have and >> get rid of as many as you can while preparing patches for OpenJFX. >> >> Best of luck Johan! Our goal is to bootstrap you port as quickly as we >> can subject to the rules of the OpenJDK which we must follow. Please enter >> JIRA as necessary to track your work and we can interact there. >> >> Happy New Year! >> >> Steve >> >> On 2013-12-31 3:47 AM, Johan Vos wrote: >> >> Steve, >> >> The main issue is currently getting bootstrapped. If we want to build the >> Dalvik-runtime using open-jfx, we need a location on where to put the >> dalvik files. This is what I tried to describe in >> https://javafx-jira.kenai.com/browse/RT-35123 >> >> Please note that we're not really doing an Android port, but a Dalvik >> port. The (excellent) work done by Oracle in the past allowed for both >> using Dalvik as well as an Oracle-internal VM. There are no indications >> that the latter is ever going to fly, so I don't want to have an >> abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do >> hope there will be other VM's (Oracle VM and more) later, as that will make >> it easier to have Java 8 and so on, but right now we have to stick with >> what we have (dalvik). >> >> Without these files, we can supply patches for existing files in >> open-jfx, but by no means we can build the runtime. I do understand it is >> not trivial to "add" a directory for the sake of a port, but then, a port >> is not trivial as well. I'm open to all suggestions. >> The longer we wait, however, with synchronizing the bitbucket repo with >> the open-jfx repo, the harder it gets. Right now, I have no other option >> than committing all changes in the bitbucket repo, as I need to be able to >> build a runtime. We had 419 downloads of the runtime in 10 days, so clearly >> there are people interested in this. >> >> - Johan >> >> >> 2013/12/20 Stephen F Northover >> >>> Hi Johan, >>> >>> This is very good news. We need to work together so that you are able to >>> run OpenJFX unmodified. This may not be practical for all sorts of >>> reasons, but we need to seriously explore this and work towards this goal. >>> Please open JIRA for the various problems you are seeing and we can try to >>> deal with them there and on this list. >>> >>> Thanks, >>> Steve >>> >>> >>> On 2013-12-20 12:56 PM, Johan Vos wrote: >>> >>>> Hi, >>>> >>>> As you might know, 2 months ago I started a community effort for >>>> "porting" >>>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>>> runtime, which can be downloaded at >>>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>>> instructions on how to build applications at >>>> >>>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>>> >>>> Building the runtime itself is explained at >>>> >>>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>>> >>>> At this moment, most of the Ensemble suite runs on Android (positive >>>> reports starting with Android 3.x). >>>> >>>> The downloadable runtime is created using the bitbucket project at >>>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>>> changes >>>> made in openjfx-graphics should be in the Android runtime as well. >>>> >>>> There are a number of issues left: >>>> * touch map issues causing applications to crash if "touched too much". I >>>> created a JIRA ticket for this and will create another one (related, but >>>> not same cause) later. >>>> * Java 7 only. Currently, applications cannot make use of Java 8 >>>> features. >>>> Dalvik has no invokedynamic, so we can't do lambda's. >>>> * we just started, so there will be plenty of other bugs. >>>> >>>> We are also spending efforts in documentation and community interaction. >>>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>>> of >>>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>>> been >>>> downloaded 60 times since it was released a couple of hours ago. So there >>>> is definitely community interest and involvement. >>>> Clearly, there is involvement from Oracle as well. Most of the effort so >>>> far has been done by Tomas Brandalik and the Prague team. I was >>>> positively >>>> surprised to see the amount of native code that was already available for >>>> Android. >>>> >>>> After a few discussions, it has been agreed that we should try to >>>> synchronize as much as possible with the OpenJFX repositories, without >>>> jeopardizing the stability and performance of the main ports, and without >>>> running into legal trouble. >>>> >>>> I will run a diff on the current code versus the OpenJFX code, and I will >>>> try to create issues with patches for sending the changes back to >>>> OpenJFX. >>>> Not all changes can go back to OpenJFX. We had to add a number of classes >>>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>>> can't commit those in OpenJFX. >>>> >>>> We had to make a number of changes to JavaFX files as well, in order to >>>> make them compile with JDK 1.7. Most of these were about removing >>>> Function >>>> and adding implementations for the default interface methods on >>>> ObservableList. >>>> I have no clear opinion on how these changed files could somehow be used >>>> from within OpenJFX, but I'm very open to suggestions. >>>> >>>> Finally, keep in mind that this is a community effort. Nobody is paying >>>> for >>>> this, and it is done in our spare time. I'm doing my best to move forward >>>> as soon as I can, but I have other things to work on as well of course. >>>> However, the collaboration between the Java community and Oracle (mainly >>>> Tomas) has been great so far. It is in the interest of anyone working on >>>> or >>>> with Java to show the world that JavaFX runs on Android devices. >>>> >>>> - Johan >>>> >>> >>> >> >> From hang.vo at oracle.com Thu Jan 9 08:48:42 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 16:48:42 +0000 Subject: hg: openjfx/8u-dev/rt: 2 new changesets Message-ID: <20140109164922.9AD3B62499@hg.openjdk.java.net> Changeset: b314756701b3 Author: Lisa.Selle at oracle.com Date: 2014-01-09 11:39 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b314756701b3 Fix for rt-35241 - use a smaller transparent color key for beagleboard xm rev c. Reviewed by dblaukopf ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPCursor.java Changeset: da7f50d38a20 Author: Daniel Blaukopf Date: 2014-01-09 18:41 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/da7f50d38a20 RT-35242 [Monocle] Target window is cached in MouseState Reviewed-by: kselle ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseState.java From tomas.brandalik at oracle.com Thu Jan 9 10:05:35 2014 From: tomas.brandalik at oracle.com (tomas.brandalik at oracle.com) Date: Thu, 09 Jan 2014 19:05:35 +0100 Subject: Android Port: Next Steps In-Reply-To: <52CEC9D9.1070009@bestsolution.at> References: <52B4B65F.4020605@oracle.com> <52C5CAB4.1010406@oracle.com> <52CEC9D9.1070009@bestsolution.at> Message-ID: <52CEE4EF.4020008@oracle.com> Hi Tom, although emulator supports opengl it doesn't have required opengl extension. -Tomas On 01/09/2014 05:10 PM, Tom Schindl wrote: > Have you managed to get an JavaFX running on the emulator. I've tested > with one of ours and while it works great on the real device. It crashes > in the emulator. > >> V/GLASS ( 1121): JNI call notifyViewEvent to lensView 0x1d30041a >> W/System.err( 1121): java.lang.UnsupportedOperationException: Pixel format BYTE_BGRA_PRE not supported on this device >> W/System.err( 1121): at com.sun.prism.es2.ES2Texture.create(ES2Texture.java:103) >> W/System.err( 1121): at com.sun.prism.es2.ES2ResourceFactory.createTexture(ES2ResourceFactory.java:86) >> W/System.err( 1121): at com.sun.prism.impl.ps.PaintHelper.initGradientTextures(PaintHelper.java:118) >> W/System.err( 1121): at com.sun.prism.impl.ps.PaintHelper.getGradientTexture(PaintHelper.java:141) >> W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:450) >> W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:385) >> W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:847) >> W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:607) >> W/System.err( 1121): at com.sun.prism.impl.ps.BaseShaderGraphics.fillRoundRect(BaseShaderGraphics.java:1549) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1110) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:847) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:750) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:571) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2282) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2176) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2202) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2037) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043) >> W/System.err( 1121): at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951) >> W/System.err( 1121): at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:469) >> W/System.err( 1121): at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:324) >> W/System.err( 1121): at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:97) >> W/System.err( 1121): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) >> W/System.err( 1121): at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:279) >> W/System.err( 1121): at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58) >> W/System.err( 1121): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) >> W/System.err( 1121): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) >> W/System.err( 1121): at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129) >> W/System.err( 1121): at java.lang.Thread.run(Thread.java:841) > I have to say that I've never seen a crapier thing than this emulator. > Could we produce x86 binaries so that we can use genymotion? > > Tom > > On 09.01.14 11:05, Johan Vos wrote: >> Hi Steve, >> >> Doing this step by step, we probably need a solution on the use of JDK 8 >> language features first. As you mentioned in >> https://javafx-jira.kenai.com/browse/RT-35165, there is probably >> (unfortunately) no real option apart from having different source >> directories. How do we tackle this? >> I think we only need to have the affected files in a different directory, >> but then we need a build mechanism that use the alternate directory first >> in the Android(/iOS?) case. How can this be done without polluting the >> build system? Also, we need to make sure that general changes in affected >> files are also changed in the alternate directory. >> It seems we somehow need a fork of the javafx source files, do the >> modifications, and merge changes from the upstream into the fork whenever >> changes occur. This is how we currently do it on bitbucket, but I don't >> think that is an option here? >> >> Apart from this building issue, I agree that we need to have a solution for >> the Java 8 features. Retrolambda probably fixes the lambda >> incompatibilities (haven't used it yet, but at least from a theoretical >> point, it should be possible to use this). The default interfaces is more >> tricky, but we'll have to come up with a solution for this as well. >> >> - Johan >> >> >> 2014/1/2 Stephen F Northover >> >>> Hi Johan, >>> >>> I looked and the kinds of changes that you are making in >>> https://bitbucket.org/javafxports/android-graphics-rt and I can see that >>> they fall into a number of different categories: >>> >>> 1) JDK8 Language Features >>> >>> - work arounds for ObservableList default methods >>> - work arounds for the use of lambda (in test and example code) >>> - work arounds for the lack of final declarations (in test and example >>> code) >>> >>> I have entered https://javafx-jira.kenai.com/browse/RT-35165 to track the >>> defender method problem. >>> >>> Eventually, OpenJFX will embrace lambda expressions and it is likely that >>> iOS and Android will need to use RetroLambda. When we embrace lambda, >>> there will be a JIRA that covers the work and you an watch progress there. >>> In the meantime, you could look into RetroLambda now and see if it will >>> help you. Since it works on byte codes, you won't be able to step in the >>> debugger because the source won't match the executable. This might not be >>> an issue for you. ASIDE: I've attempted to build the code under Android >>> Studio and it runs out of method handles in dex during compile. Any ideas? >>> >>> In the case of final declarations, I think that there are so few of them >>> right now that we can just fix them as then sneak in. You will need to >>> keep track of them as they happen. Eventually, if you earn commit rights, >>> you can just fix them. >>> >>> 2) JDK8 Library (modules/compat/src) >>> >>> - missing classes and annotations (such as FunctionalInterface) >>> - missing API in JDK7 classes (I thought I had gotten rid of these) >>> >>> This code is not part of OpenJFX and should not be in the repo. Instead, >>> you need to maintain and build the code somewhere else and make a jar >>> available as part of your build. For example, when OpenJFX is built, it >>> gets the SWT jar from Eclipse.org. You will need to do something similar >>> when OpenJFX for Android or iOS is built. >>> >>> 3) Android Build Files and Tools (android-tools and more) >>> >>> - files like dalvik.gradle and shell scripts etc. >>> >>> Some of this is being tracked by >>> https://javafx-jira.kenai.com/browse/RT-35123 . I suggest that you enter >>> JIRA for each part that you want moved over. For example, android-tools is >>> not covered by this JIRA. >>> >>> 4) Android Specific Files (New and Changed files) >>> >>> - src/dalvik >>> - android.h, LensApplication.c etc. >>> >>> You will need to enter JIRA for these. I'm not sure which changes are >>> needed and which are not. FX embedded committers will need to go over the >>> changes as Android and Lens share the same code. >>> >>> 5) "Unnecessary Changes" >>> >>> - these are mostly due to being out of sync with OpenJFX >>> - some of these are related to FunctionalInterface which you should add to >>> your JDK8 compat library >>> >>> As more of your code moves over to OpenJFX, the list of changes here will >>> become zero. I suggest that you browse all the changes that you have and >>> get rid of as many as you can while preparing patches for OpenJFX. >>> >>> Best of luck Johan! Our goal is to bootstrap you port as quickly as we >>> can subject to the rules of the OpenJDK which we must follow. Please enter >>> JIRA as necessary to track your work and we can interact there. >>> >>> Happy New Year! >>> >>> Steve >>> >>> On 2013-12-31 3:47 AM, Johan Vos wrote: >>> >>> Steve, >>> >>> The main issue is currently getting bootstrapped. If we want to build the >>> Dalvik-runtime using open-jfx, we need a location on where to put the >>> dalvik files. This is what I tried to describe in >>> https://javafx-jira.kenai.com/browse/RT-35123 >>> >>> Please note that we're not really doing an Android port, but a Dalvik >>> port. The (excellent) work done by Oracle in the past allowed for both >>> using Dalvik as well as an Oracle-internal VM. There are no indications >>> that the latter is ever going to fly, so I don't want to have an >>> abstraction on top of {Dalvik, OracleVM} if only the first one exists. I do >>> hope there will be other VM's (Oracle VM and more) later, as that will make >>> it easier to have Java 8 and so on, but right now we have to stick with >>> what we have (dalvik). >>> >>> Without these files, we can supply patches for existing files in >>> open-jfx, but by no means we can build the runtime. I do understand it is >>> not trivial to "add" a directory for the sake of a port, but then, a port >>> is not trivial as well. I'm open to all suggestions. >>> The longer we wait, however, with synchronizing the bitbucket repo with >>> the open-jfx repo, the harder it gets. Right now, I have no other option >>> than committing all changes in the bitbucket repo, as I need to be able to >>> build a runtime. We had 419 downloads of the runtime in 10 days, so clearly >>> there are people interested in this. >>> >>> - Johan >>> >>> >>> 2013/12/20 Stephen F Northover >>> >>>> Hi Johan, >>>> >>>> This is very good news. We need to work together so that you are able to >>>> run OpenJFX unmodified. This may not be practical for all sorts of >>>> reasons, but we need to seriously explore this and work towards this goal. >>>> Please open JIRA for the various problems you are seeing and we can try to >>>> deal with them there and on this list. >>>> >>>> Thanks, >>>> Steve >>>> >>>> >>>> On 2013-12-20 12:56 PM, Johan Vos wrote: >>>> >>>>> Hi, >>>>> >>>>> As you might know, 2 months ago I started a community effort for >>>>> "porting" >>>>> JavaFX to Android. Today, we released build 3 of the JavaFX Android >>>>> runtime, which can be downloaded at >>>>> https://bitbucket.org/javafxports/android/downloads/dalvik-sdk-b3.zipwith >>>>> instructions on how to build applications at >>>>> >>>>> https://bitbucket.org/javafxports/android/wiki/Building%20and%20deploying%20JavaFX%20Applications >>>>> >>>>> Building the runtime itself is explained at >>>>> >>>>> https://bitbucket.org/javafxports/android/wiki/Building%20the%20JavaFX%20Android%20Runtime >>>>> >>>>> At this moment, most of the Ensemble suite runs on Android (positive >>>>> reports starting with Android 3.x). >>>>> >>>>> The downloadable runtime is created using the bitbucket project at >>>>> https://bitbucket.org/javafxports/android-graphics-rt which is a fork of >>>>> the openjfx-graphics-rt mirror on bitbucket. We merge often, so all >>>>> changes >>>>> made in openjfx-graphics should be in the Android runtime as well. >>>>> >>>>> There are a number of issues left: >>>>> * touch map issues causing applications to crash if "touched too much". I >>>>> created a JIRA ticket for this and will create another one (related, but >>>>> not same cause) later. >>>>> * Java 7 only. Currently, applications cannot make use of Java 8 >>>>> features. >>>>> Dalvik has no invokedynamic, so we can't do lambda's. >>>>> * we just started, so there will be plenty of other bugs. >>>>> >>>>> We are also spending efforts in documentation and community interaction. >>>>> The google group javafxandroid has a pretty active mailinglist. Build 2 >>>>> of >>>>> the runtime has been downloaded 291 times in 2 weeks, and build 3 has >>>>> been >>>>> downloaded 60 times since it was released a couple of hours ago. So there >>>>> is definitely community interest and involvement. >>>>> Clearly, there is involvement from Oracle as well. Most of the effort so >>>>> far has been done by Tomas Brandalik and the Prague team. I was >>>>> positively >>>>> surprised to see the amount of native code that was already available for >>>>> Android. >>>>> >>>>> After a few discussions, it has been agreed that we should try to >>>>> synchronize as much as possible with the OpenJFX repositories, without >>>>> jeopardizing the stability and performance of the main ports, and without >>>>> running into legal trouble. >>>>> >>>>> I will run a diff on the current code versus the OpenJFX code, and I will >>>>> try to create issues with patches for sending the changes back to >>>>> OpenJFX. >>>>> Not all changes can go back to OpenJFX. We had to add a number of classes >>>>> that are missing on Dalvik and that are used by OpenJFX, and clearly we >>>>> can't commit those in OpenJFX. >>>>> >>>>> We had to make a number of changes to JavaFX files as well, in order to >>>>> make them compile with JDK 1.7. Most of these were about removing >>>>> Function >>>>> and adding implementations for the default interface methods on >>>>> ObservableList. >>>>> I have no clear opinion on how these changed files could somehow be used >>>>> from within OpenJFX, but I'm very open to suggestions. >>>>> >>>>> Finally, keep in mind that this is a community effort. Nobody is paying >>>>> for >>>>> this, and it is done in our spare time. I'm doing my best to move forward >>>>> as soon as I can, but I have other things to work on as well of course. >>>>> However, the collaboration between the Java community and Oracle (mainly >>>>> Tomas) has been great so far. It is in the interest of anyone working on >>>>> or >>>>> with Java to show the world that JavaFX runs on Android devices. >>>>> >>>>> - Johan >>>>> >>>> >>> From hang.vo at oracle.com Thu Jan 9 12:48:29 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 20:48:29 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35251 [Monocle] Treat warnings as errors when compiling C code Message-ID: <20140109204906.0CD02624A0@hg.openjdk.java.net> Changeset: 3484840f5140 Author: Daniel Blaukopf Date: 2014-01-09 22:31 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/3484840f5140 RT-35251 [Monocle] Treat warnings as errors when compiling C code ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle From swpalmer at gmail.com Thu Jan 9 14:11:03 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 9 Jan 2014 17:11:03 -0500 Subject: Serious ClassLoader issues with standard JavaFX packaging. Message-ID: Has anyone tried using a custom Log Formatter with a JavaFX app, where the log formatter was not part of the main application jar? We have a class implementing java.util.logging.Formatter that is present in a utility Jar. That utility jar is specified on the classpath for our JavaFX application using the javafxpackager -createjar command with the -classpath option. We can see that the jar is correctly added to the JavaFX-Class-Path: entry in the jar's manifest. However, the java.utils.logging APIs are not able to load it. We then hacked the package.cfg file in the application bundle created by javafxpacker -deploy -native to add this jar on the app.classpath= line (which was otherwise left blank). That fixed the problem. Looking more closely at the javafx launcher source code (fxpackager/src/main/java/com/javafx/Main.java) I see that a new URLClassLoader is created but using 'null' as the parent ClassLoader instead of the System ClassLoader or ContectClassLoader. Is that intentional? Note that this also broke other aspects of our application that dealt with loading plugins. I use the logging as an example because it is much simpler. Our application is compiled and deployed with 7u45. Regards, Scott From hang.vo at oracle.com Thu Jan 9 14:48:19 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 22:48:19 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35253 [Monocle] Turn off cursor blinking Message-ID: <20140109224835.19719624A5@hg.openjdk.java.net> Changeset: 00c463f633fc Author: Daniel Blaukopf Date: 2014-01-10 00:41 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/00c463f633fc RT-35253 [Monocle] Turn off cursor blinking ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/FBDevScreen.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/SysFS.java From hang.vo at oracle.com Thu Jan 9 14:33:31 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 09 Jan 2014 22:33:31 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35252 [Monocle] Synthesize mouse events on single-point touch screens Message-ID: <20140109223404.D1206624A3@hg.openjdk.java.net> Changeset: c37840998bfd Author: Daniel Blaukopf Date: 2014-01-10 00:30 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c37840998bfd RT-35252 [Monocle] Synthesize mouse events on single-point touch screens ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInput.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInputSynthesizer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchState.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/AbsoluteInputCapabilities.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxMouseProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxSystem.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11InputDeviceRegistry.java + modules/graphics/src/main/native-glass/monocle/linux/LinuxSystem.c From kevin.rushforth at oracle.com Thu Jan 9 15:32:03 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 09 Jan 2014 15:32:03 -0800 Subject: Serious ClassLoader issues with standard JavaFX packaging. In-Reply-To: References: Message-ID: <52CF3173.1070504@oracle.com> This may, in fact, be the root cause of https://javafx-jira.kenai.com/browse/RT-20988 which was resolved for FX 8 when we moved jfxrt.jar into lib/ext so I didn't look into it further. It is unlikely that we will fix this for an FX 2 release, so can you try it with FX 8 and see if it works for you (it should since you no longer need com.javafx.main.Main anymore). -- Kevin Scott Palmer wrote: > Has anyone tried using a custom Log Formatter with a JavaFX app, where the > log formatter was not part of the main application jar? > > We have a class implementing java.util.logging.Formatter that is present in > a utility Jar. That utility jar is specified on the classpath for our > JavaFX application using the javafxpackager -createjar command with > the -classpath option. We can see that the jar is correctly added to the > JavaFX-Class-Path: entry in the jar's manifest. > > However, the java.utils.logging APIs are not able to load it. > > We then hacked the package.cfg file in the application bundle created by > javafxpacker -deploy -native to add this jar on the app.classpath= line > (which was otherwise left blank). > > That fixed the problem. > > Looking more closely at the javafx launcher source code > (fxpackager/src/main/java/com/javafx/Main.java) I see that a new > URLClassLoader is created but using 'null' as the parent ClassLoader > instead of the System ClassLoader or ContectClassLoader. > > Is that intentional? > > Note that this also broke other aspects of our application that dealt with > loading plugins. I use the logging as an example because it is much > simpler. > > Our application is compiled and deployed with 7u45. > > Regards, > > Scott > From hang.vo at oracle.com Thu Jan 9 17:17:33 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 10 Jan 2014 01:17:33 +0000 Subject: hg: openjfx/8u-dev/rt: Fix RT-35210: Weblauncher toy causes shader exceptions on Mac Message-ID: <20140110011806.06BF6624A7@hg.openjdk.java.net> Changeset: 880312ec2086 Author: flar Date: 2014-01-09 17:10 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/880312ec2086 Fix RT-35210: Weblauncher toy causes shader exceptions on Mac Reviewed by: chien, felipe ! modules/graphics/src/main/native-prism-es2/GLContext.c From hang.vo at oracle.com Thu Jan 9 18:33:49 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 10 Jan 2014 02:33:49 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35256 [Monocle] Implement i.MX6 platform and cursor Message-ID: <20140110023406.9D0CF624AC@hg.openjdk.java.net> Changeset: 42831eeebb20 Author: Daniel Blaukopf Date: 2014-01-10 04:19 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/42831eeebb20 RT-35256 [Monocle] Implement i.MX6 platform and cursor ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativePlatformFactory.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxSystem.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/mx6/MX6Cursor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/mx6/MX6Platform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/mx6/MX6PlatformFactory.java ! modules/graphics/src/main/native-glass/monocle/linux/LinuxSystem.c From david.grieve at oracle.com Fri Jan 10 05:38:00 2014 From: david.grieve at oracle.com (David Grieve) Date: Fri, 10 Jan 2014 08:38:00 -0500 Subject: Bug Pass Friday In-Reply-To: <52CC7157.5010409@oracle.com> References: <52CC7157.5010409@oracle.com> Message-ID: <841BF43A-DC1E-4AA8-8A30-8E91F07CC916@oracle.com> I'm going to take a pass at bugs assigned to Mick. https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20mickf If I get through that list, I'll start in on https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20paru These are just bugs, not tweaks or features. On Jan 7, 2014, at 4:27 PM, Stephen F Northover wrote: > Hello Committers, > > I'd like to organize our work for 8u20 this week. Recall that 8u20 is about improving the quality of FX rather than implementing new features. > > https://wiki.openjdk.java.net/display/OpenJFX/8u20 > > Bug Owners: > > I suggest that we implement "Bug Pass Friday" where component owners and reviewers assess their bug backlog, clean up really old bugs that no longer apply and target the remaining bugs for either 8u20 or 9. In the case of bugs that don't have steps or sample code (and otherwise can't be reproduced), we should close them as 'Incomplete and ask nicely for more information: > > https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report > > Otherwise, please check the priority and adjust accordingly. Of course, crashes, exceptions and failed functionality tend to rate high. > > Component Owners: > > We have bugs that are unassigned or assigned to the wrong person. Component owners are asked to do a pass and ensure that all bugs that are assigned are assigned to owners or reviewers. Of course there will be exceptions and when in doubt, email the list or contact us and we will update the code ownership tables. > > https://wiki.openjdk.java.net/display/OpenJFX/Code+Ownership > > Unassigned bugs can stay that way or be assigned. It is likely that Kevin and I will do a pass on the unassigned bugs at a later time but if you know that a bug belongs to a certain person, assign it. > > This Tuesday is our first milestone and it will be uneventful because of the holidays. However, starting next week, we should have a good idea about the work that lies ahead and how much trouble we are in! > > Steve and Kevin From steve.x.northover at oracle.com Fri Jan 10 05:56:59 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 10 Jan 2014 08:56:59 -0500 Subject: Bug Pass Friday In-Reply-To: <841BF43A-DC1E-4AA8-8A30-8E91F07CC916@oracle.com> References: <52CC7157.5010409@oracle.com> <841BF43A-DC1E-4AA8-8A30-8E91F07CC916@oracle.com> Message-ID: <52CFFC2B.2000807@oracle.com> Thanks David. I know this is painful but in the end we'll be in a better place. Steve On 2014-01-10 8:38 AM, David Grieve wrote: > I'm going to take a pass at bugs assigned to Mick. https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20mickf > > If I get through that list, I'll start in on https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20paru > > These are just bugs, not tweaks or features. > > On Jan 7, 2014, at 4:27 PM, Stephen F Northover wrote: > >> Hello Committers, >> >> I'd like to organize our work for 8u20 this week. Recall that 8u20 is about improving the quality of FX rather than implementing new features. >> >> https://wiki.openjdk.java.net/display/OpenJFX/8u20 >> >> Bug Owners: >> >> I suggest that we implement "Bug Pass Friday" where component owners and reviewers assess their bug backlog, clean up really old bugs that no longer apply and target the remaining bugs for either 8u20 or 9. In the case of bugs that don't have steps or sample code (and otherwise can't be reproduced), we should close them as 'Incomplete and ask nicely for more information: >> >> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report >> >> Otherwise, please check the priority and adjust accordingly. Of course, crashes, exceptions and failed functionality tend to rate high. >> >> Component Owners: >> >> We have bugs that are unassigned or assigned to the wrong person. Component owners are asked to do a pass and ensure that all bugs that are assigned are assigned to owners or reviewers. Of course there will be exceptions and when in doubt, email the list or contact us and we will update the code ownership tables. >> >> https://wiki.openjdk.java.net/display/OpenJFX/Code+Ownership >> >> Unassigned bugs can stay that way or be assigned. It is likely that Kevin and I will do a pass on the unassigned bugs at a later time but if you know that a bug belongs to a certain person, assign it. >> >> This Tuesday is our first milestone and it will be uneventful because of the holidays. However, starting next week, we should have a good idea about the work that lies ahead and how much trouble we are in! >> >> Steve and Kevin From danno.ferrin at shemnon.com Fri Jan 10 09:11:03 2014 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Fri, 10 Jan 2014 10:11:03 -0700 Subject: javafxpackager and launcher In-Reply-To: References: Message-ID: I came on board working on the packager stuff last month. Nearly all of the design decisions for this were made before I came on board, but I will do my best to explain it. On Wed, Jan 8, 2014 at 8:20 PM, Scott Palmer wrote: > The Java 8 java.exe launcher is now JavaFX aware in that it will launch > JavaFX Applications that don't have a main(String []) method. > The javafxpackager uses it's own launcher when creating a native package. > > Are there plans to unify those launchers? > I noticed a comment under "future work" in WinLauncher.cpp that says "Reuse > code between windows/linux launchers and borrow more code from java.exe > launcher implementation." > The bundler also does a bit more to the JRE as well than just play with the launcher, files not required for redistribution are stripped out wholesale. The web plugin is stripped out, platform specific integrations are stripped out (like the activeX bridge), and every single command line binary entry point is also stripped out (such as rmid, corba services, as well as java.exe and javaw.exe) So we are already do some very non-standard (but legal for re-distribution) things to the JRE. I'm wondering why not make java.exe the only launcher we need. (Or the > javaw.exe variant) I think would mainly be an issue of adding package.cfg > parsing and picking up the embedded runtime. This would require a JEP at the least, and approval from the JSR process since we would be altering a standardized entry point. The cost/benefit goes down quick. > An "application bundle mode" could probably be > triggered via the contents of a resource that is injected much like the > custom icon is injected into the fx launcher (I'm not sure if something > needs to be done for preloader support too. I think the embedded launcher > stub handles that on Java 7, but I believe it isn't used on JavaFX 8. > One of the advantages of our own launcher (as you point out later in your mail) is we can customize the launcher. Put a custom icon on, and (potentially) load up custom meta-data to the executable, and maybe even sign it (we don't sign it today). Tweaking the existing Java.exe in this manner on windows could be problematic. Pre-loader may be handy, but we haven't seen any requests for it yet for app bundles. Post a bug if you would find it useful. > I have been using a standard java.exe launcher from Java 7 for my apps and > hacked jfxrt.jar onto the classpath manually. I do this for a couple > reasons. One because the same app could launch in a Swing or JavaFX mode > while we were transitioning our UI. Two, because we install a private JRE > that is shared among multiple apps and services that make up our product > and javafxpackager only supports the default system-wide JRE or a JRE > embedded into the application bundle. It's a bit too limited... though > after looking at the launcher source, I think I can fool it by making a > "runtime" directory symlink inside the app bundle folder that points to our > company-private JRE. > > I see you posted RT-35215 to address this. Are we talking just windows or windows/mac/linux? We do have a mechanism that isn't widly publicized for userJVMArgs, basically where you can store per-execution jvm args in a file in the app directory. We could include a hook to add a custom JVM home and rely on the installer to set it correctly. > I just started experimenting with the javafxpackager and I noticed that the > .exe that is created could, and probably should, have more things > customized in the resources. If you get properties on the file in Windows > and look at the Details tab, things like Product name and Version are not > filled in. The project has a Title, a Vendor, Description and > Implementation Version, etc. I believe those are used for JNLP deployment. > It would be nice to have those details injected into the .exe just like > the icon is. Should I create an issue for that? > We should populate those, please post a JIRA. > > I'm also curious about the installation location when making a .msi > package. Instead of "Program Files/AppName" or "Program > Files/Vendor/AppName" it goes to the user-specific App-Data folder. This > is almost never what a typical Windows user would want or expect. I > understand it is probably to avoid permission issues, but the installer > really should have had the option to do a per-machine install. > This page > http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm > mentions > "Deployment occurs with no need for admin permissions when using ZIP or > user-level installers." .. well how can you make a machine or system level > installer instead? > Is this out-of-scope for javafxpackager enhancements? > > Set the SystemWide flag. Right now it is only accessible via the ant task via the element and the attribute is "systemInstall". The default is installer specific (or should be). I expected the MSI to default to system and the EXE to default to this user location you described. (for mac the user install is the desktop. Linux ignores it). Try something like this in ant: ... ... For the gradle plugin it is the 'installSystemWide' attribute of the 'javafx' convention block... javafx { installSystemWide = true } For Maven you cannot access it at the moment. Once I get mu 8u20 changes into a public repo I was going to look into taking the maven plugin over and adding the newer features. > I'm also using only the javafxpackager command line. No Ant tasks. I'm > going for exclusively Gradle-based builds now and I don't want to mix > Gradle & Ant, so I've built a Gradle task that runs the javafxpackager. > Do we have as much power to customize the installer when using the > javafxpackager command line app instead of the Ant task? No, ant and gradle are currently more powerful than the command line tool. I have plans to put in some hooks that will hopefully fix this in 8u20 timeframe. > The javafxpackager > docs that I've found don't get too specific. Most of the docs are assuming > Ant-based builds. (When most people have moved to Maven long ago, long > enough for many of use to hate it now and switch to Gradle :-). ) > Oracle should hire someone to pay attention to the gradle and maven integration... oh wait, nevermind ;) > E.g. Looking at the launcher code I see that it should be possible to > provide any JVM options in the package.cfg file... but I can't find > documentation for this. I see the options in the Ant tasks for jvmargs, > but there doesn't appear to be a way to do it with the command line tool. > > Undocumented but powerful, and you are correct the command line provides no hooks for that. That was a pleasent discovery for me when I started rooting around the code last month. This is likely where I would put the hooks for the shared JRE. From david.dehaven at oracle.com Fri Jan 10 09:32:31 2014 From: david.dehaven at oracle.com (David DeHaven) Date: Fri, 10 Jan 2014 09:32:31 -0800 Subject: javafxpackager and launcher In-Reply-To: References: Message-ID: <7EED5480-800B-46AB-BFE4-A917F12D9095@oracle.com> >> An "application bundle mode" could probably be >> triggered via the contents of a resource that is injected much like the >> custom icon is injected into the fx launcher (I'm not sure if something >> needs to be done for preloader support too. I think the embedded launcher >> stub handles that on Java 7, but I believe it isn't used on JavaFX 8. >> > > One of the advantages of our own launcher (as you point out later in your > mail) is we can customize the launcher. Put a custom icon on, and > (potentially) load up custom meta-data to the executable, and maybe even > sign it (we don't sign it today). Tweaking the existing Java.exe in this > manner on windows could be problematic. I'd like to add the point that java (.exe) is simply a wrapper for libjli (jli.dll). In 7/8 the custom launcher uses this same interface to launch the application, so it technically already uses the same code to launch. The other features of the custom launcher *cannot* be replicated by the SE launcher without massive changes to JLI and the SE launcher code. Having said that... it's not entirely unreasonable to think that some useful parts of the launcher could be contributed to JLI. But that brings a host of other issues to the table, namely dealing with getting changes into OpenJDK and convincing the guys on the JDK tl team that such changes are necessary. By keeping the launcher code in fx packager, we keep the noise to a minimum which allows us to be able to be more flexible and responsive to developer demands. Once the product is mature enough, maybe we can revisit this. -DrD- From hang.vo at oracle.com Fri Jan 10 09:57:50 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 10 Jan 2014 17:57:50 +0000 Subject: hg: openjfx/8/master/rt: 4 new changesets Message-ID: <20140110175913.53B08624D3@hg.openjdk.java.net> Changeset: 44acc56c806e Author: mv157916 Date: 2014-01-03 13:32 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/44acc56c806e RT-35171: Update the JDK 8 build number to b122 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties Changeset: 5aca75258738 Author: Rafi Tayar Date: 2014-01-06 11:23 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/5aca75258738 RT-34744 [Touch, Lens] Scrolling is only possible using scroll bars Reviewed-by: dblaukop kcr jgiles ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ListViewSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableViewSkinBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java Changeset: 423cf238579d Author: Yves Joan Date: 2014-01-07 12:06 +0100 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/423cf238579d Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ScenicViewStarter.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesDialogController.java - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/SBPreferences.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtilsBase.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UsePredefinedSizeJob.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeShadow.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ColumnResizePolicyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/EffectPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/Rectangle2DPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/Rectangle2DPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialog.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMBuilderFactory.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMImageBuilder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyC.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyT.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/ResourceKeyCollector.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientClassLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientObject.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/missing-image.png ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EffectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ImagePropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/KeyCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BlendPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BloomPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BoxBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ColorAdjustPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ColorInputPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/DropShadowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/EffectPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/GaussianBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/GlowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ImageInputPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/InnerShadowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/LightingPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/MotionBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/PerspectiveTransformPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ReflectionPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/SepiaTonePropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ShadowPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/GradientEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PrefixedValue.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/URLUtils.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/BlendPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/ColorInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPathItem.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.css + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPickerController.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/ImageInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/LightingPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/SingleInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/Utils.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/CheckBoxEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/CheckBoxEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/EnumEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/EnumEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/ImageEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/ImageEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/NumFieldEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/NumFieldEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/SliderEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/SliderEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Blend.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Bloom.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/BoxBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ColorAdjust.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ColorInput.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/DisplacementMap.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/DropShadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/GaussianBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Glow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ImageInput.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/InnerShadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Lighting.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/MotionBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/PerspectiveTransform.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Reflection.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/SepiaTone.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Shadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/selection-chevron.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditorController.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/images/chequers.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/images/stop-indicator.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/rotate-handle.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/slidereditor/SliderEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/slidereditor/SliderEditor.java Changeset: 2872be3a2984 Author: hudson Date: 2014-01-10 09:30 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/2872be3a2984 Added tag 8.0-b123 for changeset 423cf238579d ! .hgtags From John_Smith at symantec.com Fri Jan 10 11:20:34 2014 From: John_Smith at symantec.com (John Smith) Date: Fri, 10 Jan 2014 11:20:34 -0800 Subject: javafxpackager and launcher In-Reply-To: References: Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D22168E55356C@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Hi Danno, It's really great to see someone paying close attention to the packaging and deployment stuff, this level of effort has been sorely missed since Igor and Daniel left. Thanks for the contributions. John -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Danno Ferrin Sent: Friday, January 10, 2014 9:11 AM To: Scott Palmer Cc: openjfx-dev at openjdk.java.net Subject: Re: javafxpackager and launcher I came on board working on the packager stuff last month. Nearly all of the design decisions for this were made before I came on board, but I will do my best to explain it. On Wed, Jan 8, 2014 at 8:20 PM, Scott Palmer wrote: > The Java 8 java.exe launcher is now JavaFX aware in that it will > launch JavaFX Applications that don't have a main(String []) method. > The javafxpackager uses it's own launcher when creating a native package. > > Are there plans to unify those launchers? > I noticed a comment under "future work" in WinLauncher.cpp that says > "Reuse code between windows/linux launchers and borrow more code from > java.exe launcher implementation." > The bundler also does a bit more to the JRE as well than just play with the launcher, files not required for redistribution are stripped out wholesale. The web plugin is stripped out, platform specific integrations are stripped out (like the activeX bridge), and every single command line binary entry point is also stripped out (such as rmid, corba services, as well as java.exe and javaw.exe) So we are already do some very non-standard (but legal for re-distribution) things to the JRE. I'm wondering why not make java.exe the only launcher we need. (Or the > javaw.exe variant) I think would mainly be an issue of adding > package.cfg parsing and picking up the embedded runtime. This would require a JEP at the least, and approval from the JSR process since we would be altering a standardized entry point. The cost/benefit goes down quick. > An "application bundle mode" could probably be triggered via the > contents of a resource that is injected much like the custom icon is > injected into the fx launcher (I'm not sure if something needs to be > done for preloader support too. I think the embedded launcher stub > handles that on Java 7, but I believe it isn't used on JavaFX 8. > One of the advantages of our own launcher (as you point out later in your mail) is we can customize the launcher. Put a custom icon on, and (potentially) load up custom meta-data to the executable, and maybe even sign it (we don't sign it today). Tweaking the existing Java.exe in this manner on windows could be problematic. Pre-loader may be handy, but we haven't seen any requests for it yet for app bundles. Post a bug if you would find it useful. > I have been using a standard java.exe launcher from Java 7 for my apps > and hacked jfxrt.jar onto the classpath manually. I do this for a > couple reasons. One because the same app could launch in a Swing or > JavaFX mode while we were transitioning our UI. Two, because we > install a private JRE that is shared among multiple apps and services > that make up our product and javafxpackager only supports the default > system-wide JRE or a JRE embedded into the application bundle. It's a > bit too limited... though after looking at the launcher source, I > think I can fool it by making a "runtime" directory symlink inside the > app bundle folder that points to our company-private JRE. > > I see you posted RT-35215 to address this. Are we talking just windows or windows/mac/linux? We do have a mechanism that isn't widly publicized for userJVMArgs, basically where you can store per-execution jvm args in a file in the app directory. We could include a hook to add a custom JVM home and rely on the installer to set it correctly. > I just started experimenting with the javafxpackager and I noticed > that the .exe that is created could, and probably should, have more > things customized in the resources. If you get properties on the file > in Windows and look at the Details tab, things like Product name and > Version are not filled in. The project has a Title, a Vendor, > Description and Implementation Version, etc. I believe those are used for JNLP deployment. > It would be nice to have those details injected into the .exe just > like the icon is. Should I create an issue for that? > We should populate those, please post a JIRA. > > I'm also curious about the installation location when making a .msi > package. Instead of "Program Files/AppName" or "Program > Files/Vendor/AppName" it goes to the user-specific App-Data folder. > This is almost never what a typical Windows user would want or expect. > I understand it is probably to avoid permission issues, but the > installer really should have had the option to do a per-machine install. > This page > http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm > mentions > "Deployment occurs with no need for admin permissions when using ZIP > or user-level installers." .. well how can you make a machine or > system level installer instead? > Is this out-of-scope for javafxpackager enhancements? > > Set the SystemWide flag. Right now it is only accessible via the ant task via the element and the attribute is "systemInstall". The default is installer specific (or should be). I expected the MSI to default to system and the EXE to default to this user location you described. (for mac the user install is the desktop. Linux ignores it). Try something like this in ant: ... ... For the gradle plugin it is the 'installSystemWide' attribute of the 'javafx' convention block... javafx { installSystemWide = true } For Maven you cannot access it at the moment. Once I get mu 8u20 changes into a public repo I was going to look into taking the maven plugin over and adding the newer features. > I'm also using only the javafxpackager command line. No Ant tasks. > I'm going for exclusively Gradle-based builds now and I don't want to > mix Gradle & Ant, so I've built a Gradle task that runs the javafxpackager. > Do we have as much power to customize the installer when using the > javafxpackager command line app instead of the Ant task? No, ant and gradle are currently more powerful than the command line tool. I have plans to put in some hooks that will hopefully fix this in 8u20 timeframe. > The javafxpackager > docs that I've found don't get too specific. Most of the docs are > assuming Ant-based builds. (When most people have moved to Maven long > ago, long enough for many of use to hate it now and switch to Gradle > :-). ) > Oracle should hire someone to pay attention to the gradle and maven integration... oh wait, nevermind ;) > E.g. Looking at the launcher code I see that it should be possible to > provide any JVM options in the package.cfg file... but I can't find > documentation for this. I see the options in the Ant tasks for > jvmargs, but there doesn't appear to be a way to do it with the command line tool. > > Undocumented but powerful, and you are correct the command line provides no hooks for that. That was a pleasent discovery for me when I started rooting around the code last month. This is likely where I would put the hooks for the shared JRE. From steve.x.northover at oracle.com Fri Jan 10 11:40:31 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Fri, 10 Jan 2014 14:40:31 -0500 Subject: [8u] Code Review Request - RT-4169,[Stage] Setting 'icons' to null do not reset the Stage icon In-Reply-To: <0675D761-50D0-4082-BD67-E8304465439B@oracle.com> References: <0675D761-50D0-4082-BD67-E8304465439B@oracle.com> Message-ID: <52D04CAF.80501@oracle.com> Hi Anthony, Please review https://javafx-jira.kenai.com/browse/RT-4169. It's an old one. Should there be extra points for fixing the oldest bug ever? Thanks, Steve From kevin.rushforth at oracle.com Fri Jan 10 11:57:26 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 10 Jan 2014 11:57:26 -0800 Subject: [8u] Code Review Request - RT-4169,[Stage] Setting 'icons' to null do not reset the Stage icon In-Reply-To: <52D04CAF.80501@oracle.com> References: <0675D761-50D0-4082-BD67-E8304465439B@oracle.com> <52D04CAF.80501@oracle.com> Message-ID: <52D050A6.6010703@oracle.com> If there are extra points, then Martin is going to get a whole pile of them for the oldest feature with RT-153 (alwaysOnTop). So what do you and he win? More bugs to fix? :) -- Kevin Stephen F Northover wrote: > Hi Anthony, > > Please review https://javafx-jira.kenai.com/browse/RT-4169. It's an > old one. > > Should there be extra points for fixing the oldest bug ever? > > Thanks, > Steve From swpalmer at gmail.com Fri Jan 10 13:45:07 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Fri, 10 Jan 2014 16:45:07 -0500 Subject: javafxpackager and launcher In-Reply-To: References: Message-ID: Comments inline? On Jan 10, 2014, at 12:11 PM, Danno Ferrin wrote: > I came on board working on the packager stuff last month. Nearly all of the design decisions for this were made before I came on board, but I will do my best to explain it. > > > I'm wondering why not make java.exe the only launcher we need. ... > > This would require a JEP at the least, and approval from the JSR process since we would be altering a standardized entry point. The cost/benefit goes down quick. > > ... > One of the advantages of our own launcher (as you point out later in your mail) is we can customize the launcher. Put a custom icon on, and (potentially) load up custom meta-data to the executable, and maybe even sign it (we don't sign it today). Tweaking the existing Java.exe in this manner on windows could be problematic. Understood. Sounds like it best to keep them separate. > > Pre-loader may be handy, but we haven't seen any requests for it yet for app bundles. Post a bug if you would find it useful. Consider RT-33594 .. I considered a Pre-loader the best place to put any splash screen code. Applications with large startup times might want to have a unified mechanism to show the user that the app will be ready shortly. I see no reason to differentiate between a web-start app that is downloading jars or any other startup delay. For example my app scans the disk for plugins and loads them prior to showing the main UI. > > > I have been using a standard java.exe launcher from Java 7 for my apps and > hacked jfxrt.jar onto the classpath manually. I do this for a couple > reasons. One because the same app could launch in a Swing or JavaFX mode > while we were transitioning our UI. Two, because we install a private JRE > that is shared among multiple apps and services that make up our product > and javafxpackager only supports the default system-wide JRE or a JRE > embedded into the application bundle. It's a bit too limited... though > after looking at the launcher source, I think I can fool it by making a > "runtime" directory symlink inside the app bundle folder that points to our > company-private JRE. > > > I see you posted RT-35215 to address this. Are we talking just windows or windows/mac/linux? I am doing this on Windows currently. We also have some OS X support but currently require Java to be installed independently. That needs to be cleaned up at doe point. We will be running both a service and a couple applications on OS X as well so using a single company-private JRE would make sense there too. > We do have a mechanism that isn't widly publicized for userJVMArgs, basically where you can store per-execution jvm args in a file in the app directory. We could include a hook to add a custom JVM home and rely on the installer to set it correctly. That works for me. I already discovered the jvmarg thing in the package.cfg file. There are some class path bugs with the Java launcher stubs that I had to work around by adding something to app.classpath in that file. It was related to the jar used for my log formatter not being loadable by the logging system when launching JavaFX apps. While I was there I used the jvmargs to set the java.util.logging config file property. > > I just started experimenting with the javafxpackager and I noticed that the > .exe that is created could, and probably should, have more things > customized in the resources. If you get properties on the file in Windows > and look at the Details tab, things like Product name and Version are not > filled in. The project has a Title, a Vendor, Description and > Implementation Version, etc. I believe those are used for JNLP deployment. > It would be nice to have those details injected into the .exe just like > the icon is. Should I create an issue for that? > > We should populate those, please post a JIRA. RT-35271 > > > I'm also curious about the installation location when making a .msi > package. Instead of "Program Files/AppName" or "Program > Files/Vendor/AppName" it goes to the user-specific App-Data folder. This > is almost never what a typical Windows user would want or expect. I > understand it is probably to avoid permission issues, but the installer > really should have had the option to do a per-machine install. > This page http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm > mentions > "Deployment occurs with no need for admin permissions when using ZIP or > user-level installers." .. well how can you make a machine or system level > installer instead? > Is this out-of-scope for javafxpackager enhancements? > > > Set the SystemWide flag. Right now it is only accessible via the ant task via the element and the attribute is "systemInstall". The default is installer specific (or should be). I expected the MSI to default to system and the EXE to default to this user location you described. (for mac the user install is the desktop. Linux ignores it). That?s why I missed it, I was using the command-line javafxpackager. On Mac desktop probably makes the most sense. (I personally make an Applications folder inside my user dir.. the system is smart enough to give the folder the same icon as the system-wide Applications folder.) > > Try something like this in ant: > > > ... > > ... > > > For the gradle plugin it is the 'installSystemWide' attribute of the 'javafx' convention block... > > javafx { > installSystemWide = true > } > > For Maven you cannot access it at the moment. Once I get mu 8u20 changes into a public repo I was going to look into taking the maven plugin over and adding the newer features. I just started using the gradle plugin from https://bitbucket.org/shemnon/javafx-gradle today. Is that the one you are referring to? It would be great to see official support at the same level as the Ant support. Specially now that OpenJFX is Gradle-based as well. > > I'm also using only the javafxpackager command line. No Ant tasks. I'm > going for exclusively Gradle-based builds now and I don't want to mix > Gradle & Ant, so I've built a Gradle task that runs the javafxpackager. > Do we have as much power to customize the installer when using the > javafxpackager command line app instead of the Ant task? > > No, ant and gradle are currently more powerful than the command line tool. I have plans to put in some hooks that will hopefully fix this in 8u20 timeframe. Now that I have found the Gradle plugin, I personally would rather have the attention go in that direction. But certainly the javafxpackager command-line tool would would benefit greatly from access to a few more features of the packaging process. > > The javafxpackager > docs that I've found don't get too specific. Most of the docs are assuming > Ant-based builds. (When most people have moved to Maven long ago, long > enough for many of use to hate it now and switch to Gradle :-). ) > > Oracle should hire someone to pay attention to the gradle and maven integration... oh wait, nevermind ;) :-) +1 I?m totally on-board with Gradle. We have a complicated build process. We started years ago with Ant, moved to Maven (hell), and finally found Gradle. Gradle rocks! We found this to be very true http://nealford.com/memeagora/2013/01/22/why_everyone_eventually_hates_maven.html > > E.g. Looking at the launcher code I see that it should be possible to > provide any JVM options in the package.cfg file... but I can't find > documentation for this. I see the options in the Ant tasks for jvmargs, > but there doesn't appear to be a way to do it with the command line tool. > > > Undocumented but powerful, and you are correct the command line provides no hooks for that. That was a pleasent discovery for me when I started rooting around the code last month. This is likely where I would put the hooks for the shared JRE. Looks like 8u20 is going to be the release where JavaFX really shines. I have to deliver on 7u45 for now and I think 8 is going to be just irritating enough that I will try to skip it. ;-) When I mentioned to a colleague that I could go straight to an MSI installer from the javafxpackager they were sufficiently impressed. We likely will need to customize the installer too much to actually use that feature in production, but I really like having it. Just getting the app bundle correctly laid out so it is ready to go helps too. Thanks, Scott From phidias51 at gmail.com Fri Jan 10 14:23:50 2014 From: phidias51 at gmail.com (Mark Fortner) Date: Fri, 10 Jan 2014 14:23:50 -0800 Subject: javafxpackager and launcher In-Reply-To: References: Message-ID: Comments in-line > > I just started experimenting with the javafxpackager and I noticed that the > .exe that is created could, and probably should, have more things > customized in the resources. If you get properties on the file in Windows > and look at the Details tab, things like Product name and Version are not > filled in. The project has a Title, a Vendor, Description and > Implementation Version, etc. I believe those are used for JNLP deployment. > It would be nice to have those details injected into the .exe just like > the icon is. Should I create an issue for that? > > I think there already is an issue for a "universal deployment descriptor" https://javafx-jira.kenai.com/browse/RT-29229. This came out of last year's discussion thread entitled "Packaging Application Metadata". Cheers, Mark From hang.vo at oracle.com Fri Jan 10 16:48:48 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sat, 11 Jan 2014 00:48:48 +0000 Subject: hg: openjfx/8u-dev/rt: 6 new changesets Message-ID: <20140111005033.8BDC362507@hg.openjdk.java.net> Changeset: 26f87c5d3435 Author: hudson Date: 2014-01-03 06:56 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/26f87c5d3435 Added tag 8.0-b122 for changeset dd789066e61e ! .hgtags Changeset: 44acc56c806e Author: mv157916 Date: 2014-01-03 13:32 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/44acc56c806e RT-35171: Update the JDK 8 build number to b122 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties Changeset: 5aca75258738 Author: Rafi Tayar Date: 2014-01-06 11:23 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/5aca75258738 RT-34744 [Touch, Lens] Scrolling is only possible using scroll bars Reviewed-by: dblaukop kcr jgiles ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ListViewSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableViewSkinBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java Changeset: 423cf238579d Author: Yves Joan Date: 2014-01-07 12:06 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/423cf238579d Sync up SceneBuilder changes ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ScenicViewStarter.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesDialogController.java - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/SBPreferences.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java ! apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtilsBase.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UsePredefinedSizeJob.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeShadow.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ColumnResizePolicyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertyEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleClassEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StylesheetEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/EffectPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.fxml ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/PopupEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/Rectangle2DPopupEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/popupeditors/Rectangle2DPopupEditor.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractWindowController.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/util/dialog/AbstractModalDialog.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMBuilderFactory.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMCollection.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMImageBuilder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMInstance.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMIntrinsic.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMNode.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMObject.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyC.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/FXOMPropertyT.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/ResourceKeyCollector.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientClassLoader.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/TransientObject.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/fxom/missing-image.png ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/Metadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/EffectPropertyMetadata.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ImagePropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/KeyCombinationPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BlendPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BloomPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/BoxBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ColorAdjustPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ColorInputPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/DropShadowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/EffectPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/GaussianBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/GlowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ImageInputPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/InnerShadowPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/LightingPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/MotionBlurPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/PerspectiveTransformPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ReflectionPropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/SepiaTonePropertyMetadata.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/effect/ShadowPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/GradientEncoder.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/util/PrefixedValue.java ! apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/URLUtils.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/BlendPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/ColorInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPathItem.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.css + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPicker.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/EffectPickerController.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/ImageInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/LightingPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/SingleInputPathItem.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/Utils.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/CheckBoxEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/CheckBoxEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/EnumEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/EnumEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/ImageEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/ImageEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/NumFieldEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/NumFieldEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/SliderEditor.fxml + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/editors/SliderEditor.java + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Blend.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Bloom.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/BoxBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ColorAdjust.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ColorInput.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/DisplacementMap.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/DropShadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/GaussianBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Glow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/ImageInput.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/InnerShadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Lighting.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/MotionBlur.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/PerspectiveTransform.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Reflection.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/SepiaTone.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/Shadow.png + apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/effectpicker/images/selection-chevron.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/PaintEditorController.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/coloreditor/ColorEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/gradienteditor/GradientEditorStop.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/images/chequers.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/images/stop-indicator.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/RotateEditor.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/rotateeditor/rotate-handle.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/slidereditor/SliderEditor.fxml - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/control/painteditor/slidereditor/SliderEditor.java Changeset: 2872be3a2984 Author: hudson Date: 2014-01-10 09:30 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/2872be3a2984 Added tag 8.0-b123 for changeset 423cf238579d ! .hgtags Changeset: 8ddf9a8fbe4e Author: kcr Date: 2014-01-10 16:31 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/8ddf9a8fbe4e Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt - apps/experiments/3DViewer/.classpath - apps/experiments/3DViewer/.project - apps/experiments/Modena/.classpath - apps/experiments/Modena/.project - apps/samples/Ensemble8/.classpath - apps/samples/Ensemble8/.project ! buildSrc/armv6hf.gradle ! buildSrc/armv6sf.gradle ! buildSrc/x86egl.gradle - modules/fxpackager/src/main/man/ja_JP.UTF-8/html/javafxpackager.html From hang.vo at oracle.com Fri Jan 10 17:03:04 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sat, 11 Jan 2014 01:03:04 +0000 Subject: hg: openjfx/8/graphics/rt: 2 new changesets Message-ID: <20140111010451.4A60862508@hg.openjdk.java.net> Changeset: 2872be3a2984 Author: hudson Date: 2014-01-10 09:30 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/2872be3a2984 Added tag 8.0-b123 for changeset 423cf238579d ! .hgtags Changeset: 9689bfae29b8 Author: mv157916 Date: 2014-01-10 15:05 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/9689bfae29b8 RT-35268: Update the JDK 8 build number to b123 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties From swpalmer at gmail.com Fri Jan 10 17:47:19 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Fri, 10 Jan 2014 20:47:19 -0500 Subject: javafxpackager and launcher In-Reply-To: References: Message-ID: What I'm referring to is data that is already available to the packager that is not being used effectively. It's only applied to JNLP data or something, when it can also apply to the resources in the launcher exe. I think the two issues are distinct. Scott On Fri, Jan 10, 2014 at 5:23 PM, Mark Fortner wrote: > Comments in-line > > >> >> I just started experimenting with the javafxpackager and I noticed that >> the >> .exe that is created could, and probably should, have more things >> customized in the resources. If you get properties on the file in Windows >> and look at the Details tab, things like Product name and Version are not >> filled in. The project has a Title, a Vendor, Description and >> Implementation Version, etc. I believe those are used for JNLP >> deployment. >> It would be nice to have those details injected into the .exe just like >> the icon is. Should I create an issue for that? >> >> > I think there already is an issue for a "universal deployment descriptor" > https://javafx-jira.kenai.com/browse/RT-29229. > > This came out of last year's discussion thread entitled "Packaging > Application Metadata". > > Cheers, > > Mark > From jonathan.giles at oracle.com Sun Jan 12 01:15:18 2014 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Sun, 12 Jan 2014 22:15:18 +1300 Subject: FX Experience Tools In-Reply-To: References: <52D25BC8.5070908@oracle.com> Message-ID: <52D25D26.8000807@oracle.com> I'm not really sure. A good starting point would be to explore what tooling is available in Scene Builder. -- Jonathan On 12/01/2014 10:13 p.m., Peter Penzov wrote: > Is there any similar tool like FX Experience Tools for css layout? > > > On Sun, Jan 12, 2014 at 11:09 AM, Jonathan Giles > > wrote: > > I doubt these tools will be refreshed for 8.0 (if necessary - I > haven't > tested how well they work in 8.0), but the code is all available in > github so it would be great to see someone step up and make any > necessary improvements! You can find all the code here: > > https://github.com/fxexperience/code > > -- Jonathan > > On 8/01/2014 11:29 p.m., Peter Penzov wrote: > > Hi All, > > I found this link about the FX Experience Tools. > > > > http://fxexperience.com/2012/03/announcing-fx-experience-tools/ > > > > It seems that this tool is no longer actively developed. Are > there any > > plans to continue to support it and also can I use use it in > JavaFX 8? > > > > BR, > > Peter > > From jonathan.giles at oracle.com Sun Jan 12 01:09:28 2014 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Sun, 12 Jan 2014 22:09:28 +1300 Subject: FX Experience Tools In-Reply-To: References: Message-ID: <52D25BC8.5070908@oracle.com> I doubt these tools will be refreshed for 8.0 (if necessary - I haven't tested how well they work in 8.0), but the code is all available in github so it would be great to see someone step up and make any necessary improvements! You can find all the code here: https://github.com/fxexperience/code -- Jonathan On 8/01/2014 11:29 p.m., Peter Penzov wrote: > Hi All, > I found this link about the FX Experience Tools. > > http://fxexperience.com/2012/03/announcing-fx-experience-tools/ > > It seems that this tool is no longer actively developed. Are there any > plans to continue to support it and also can I use use it in JavaFX 8? > > BR, > Peter From peter.penzov at gmail.com Sun Jan 12 01:13:49 2014 From: peter.penzov at gmail.com (Peter Penzov) Date: Sun, 12 Jan 2014 11:13:49 +0200 Subject: FX Experience Tools In-Reply-To: <52D25BC8.5070908@oracle.com> References: <52D25BC8.5070908@oracle.com> Message-ID: Is there any similar tool like FX Experience Tools for css layout? On Sun, Jan 12, 2014 at 11:09 AM, Jonathan Giles wrote: > I doubt these tools will be refreshed for 8.0 (if necessary - I haven't > tested how well they work in 8.0), but the code is all available in > github so it would be great to see someone step up and make any > necessary improvements! You can find all the code here: > > https://github.com/fxexperience/code > > -- Jonathan > > On 8/01/2014 11:29 p.m., Peter Penzov wrote: > > Hi All, > > I found this link about the FX Experience Tools. > > > > http://fxexperience.com/2012/03/announcing-fx-experience-tools/ > > > > It seems that this tool is no longer actively developed. Are there any > > plans to continue to support it and also can I use use it in JavaFX 8? > > > > BR, > > Peter > > From hang.vo at oracle.com Sun Jan 12 23:49:44 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 13 Jan 2014 07:49:44 +0000 Subject: hg: openjfx/8u-dev/rt: 4 new changesets Message-ID: <20140113075251.672C5623F3@hg.openjdk.java.net> Changeset: 03c1d6a8d18c Author: Daniel Blaukopf Date: 2014-01-12 16:55 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/03c1d6a8d18c RT-35278 Filter rapid sequences of almost identical events ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativeCursors.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseState.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchState.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxEventBuffer.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxEventBuffers.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputProcessor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxMouseProcessor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java Changeset: 5a2ddaa75735 Author: Daniel Blaukopf Date: 2014-01-12 17:01 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/5a2ddaa75735 RT-35279 [Monocle] Freescale cursor is corrupted when moving to the bottom of the screen and returning to the center ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativeCursors.java Changeset: 9069b6bff181 Author: Daniel Blaukopf Date: 2014-01-12 21:47 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9069b6bff181 RT-35280 [Monocle] Implement single-point touch events and gestures ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInputSynthesizer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchState.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchStates.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java Changeset: 66411c75ff6b Author: Daniel Blaukopf Date: 2014-01-13 09:41 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/66411c75ff6b RT-35300 [Monocle] Implement touch screen coordinate transforms + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchLookahead.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/GetEvent.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDeviceRegistry.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchTransform.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/SysFS.java From mo.chicharro at oracle.com Mon Jan 13 01:08:39 2014 From: mo.chicharro at oracle.com (Moises Chicharro) Date: Mon, 13 Jan 2014 10:08:39 +0100 Subject: FX Experience Tools In-Reply-To: <52D25D26.8000807@oracle.com> References: <52D25BC8.5070908@oracle.com> <52D25D26.8000807@oracle.com> Message-ID: As Jonathan mentioned, Scene Builder 1.1 or the 2.0 Early Access has some CSS support. http://www.oracle.com/technetwork/java/javafx/tools/index.html Take a look at the CSS Analyzer panel. There is a demo of the feature at around 31:30 of this J1 talk: http://parleys.com/play/524f2d9ae4b0c4f11ec575ff Cheers, Mo On 12 Jan 2014, at 10:15, Jonathan Giles wrote: > I'm not really sure. A good starting point would be to explore what > tooling is available in Scene Builder. > > -- Jonathan > > On 12/01/2014 10:13 p.m., Peter Penzov wrote: >> Is there any similar tool like FX Experience Tools for css layout? >> >> >> On Sun, Jan 12, 2014 at 11:09 AM, Jonathan Giles >> > wrote: >> >> I doubt these tools will be refreshed for 8.0 (if necessary - I >> haven't >> tested how well they work in 8.0), but the code is all available in >> github so it would be great to see someone step up and make any >> necessary improvements! You can find all the code here: >> >> https://github.com/fxexperience/code >> >> -- Jonathan >> >> On 8/01/2014 11:29 p.m., Peter Penzov wrote: >>> Hi All, >>> I found this link about the FX Experience Tools. >>> >>> http://fxexperience.com/2012/03/announcing-fx-experience-tools/ >>> >>> It seems that this tool is no longer actively developed. Are >> there any >>> plans to continue to support it and also can I use use it in >> JavaFX 8? >>> >>> BR, >>> Peter >> >> > From martin.sladecek at oracle.com Mon Jan 13 04:33:24 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Mon, 13 Jan 2014 13:33:24 +0100 Subject: [8u] Post-commit review: RT-35237, When a Bidirectional binding fails, old value restoration may cause an exception hiding the real cause Message-ID: <52D3DD14.6070808@oracle.com> Hello, here's a changeset for RT-35237 (When a Bidirectional binding fails, old value restoration may cause an exception hiding the real cause), if anybody's interested. http://hg.openjdk.java.net/openjfx/8u-dev/graphics/rt/rev/f487abfe1990 Thanks, -Martin From alexander.kouznetsov at oracle.com Mon Jan 13 05:46:50 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Mon, 13 Jan 2014 17:46:50 +0400 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C6F702.8010103@oracle.com> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> Message-ID: <52D3EE4A.6090703@oracle.com> Hi Steve, In general it looks good but I want to correct some parts of it. How should I proceed in this case? Best regards, Alexander Kouznetsov (408) 276-0387 On 3 ??? 2014 21:44, Stephen F Northover wrote: > Hi Alex, > > Samples were changed to support Android. Apparently, hitting escape > twice should exit an application and this behavior was coded into > EnsembleApp. I'm not an Android guy but if this is standard Android > behavior, it should be part of JFX, not the example code. > > Anyhow, I'll let Stefan or Johan comment on this and they can enter a > follow on JIRA. > > Steve > > On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >> Changeset: 6f0901527ad0 >> Author: snorthov >> Date: 2014-01-03 12:23 -0500 >> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >> >> RT-35147: [Android, Ensemble8] App should react to hardware buttons >> on Android >> Reviewed-by: snorthov >> Contributed-by: Stefan Fuchs >> >> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >> ! >> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >> ! >> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >> ! apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >> ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >> > From alexander.kouznetsov at oracle.com Mon Jan 13 05:49:04 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Mon, 13 Jan 2014 17:49:04 +0400 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52C712E5.5020409@gmx.de> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> Message-ID: <52D3EED0.5050603@oracle.com> Hi Stefan, Thank you for this summary. As an android user I would say that #2 is not a good options for Ensemble. #3 is better than #1. However, it usually responds to the second key press only within a short period of time. About the time a notice message is shown. Best regards, Alexander Kouznetsov (408) 276-0387 On 3 ??? 2014 23:43, Stefan Fuchs wrote: > Hi, > > well, the back button is always used to go back one dialog level, > until the start screen has be reached. (Dialogs are canceled, browsers > go to previous website, etc...) > If you press the back button on the start screen of the app, I found > three different strategies to handle the back button: > 1. Exit the app on first button press (examples: WhatsApp, Google Maps) > 2. Hide the app on first button press and let the system kill the > application, if system memory is exhausted. (examples: FireFox, Chrome) > 3. Exit the app on second button press (note that most apps using this > strategy print a notice message, after the first key press, which is > currently not implemented for Ensemble8) (examples: Samsungs App Store) > > Stefan > > > Stephen F Northover wrote: >> Hi Alex, >> >> Samples were changed to support Android. Apparently, hitting escape >> twice should exit an application and this behavior was coded into >> EnsembleApp. I'm not an Android guy but if this is standard Android >> behavior, it should be part of JFX, not the example code. >> >> Anyhow, I'll let Stefan or Johan comment on this and they can enter a >> follow on JIRA. >> >> Steve >> >> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>> Changeset: 6f0901527ad0 >>> Author: snorthov >>> Date: 2014-01-03 12:23 -0500 >>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>> >>> RT-35147: [Android, Ensemble8] App should react to hardware buttons >>> on Android >>> Reviewed-by: snorthov >>> Contributed-by: Stefan Fuchs >>> >>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>> >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >>> ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>> >> >> > From hang.vo at oracle.com Mon Jan 13 08:06:22 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 13 Jan 2014 16:06:22 +0000 Subject: hg: openjfx/8u-dev/rt: 3 new changesets Message-ID: <20140113160915.E853662408@hg.openjdk.java.net> Changeset: f487abfe1990 Author: Martin Sladecek Date: 2014-01-13 13:29 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/f487abfe1990 RT-35237 When a Bidirectional binding fails, old value restoration may cause an exception hiding the real cause ! modules/base/src/main/java/com/sun/javafx/binding/BidirectionalBinding.java ! modules/base/src/test/java/com/sun/javafx/binding/BidirectionalBindingTest.java Changeset: 838ab16784b0 Author: Martin Sladecek Date: 2014-01-13 14:27 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/838ab16784b0 [JAVADOC] RT-35234 [Layout] Fix TODO comments in the API documentation ! modules/graphics/src/main/java/javafx/scene/layout/BorderImage.java ! modules/graphics/src/main/java/javafx/scene/layout/CornerRadii.java Changeset: 399f574b5ab8 Author: snorthov Date: 2014-01-10 15:05 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/399f574b5ab8 HelloSanity: print out when any action is invoked in a menu ! apps/toys/Hello/src/main/java/hello/TestBuilder.java From steve.x.northover at oracle.com Mon Jan 13 08:37:23 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Mon, 13 Jan 2014 11:37:23 -0500 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52D3EED0.5050603@oracle.com> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52C712E5.5020409@gmx.de> <52D3EED0.5050603@oracle.com> Message-ID: <52D41643.9020603@oracle.com> What ever the decision on this, if there is further action, please enter a JIRA. If not, then the discussion is lost to ether. Steve On 2014-01-13 8:49 AM, Alexander Kouznetsov wrote: > Hi Stefan, > > Thank you for this summary. As an android user I would say that #2 is > not a good options for Ensemble. #3 is better than #1. However, it > usually responds to the second key press only within a short period of > time. About the time a notice message is shown. > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > On 3 ??? 2014 23:43, Stefan Fuchs wrote: >> Hi, >> >> well, the back button is always used to go back one dialog level, >> until the start screen has be reached. (Dialogs are canceled, >> browsers go to previous website, etc...) >> If you press the back button on the start screen of the app, I found >> three different strategies to handle the back button: >> 1. Exit the app on first button press (examples: WhatsApp, Google Maps) >> 2. Hide the app on first button press and let the system kill the >> application, if system memory is exhausted. (examples: FireFox, Chrome) >> 3. Exit the app on second button press (note that most apps using >> this strategy print a notice message, after the first key press, >> which is currently not implemented for Ensemble8) (examples: Samsungs >> App Store) >> >> Stefan >> >> >> Stephen F Northover wrote: >>> Hi Alex, >>> >>> Samples were changed to support Android. Apparently, hitting escape >>> twice should exit an application and this behavior was coded into >>> EnsembleApp. I'm not an Android guy but if this is standard Android >>> behavior, it should be part of JFX, not the example code. >>> >>> Anyhow, I'll let Stefan or Johan comment on this and they can enter >>> a follow on JIRA. >>> >>> Steve >>> >>> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>>> Changeset: 6f0901527ad0 >>>> Author: snorthov >>>> Date: 2014-01-03 12:23 -0500 >>>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>>> >>>> RT-35147: [Android, Ensemble8] App should react to hardware buttons >>>> on Android >>>> Reviewed-by: snorthov >>>> Contributed-by: Stefan Fuchs >>>> >>>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>>> >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >>>> ! >>>> apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >>>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>>> >>> >>> >> > From steve.x.northover at oracle.com Mon Jan 13 08:39:05 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Mon, 13 Jan 2014 11:39:05 -0500 Subject: Post commit review: [Re: hg: openjfx/8u-dev/rt: RT-35147: [Android, Ensemble8] App should react to hardware buttons on Android] In-Reply-To: <52D3EE4A.6090703@oracle.com> References: <20140103173254.98A4C62FFF@hg.openjdk.java.net> <52C6F702.8010103@oracle.com> <52D3EE4A.6090703@oracle.com> Message-ID: <52D416A9.8010509@oracle.com> Fix it. You own the code. If you can test on an Android device, then great. Otherwise, get Stefan or Johan to test your changes. Steve On 2014-01-13 8:46 AM, Alexander Kouznetsov wrote: > Hi Steve, > > In general it looks good but I want to correct some parts of it. > > How should I proceed in this case? > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > On 3 ??? 2014 21:44, Stephen F Northover wrote: >> Hi Alex, >> >> Samples were changed to support Android. Apparently, hitting escape >> twice should exit an application and this behavior was coded into >> EnsembleApp. I'm not an Android guy but if this is standard Android >> behavior, it should be part of JFX, not the example code. >> >> Anyhow, I'll let Stefan or Johan comment on this and they can enter a >> follow on JIRA. >> >> Steve >> >> On 2014-01-03 12:32 PM, hang.vo at oracle.com wrote: >>> Changeset: 6f0901527ad0 >>> Author: snorthov >>> Date: 2014-01-03 12:23 -0500 >>> URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6f0901527ad0 >>> >>> RT-35147: [Android, Ensemble8] App should react to hardware buttons >>> on Android >>> Reviewed-by: snorthov >>> Contributed-by: Stefan Fuchs >>> >>> ! apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java >>> ! apps/samples/Ensemble8/src/app/java/ensemble/PlatformFeatures.java >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java >>> >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java >>> ! >>> apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SourceTab.java >>> ! apps/samples/Ensemble8/src/app/java/ensemble/util/FeatureChecker.java >>> ! modules/base/src/main/java/com/sun/javafx/PlatformUtil.java >>> >> > From felix.bembrick at gmail.com Mon Jan 13 10:19:04 2014 From: felix.bembrick at gmail.com (Felix Bembrick) Date: Tue, 14 Jan 2014 05:19:04 +1100 Subject: OpenGL on Windows Message-ID: Having watched the presentation from Stephen and Felipe about integrating JavaFX and native technologies such as OpenGL, I am inspired to work on a solution for my own needs for fast rendering of thousands of objects using the techniques in the video which I would then contribute to the community. However, it's quite clear that any OpenGL based solution is not going to work on Windows because OpenGL is not enabled on that platform. Given that I don't want to write code that supports both OpenGL and D3D, could someone answer these questions? 1. Why is OpenGL not enabled on Windows? Is it a performance thing? Is it because of poor text rendering with OpenGL? 2. What's involved in hacking Prism to enable OpenGL? 3. If 2 is not possible, is there some way to develop an abstraction layer on top of both OpenGL and D3D? Thanks, Felix From steve.x.northover at oracle.com Mon Jan 13 11:28:52 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Mon, 13 Jan 2014 14:28:52 -0500 Subject: OpenGL on Windows In-Reply-To: References: Message-ID: <52D43E74.7000208@oracle.com> Essentially, OpenGL on Windows would be another platform to support. If you build your own OpenJFX for Windows, it will work but it is completely unsupported. https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX If you run into any problems after you have successfully built (ie. the ES2 code is not there), open a JIRA request for OpenGL support on Windows and we can follow up there. Even if we don't fix the JIRA, we can capture the information for other that might want to do the same thing. Steve On 2014-01-13 1:19 PM, Felix Bembrick wrote: > Having watched the presentation from Stephen and Felipe about integrating JavaFX and native technologies such as OpenGL, I am inspired to work on a solution for my own needs for fast rendering of thousands of objects using the techniques in the video which I would then contribute to the community. > > However, it's quite clear that any OpenGL based solution is not going to work on Windows because OpenGL is not enabled on that platform. > > Given that I don't want to write code that supports both OpenGL and D3D, could someone answer these questions? > > 1. Why is OpenGL not enabled on Windows? Is it a performance thing? Is it because of poor text rendering with OpenGL? > > 2. What's involved in hacking Prism to enable OpenGL? > > 3. If 2 is not possible, is there some way to develop an abstraction layer on top of both OpenGL and D3D? > > Thanks, > > Felix From herve.girod at gmail.com Mon Jan 13 14:32:25 2014 From: herve.girod at gmail.com (Herve Girod) Date: Mon, 13 Jan 2014 23:32:25 +0100 Subject: JavaFX changes in early acess JDK 8 versions Message-ID: Hello, I just noticed that the new JDK 8 build 123 appeared today or yesterday. As usual it include the change list for the JDK. However, how is it possible to know what JavaFX changes (JIRA RT ?) have been applied to each build ? Thanks, Herv? From hang.vo at oracle.com Mon Jan 13 14:34:31 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 13 Jan 2014 22:34:31 +0000 Subject: hg: openjfx/8u-dev/rt: 8 new changesets Message-ID: <20140113223655.10D42623D1@hg.openjdk.java.net> Changeset: 6216d402dc1b Author: jgiles Date: 2014-01-13 09:34 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6216d402dc1b Remove VBoxBuilder dependency from HelloSplitPane ! apps/toys/Hello/src/main/java/hello/HelloSplitPane.java Changeset: e35db0874061 Author: jgiles Date: 2014-01-13 13:56 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e35db0874061 RT-35233: [TreeTableView, TreeTableColumn] Fix incomplete API documentation and TODOs ! modules/controls/src/main/java/javafx/scene/control/TableView.java ! modules/controls/src/main/java/javafx/scene/control/TreeTableColumn.java ! modules/controls/src/main/java/javafx/scene/control/TreeTableView.java ! modules/controls/src/main/java/javafx/scene/control/cell/TreeItemPropertyValueFactory.java Changeset: dace65c4c5d7 Author: jgiles Date: 2014-01-13 14:11 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/dace65c4c5d7 RT-35266: TableView Column Table header sort dots not consistent when hiding and showing columns ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableColumnHeader.java Changeset: 2f9b188da440 Author: jgiles Date: 2014-01-13 14:45 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/2f9b188da440 RT-35182: [Accelerators] Changing accelerator dynamically does not use the new accelerator ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ContextMenuContent.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java Changeset: e0b13bbc1f8d Author: jgiles Date: 2014-01-14 08:25 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e0b13bbc1f8d Fixing copyright year on files modified in earlier changesets. ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ContextMenuContent.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableColumnHeader.java ! modules/controls/src/main/java/javafx/scene/control/TreeTableColumn.java ! modules/controls/src/main/java/javafx/scene/control/TreeTableView.java ! modules/controls/src/main/java/javafx/scene/control/cell/TreeItemPropertyValueFactory.java Changeset: 7e904aa338e1 Author: Felipe Heidrich Date: 2014-01-13 07:54 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/7e904aa338e1 RT-34957: [Font, Linux] Crash on OSPango.pango_shape [running ensemble] ! modules/graphics/src/main/native-font/pango.c Changeset: 52393354c6dd Author: snorthov Date: 2014-01-13 15:51 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/52393354c6dd RT-4169: [Stage] Setting 'icons' to null do not reset the Stage icon Summary: The code to clean the icon in Glass was not being called by Quantum. When the code was called, there were problems in native glass on Mac and GTK that needed to be fixed. Reviewed-by: anthony ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/native-glass/gtk/GlassWindow.cpp ! modules/graphics/src/main/native-glass/mac/GlassWindow.m Changeset: 2910f4be0016 Author: Felipe Heidrich Date: 2014-01-13 10:27 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/2910f4be0016 Fix bad rendering mentioned in RT-34957. This in is preparation for RT-35255/RT-35221 ! modules/graphics/src/main/java/com/sun/javafx/font/freetype/PangoGlyphLayout.java From kevin.rushforth at oracle.com Mon Jan 13 15:39:49 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 13 Jan 2014 15:39:49 -0800 Subject: JavaFX changes in early acess JDK 8 versions In-Reply-To: References: Message-ID: <52D47945.403@oracle.com> Unfortunately, this is not currently available, as we don't have a good way to track and tag the bugs as to which build they were fixed in. -- Kevin Herve Girod wrote: > Hello, > > I just noticed that the new JDK 8 build 123 appeared today or yesterday. As > usual it include the change list for the JDK. However, how is it possible > to know what JavaFX changes (JIRA RT ?) have been applied to each build ? > > Thanks, > > Herv? > From kevin.rushforth at oracle.com Mon Jan 13 15:54:16 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 13 Jan 2014 15:54:16 -0800 Subject: 8 review request: RT-34791: Change javadoc copyright link to point to JDK 8 license Message-ID: <52D47CA8.1050102@oracle.com> Mong, Please review the following (in the JIRA). https://javafx-jira.kenai.com/browse/RT-34791 Thanks. -- Kevin From herve.girod at gmail.com Mon Jan 13 16:25:25 2014 From: herve.girod at gmail.com (Herve Girod) Date: Tue, 14 Jan 2014 01:25:25 +0100 Subject: JavaFX changes in early acess JDK 8 versions In-Reply-To: <52D47945.403@oracle.com> References: <52D47945.403@oracle.com> Message-ID: OK, I understand, but thanks for your answer though. Herve 2014/1/14 Kevin Rushforth > Unfortunately, this is not currently available, as we don't have a good > way to track and tag the bugs as to which build they were fixed in. > > -- Kevin > > > > Herve Girod wrote: > >> Hello, >> >> I just noticed that the new JDK 8 build 123 appeared today or yesterday. >> As >> usual it include the change list for the JDK. However, how is it possible >> to know what JavaFX changes (JIRA RT ?) have been applied to each build ? >> >> Thanks, >> >> Herv? >> >> > From hang.vo at oracle.com Mon Jan 13 16:40:58 2014 From: hang.vo at oracle.com (Mong Hang Vo) Date: Mon, 13 Jan 2014 16:40:58 -0800 Subject: 8 review request: RT-34791: Change javadoc copyright link to point to JDK 8 license In-Reply-To: <52D47CA8.1050102@oracle.com> References: <52D47CA8.1050102@oracle.com> Message-ID: <52D4879A.7020206@oracle.com> Kevin, The changes look great. Approved. Thanks, Mong On 1/13/2014 3:54 PM, Kevin Rushforth wrote: > Mong, > > Please review the following (in the JIRA). > > https://javafx-jira.kenai.com/browse/RT-34791 > > Thanks. > > -- Kevin > From felix.bembrick at gmail.com Tue Jan 14 03:57:35 2014 From: felix.bembrick at gmail.com (Felix Bembrick) Date: Tue, 14 Jan 2014 22:57:35 +1100 Subject: OpenGL on Windows In-Reply-To: <52D43E74.7000208@oracle.com> References: <52D43E74.7000208@oracle.com> Message-ID: Thanks Stephen. If I were to build an OpenGL-based platform for Windows, would the font rendering technique need to change? That is, could DirectWrite still be used to rasterise the glyphs (if that's what's currently happening) and would there be any reason for the text rendering quality to degrade? You mentioned that "ES2 code is not there": was that just an example or will I really have to address this problem? Thanks, Felix On 14 January 2014 06:28, Stephen F Northover wrote: > Essentially, OpenGL on Windows would be another platform to support. If > you build your own OpenJFX for Windows, it will work but it is completely > unsupported. > > https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX > > If you run into any problems after you have successfully built (ie. the > ES2 code is not there), open a JIRA request for OpenGL support on Windows > and we can follow up there. Even if we don't fix the JIRA, we can capture > the information for other that might want to do the same thing. > > Steve > > > On 2014-01-13 1:19 PM, Felix Bembrick wrote: > >> Having watched the presentation from Stephen and Felipe about integrating >> JavaFX and native technologies such as OpenGL, I am inspired to work on a >> solution for my own needs for fast rendering of thousands of objects using >> the techniques in the video which I would then contribute to the community. >> >> However, it's quite clear that any OpenGL based solution is not going to >> work on Windows because OpenGL is not enabled on that platform. >> >> Given that I don't want to write code that supports both OpenGL and D3D, >> could someone answer these questions? >> >> 1. Why is OpenGL not enabled on Windows? Is it a performance thing? Is it >> because of poor text rendering with OpenGL? >> >> 2. What's involved in hacking Prism to enable OpenGL? >> >> 3. If 2 is not possible, is there some way to develop an abstraction >> layer on top of both OpenGL and D3D? >> >> Thanks, >> >> Felix >> > > From steve.x.northover at oracle.com Tue Jan 14 07:15:57 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Tue, 14 Jan 2014 10:15:57 -0500 Subject: OpenGL on Windows In-Reply-To: References: <52D43E74.7000208@oracle.com> Message-ID: <52D554AD.9010203@oracle.com> It should all just work. The first step is to go and build OpenJFX. If something doesn't work, we can help you through JIRA and this list. Steve On 2014-01-14 6:57 AM, Felix Bembrick wrote: > Thanks Stephen. > > If I were to build an OpenGL-based platform for Windows, would the > font rendering technique need to change? That is, could DirectWrite > still be used to rasterise the glyphs (if that's what's currently > happening) and would there be any reason for the text rendering > quality to degrade? > > You mentioned that "ES2 code is not there": was that just an example > or will I really have to address this problem? > > Thanks, > > Felix > > > > On 14 January 2014 06:28, Stephen F Northover > > > wrote: > > Essentially, OpenGL on Windows would be another platform to > support. If you build your own OpenJFX for Windows, it will work > but it is completely unsupported. > > https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX > > If you run into any problems after you have successfully built > (ie. the ES2 code is not there), open a JIRA request for OpenGL > support on Windows and we can follow up there. Even if we don't > fix the JIRA, we can capture the information for other that might > want to do the same thing. > > Steve > > > On 2014-01-13 1:19 PM, Felix Bembrick wrote: > > Having watched the presentation from Stephen and Felipe about > integrating JavaFX and native technologies such as OpenGL, I > am inspired to work on a solution for my own needs for fast > rendering of thousands of objects using the techniques in the > video which I would then contribute to the community. > > However, it's quite clear that any OpenGL based solution is > not going to work on Windows because OpenGL is not enabled on > that platform. > > Given that I don't want to write code that supports both > OpenGL and D3D, could someone answer these questions? > > 1. Why is OpenGL not enabled on Windows? Is it a performance > thing? Is it because of poor text rendering with OpenGL? > > 2. What's involved in hacking Prism to enable OpenGL? > > 3. If 2 is not possible, is there some way to develop an > abstraction layer on top of both OpenGL and D3D? > > Thanks, > > Felix > > > From hang.vo at oracle.com Tue Jan 14 07:33:41 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 14 Jan 2014 15:33:41 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35247 [Monocle] Integrate with input device synthesizer Message-ID: <20140114153359.7BC8462419@hg.openjdk.java.net> Changeset: e13fa6df0ab3 Author: Daniel Blaukopf Date: 2014-01-14 17:17 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e13fa6df0ab3 RT-35247 [Monocle] Integrate with input device synthesizer ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleRobot.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessPlatform.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchLookahead.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchState.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchStates.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/AbsoluteInputCapabilities.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDeviceRegistry.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxPlatform.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxTouchProcessor.java From tom.schindl at bestsolution.at Tue Jan 14 07:43:38 2014 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Tue, 14 Jan 2014 16:43:38 +0100 Subject: OpenGL on Windows In-Reply-To: <52D554AD.9010203@oracle.com> References: <52D43E74.7000208@oracle.com> <52D554AD.9010203@oracle.com> Message-ID: <8FA09BC3-4281-4FF1-8930-107D56C7257D@bestsolution.at> Would it be better to work on a jogl prism pipeline itself? Tom Von meinem iPhone gesendet > Am 14.01.2014 um 16:15 schrieb Stephen F Northover : > > It should all just work. The first step is to go and build OpenJFX. If something doesn't work, we can help you through JIRA and this list. > > Steve > >> On 2014-01-14 6:57 AM, Felix Bembrick wrote: >> Thanks Stephen. >> >> If I were to build an OpenGL-based platform for Windows, would the font rendering technique need to change? That is, could DirectWrite still be used to rasterise the glyphs (if that's what's currently happening) and would there be any reason for the text rendering quality to degrade? >> >> You mentioned that "ES2 code is not there": was that just an example or will I really have to address this problem? >> >> Thanks, >> >> Felix >> >> >> >> On 14 January 2014 06:28, Stephen F Northover > wrote: >> >> Essentially, OpenGL on Windows would be another platform to >> support. If you build your own OpenJFX for Windows, it will work >> but it is completely unsupported. >> >> https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX >> >> If you run into any problems after you have successfully built >> (ie. the ES2 code is not there), open a JIRA request for OpenGL >> support on Windows and we can follow up there. Even if we don't >> fix the JIRA, we can capture the information for other that might >> want to do the same thing. >> >> Steve >> >> >> On 2014-01-13 1:19 PM, Felix Bembrick wrote: >> >> Having watched the presentation from Stephen and Felipe about >> integrating JavaFX and native technologies such as OpenGL, I >> am inspired to work on a solution for my own needs for fast >> rendering of thousands of objects using the techniques in the >> video which I would then contribute to the community. >> >> However, it's quite clear that any OpenGL based solution is >> not going to work on Windows because OpenGL is not enabled on >> that platform. >> >> Given that I don't want to write code that supports both >> OpenGL and D3D, could someone answer these questions? >> >> 1. Why is OpenGL not enabled on Windows? Is it a performance >> thing? Is it because of poor text rendering with OpenGL? >> >> 2. What's involved in hacking Prism to enable OpenGL? >> >> 3. If 2 is not possible, is there some way to develop an >> abstraction layer on top of both OpenGL and D3D? >> >> Thanks, >> >> Felix > From kevin.rushforth at oracle.com Tue Jan 14 07:54:23 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 14 Jan 2014 07:54:23 -0800 Subject: OpenGL on Windows In-Reply-To: <8FA09BC3-4281-4FF1-8930-107D56C7257D@bestsolution.at> References: <52D43E74.7000208@oracle.com> <52D554AD.9010203@oracle.com> <8FA09BC3-4281-4FF1-8930-107D56C7257D@bestsolution.at> Message-ID: <52D55DAF.6010206@oracle.com> I doubt it. We used to have a JOGL prism pipeline in FX 2, but retired it, and got a significant footprint reduction and performance boost (mainly due to how JOGL manages contexts and drawabled). Btw, the ES2 code for windows is already in the repo, and is part of the OpenJFX build. We just don't ship it. mainly because it doesn't work well at all on Intel HD, and is somewhat buggy on the other platforms. -- Kevin Tom Schindl wrote: > Would it be better to work on a jogl prism pipeline itself? > > Tom > > Von meinem iPhone gesendet > > >> Am 14.01.2014 um 16:15 schrieb Stephen F Northover : >> >> It should all just work. The first step is to go and build OpenJFX. If something doesn't work, we can help you through JIRA and this list. >> >> Steve >> >> >>> On 2014-01-14 6:57 AM, Felix Bembrick wrote: >>> Thanks Stephen. >>> >>> If I were to build an OpenGL-based platform for Windows, would the font rendering technique need to change? That is, could DirectWrite still be used to rasterise the glyphs (if that's what's currently happening) and would there be any reason for the text rendering quality to degrade? >>> >>> You mentioned that "ES2 code is not there": was that just an example or will I really have to address this problem? >>> >>> Thanks, >>> >>> Felix >>> >>> >>> >>> On 14 January 2014 06:28, Stephen F Northover > wrote: >>> >>> Essentially, OpenGL on Windows would be another platform to >>> support. If you build your own OpenJFX for Windows, it will work >>> but it is completely unsupported. >>> >>> https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX >>> >>> If you run into any problems after you have successfully built >>> (ie. the ES2 code is not there), open a JIRA request for OpenGL >>> support on Windows and we can follow up there. Even if we don't >>> fix the JIRA, we can capture the information for other that might >>> want to do the same thing. >>> >>> Steve >>> >>> >>> On 2014-01-13 1:19 PM, Felix Bembrick wrote: >>> >>> Having watched the presentation from Stephen and Felipe about >>> integrating JavaFX and native technologies such as OpenGL, I >>> am inspired to work on a solution for my own needs for fast >>> rendering of thousands of objects using the techniques in the >>> video which I would then contribute to the community. >>> >>> However, it's quite clear that any OpenGL based solution is >>> not going to work on Windows because OpenGL is not enabled on >>> that platform. >>> >>> Given that I don't want to write code that supports both >>> OpenGL and D3D, could someone answer these questions? >>> >>> 1. Why is OpenGL not enabled on Windows? Is it a performance >>> thing? Is it because of poor text rendering with OpenGL? >>> >>> 2. What's involved in hacking Prism to enable OpenGL? >>> >>> 3. If 2 is not possible, is there some way to develop an >>> abstraction layer on top of both OpenGL and D3D? >>> >>> Thanks, >>> >>> Felix >>> From steve.x.northover at oracle.com Tue Jan 14 07:55:03 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Tue, 14 Jan 2014 10:55:03 -0500 Subject: OpenGL on Windows In-Reply-To: <8FA09BC3-4281-4FF1-8930-107D56C7257D@bestsolution.at> References: <52D43E74.7000208@oracle.com> <52D554AD.9010203@oracle.com> <8FA09BC3-4281-4FF1-8930-107D56C7257D@bestsolution.at> Message-ID: <52D55DD7.8030200@oracle.com> At one point there was one or one that had an API close to JOGL. It was slower and bigger that what we have now. I would not be opposed to someone in the community looking into this again, be we wouldn't revisit it. Steve On 2014-01-14 10:43 AM, Tom Schindl wrote: > Would it be better to work on a jogl prism pipeline itself? > > Tom > > Von meinem iPhone gesendet > >> Am 14.01.2014 um 16:15 schrieb Stephen F Northover : >> >> It should all just work. The first step is to go and build OpenJFX. If something doesn't work, we can help you through JIRA and this list. >> >> Steve >> >>> On 2014-01-14 6:57 AM, Felix Bembrick wrote: >>> Thanks Stephen. >>> >>> If I were to build an OpenGL-based platform for Windows, would the font rendering technique need to change? That is, could DirectWrite still be used to rasterise the glyphs (if that's what's currently happening) and would there be any reason for the text rendering quality to degrade? >>> >>> You mentioned that "ES2 code is not there": was that just an example or will I really have to address this problem? >>> >>> Thanks, >>> >>> Felix >>> >>> >>> >>> On 14 January 2014 06:28, Stephen F Northover > wrote: >>> >>> Essentially, OpenGL on Windows would be another platform to >>> support. If you build your own OpenJFX for Windows, it will work >>> but it is completely unsupported. >>> >>> https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX >>> >>> If you run into any problems after you have successfully built >>> (ie. the ES2 code is not there), open a JIRA request for OpenGL >>> support on Windows and we can follow up there. Even if we don't >>> fix the JIRA, we can capture the information for other that might >>> want to do the same thing. >>> >>> Steve >>> >>> >>> On 2014-01-13 1:19 PM, Felix Bembrick wrote: >>> >>> Having watched the presentation from Stephen and Felipe about >>> integrating JavaFX and native technologies such as OpenGL, I >>> am inspired to work on a solution for my own needs for fast >>> rendering of thousands of objects using the techniques in the >>> video which I would then contribute to the community. >>> >>> However, it's quite clear that any OpenGL based solution is >>> not going to work on Windows because OpenGL is not enabled on >>> that platform. >>> >>> Given that I don't want to write code that supports both >>> OpenGL and D3D, could someone answer these questions? >>> >>> 1. Why is OpenGL not enabled on Windows? Is it a performance >>> thing? Is it because of poor text rendering with OpenGL? >>> >>> 2. What's involved in hacking Prism to enable OpenGL? >>> >>> 3. If 2 is not possible, is there some way to develop an >>> abstraction layer on top of both OpenGL and D3D? >>> >>> Thanks, >>> >>> Felix From steve.x.northover at oracle.com Tue Jan 14 09:02:24 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Tue, 14 Jan 2014 12:02:24 -0500 Subject: JavaFX changes in early acess JDK 8 versions In-Reply-To: References: <52D47945.403@oracle.com> Message-ID: <52D56DA0.4090806@oracle.com> I suppose we could query JIRA for bugs fixed within a certain date range. Steve On 2014-01-13 7:25 PM, Herve Girod wrote: > OK, I understand, but thanks for your answer though. > > Herve > > > 2014/1/14 Kevin Rushforth > >> Unfortunately, this is not currently available, as we don't have a good >> way to track and tag the bugs as to which build they were fixed in. >> >> -- Kevin >> >> >> >> Herve Girod wrote: >> >>> Hello, >>> >>> I just noticed that the new JDK 8 build 123 appeared today or yesterday. >>> As >>> usual it include the change list for the JDK. However, how is it possible >>> to know what JavaFX changes (JIRA RT ?) have been applied to each build ? >>> >>> Thanks, >>> >>> Herv? >>> >>> From hang.vo at oracle.com Tue Jan 14 08:33:42 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 14 Jan 2014 16:33:42 +0000 Subject: hg: openjfx/8/graphics/rt: RT-34791: Change javadoc copyright link to point to JDK 8 license Message-ID: <20140114163525.8A5626241C@hg.openjdk.java.net> Changeset: d4fcbba5228c Author: kcr Date: 2014-01-14 08:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/d4fcbba5228c RT-34791: Change javadoc copyright link to point to JDK 8 license Reviewed-by: mtvo ! apps/samples/Ensemble8/build.xml ! build.properties ! modules/fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html From kevin.rushforth at oracle.com Tue Jan 14 09:09:16 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 14 Jan 2014 09:09:16 -0800 Subject: JavaFX changes in early acess JDK 8 versions In-Reply-To: <52D56DA0.4090806@oracle.com> References: <52D47945.403@oracle.com> <52D56DA0.4090806@oracle.com> Message-ID: <52D56F3C.60608@oracle.com> That would be a good estimate, but not definitive. Better would be for RE to query the bugs fixed between two tagged builds and use that to list the bugs fixed. There is a JIRA filed for doing this: https://javafx-jira.kenai.com/browse/RT-26144 -- Kevin Stephen F Northover wrote: > I suppose we could query JIRA for bugs fixed within a certain date range. > > Steve > > On 2014-01-13 7:25 PM, Herve Girod wrote: >> OK, I understand, but thanks for your answer though. >> >> Herve >> >> >> 2014/1/14 Kevin Rushforth >> >>> Unfortunately, this is not currently available, as we don't have a good >>> way to track and tag the bugs as to which build they were fixed in. >>> >>> -- Kevin >>> >>> >>> >>> Herve Girod wrote: >>> >>>> Hello, >>>> >>>> I just noticed that the new JDK 8 build 123 appeared today or >>>> yesterday. >>>> As >>>> usual it include the change list for the JDK. However, how is it >>>> possible >>>> to know what JavaFX changes (JIRA RT ?) have been applied to each >>>> build ? >>>> >>>> Thanks, >>>> >>>> Herv? >>>> >>>> > From hang.vo at oracle.com Tue Jan 14 11:18:36 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 14 Jan 2014 19:18:36 +0000 Subject: hg: openjfx/8u-dev/rt: 2 new changesets Message-ID: <20140114191911.04A016242D@hg.openjdk.java.net> Changeset: 46d16b777197 Author: kcr Date: 2014-01-14 09:13 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/46d16b777197 Added tag 8u20-m1 for changeset 399f574b5ab8 ! .hgtags Changeset: 4a567170426a Author: kcr Date: 2014-01-14 11:11 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4a567170426a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8u/master/jfx/rt From hang.vo at oracle.com Tue Jan 14 17:34:15 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 01:34:15 +0000 Subject: hg: openjfx/8/graphics/rt: 32 new changesets Message-ID: <20140115014413.62C476245F@hg.openjdk.java.net> Changeset: bbdd4f8dac92 Author: Pavel Safrata Date: 2013-09-06 13:57 +0100 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/bbdd4f8dac92 RT-32306: Enhance FX drag and drop operations + modules/graphics/src/main/java/com/sun/javafx/scene/input/DragboardHelper.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/input/Clipboard.java ! modules/graphics/src/main/java/javafx/scene/input/Dragboard.java Changeset: 1da97ec90d4b Author: Lubomir Nerad Date: 2013-09-06 16:53 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/1da97ec90d4b Partial fix for RT-31872: Better window dressing ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/DummyToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/application/ConditionalFeature.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java ! modules/graphics/src/main/java/javafx/stage/Stage.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 17192e819910 Author: kcr Date: 2013-09-06 16:21 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/17192e819910 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/input/Dragboard.java Changeset: 4b224f556d88 Author: kcr Date: 2013-09-10 20:25 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/4b224f556d88 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 6a89f7866850 Author: kcr Date: 2013-09-12 11:39 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/6a89f7866850 RT-32349: Enhance animated properties Reviewed-by: Martin Sladecek ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/scenario/animation/AbstractMasterTimer.java + modules/graphics/src/main/java/com/sun/scenario/animation/shared/TimerReceiver.java ! modules/graphics/src/main/java/javafx/animation/Animation.java ! modules/graphics/src/main/java/javafx/animation/AnimationTimer.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/scenario/animation/AbstractMasterTimerTest.java Changeset: c0dd6c47fec3 Author: kcr Date: 2013-09-18 08:09 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/c0dd6c47fec3 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: 8f7c7ce8f288 Author: Martin Soch Date: 2013-09-26 21:04 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/8f7c7ce8f288 RT-32585: Enhance FX loading ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: 90033f25c0a8 Author: kcr Date: 2013-09-27 12:28 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/90033f25c0a8 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/animation/Animation.java Changeset: be753a412553 Author: kcr Date: 2013-10-03 19:13 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/be753a412553 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java Changeset: bea7774477b0 Author: kcr Date: 2013-10-10 05:15 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/bea7774477b0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/stage/Stage.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 426d7968042e Author: jgiles Date: 2013-10-17 09:49 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/426d7968042e RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! build.gradle + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 6d4aab361b56 Author: jgiles Date: 2013-10-17 10:22 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/6d4aab361b56 Backed out changeset 426d7968042e to fix line endings issue. ! build.gradle - modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css - modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 4f5c5af78125 Author: jgiles Date: 2013-10-17 10:31 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/4f5c5af78125 RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! build.gradle + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 2882a36f2ae4 Author: kcr Date: 2013-10-19 07:30 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/2882a36f2ae4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: e05ea7f7c845 Author: kcr Date: 2013-10-22 15:14 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/e05ea7f7c845 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/scenario/animation/AbstractMasterTimer.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: 7155c3d71afb Author: kcr Date: 2013-10-22 08:37 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/7155c3d71afb RT-32586: Enhance FX services Reviewed-by: lnerad, art, ahgross ! modules/graphics/src/main/java/javafx/concurrent/Service.java ! modules/graphics/src/test/java/javafx/concurrent/ServiceLifecycleTest.java Changeset: 74fc4fd0d428 Author: jgiles Date: 2013-10-24 09:22 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/74fc4fd0d428 RT-3372: Unit test failure in ColorPickerTest.ensureCanSelectColorFromPalette Reviewed-by: kcr ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 281d693901fb Author: jgiles Date: 2013-10-24 09:47 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/281d693901fb Backed out changeset: 74fc4fd0d428 (due to bad line endings) ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: f5f6e1bb2950 Author: jgiles Date: 2013-10-24 09:48 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/f5f6e1bb2950 RT-3372: Unit test failure in ColorPickerTest.ensureCanSelectColorFromPalette Reviewed-by: kcr ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: d7b99966cc71 Author: kcr Date: 2013-10-24 08:28 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/d7b99966cc71 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 9151b502587a Author: kcr Date: 2013-11-02 07:09 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/9151b502587a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: bc988e1dc10e Author: kcr Date: 2013-11-07 16:51 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/bc988e1dc10e Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: fd92fa0740f0 Author: kcr Date: 2013-11-14 18:49 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/fd92fa0740f0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java Changeset: 1774c627553d Author: kcr Date: 2013-11-21 15:41 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/1774c627553d Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: b80d119b3673 Author: kcr Date: 2013-11-27 15:48 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/b80d119b3673 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 5f0f8fb9906b Author: kcr Date: 2013-12-05 08:57 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/5f0f8fb9906b Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: 26515db79472 Author: kcr Date: 2013-12-14 06:36 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/26515db79472 Automated merge with file:///cygdrive/c/Users/kcr/javafx/8-MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: ec1827dee52d Author: kcr Date: 2013-12-17 12:13 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/ec1827dee52d Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: e3be095eed59 Author: kcr Date: 2014-01-02 09:19 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/e3be095eed59 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: b42c0c512c4a Author: kcr Date: 2014-01-07 13:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/b42c0c512c4a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 80c29c9a9551 Author: kcr Date: 2014-01-14 14:57 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/80c29c9a9551 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 8d28332831a4 Author: kcr Date: 2014-01-14 17:06 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/8d28332831a4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt From kevin.rushforth at oracle.com Tue Jan 14 17:48:31 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 14 Jan 2014 17:48:31 -0800 Subject: Changes for January 2014 CPU release synced into FX 8 Message-ID: <52D5E8EF.6000101@oracle.com> Note: I have synced up the pending FX changes from the just-release January 2014 CPU release into FX 8. I also pulled them into the graphics/rt repo. I plan sync up from FX 8 to 8u-dev tomorrow, which will pick up the CPU changes into the 8 update release. -- Kevin From hang.vo at oracle.com Tue Jan 14 18:18:29 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 02:18:29 +0000 Subject: hg: openjfx/8u-dev/rt: Fix RT-35209: Bugs in error recovery code for OpenGL shader creation Message-ID: <20140115021929.EA1C762462@hg.openjdk.java.net> Changeset: dcec6d5e0fd5 Author: flar Date: 2014-01-14 18:07 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/dcec6d5e0fd5 Fix RT-35209: Bugs in error recovery code for OpenGL shader creation Reviewed by: chien, felipe ! modules/graphics/src/main/native-prism-es2/GLContext.c ! modules/graphics/src/main/native-prism-es2/PrismES2Defs.h ! modules/graphics/src/main/native-prism-es2/ios/IOSGLContext.c ! modules/graphics/src/main/native-prism-es2/macosx/MacGLContext.c ! modules/graphics/src/main/native-prism-es2/windows/WinGLContext.c ! modules/graphics/src/main/native-prism-es2/x11/X11GLContext.c From hang.vo at oracle.com Wed Jan 15 00:18:33 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 08:18:33 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35015 [ScrollPane] ScrollPane can leave trails of horizontal lines. Message-ID: <20140115081856.B87986246C@hg.openjdk.java.net> Changeset: 24df4e4a1a07 Author: Martin Sladecek Date: 2014-01-15 09:07 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/24df4e4a1a07 RT-35015 [ScrollPane] ScrollPane can leave trails of horizontal lines. Reviewed by: flar ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java ! modules/graphics/src/main/java/com/sun/javafx/sg/prism/CacheFilter.java ! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java ! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRegion.java ! modules/graphics/src/main/java/com/sun/prism/impl/PrismSettings.java From ilyabuziuk at gmail.com Wed Jan 15 02:54:02 2014 From: ilyabuziuk at gmail.com (Ilya Buziuk) Date: Wed, 15 Jan 2014 13:54:02 +0300 Subject: JavaFx gtk3 support In-Reply-To: References: Message-ID: Hello. I'm really interested in high level plans about gtk3 support. Assuming that starting from Luna build eclipse uses gtk3 libs when available on Linux/Unix (https://bugs.eclipse.org/bugs/show_bug.cgi?id=420182 ) , which makes javaFx incompatible, cause it contains hardcoded references to gtk2. I do believe that in a long run compatibility with gtk3 is not only useful, but vital for eclipse / SWT support. So, I have created an issue - https://javafx-jira.kenai.com/browse/RT-35264 . However, I got no feedback yet. I'm also take an interest in javaFx WebView (WebKit). It has loads of cool features indeed! Debugger API is a killer one. So, I guess it's also compiled against gtk2, isn't it? On Wed, Jan 15, 2014 at 1:42 PM, Ilya Buziuk wrote: > Hello. > I'm really interested in high level plans about gtk3 support. Assuming > that starting from Luna build eclipse uses gtk3 libs when available on > Linux/Unix (https://bugs.eclipse.org/bugs/show_bug.cgi?id=420182 ) , > which makes javaFx incompatible, cause it contains hardcoded references to > gtk2. > I do believe that in a long run compatibility with gtk3 is not only > useful, but vital for eclipse / SWT support. So, I have created an issue - > https://javafx-jira.kenai.com/browse/RT-35264 . However, I got no > feedback yet. I'm also take an interest in javaFx WebView (WebKit). It has > loads of cool features indeed! Debugger API is a killer one. So, I guess > it's also compiled against gtk2, isn't it? > -- > > Best Regards, > > Ilya Buziuk > From alexander.kouznetsov at oracle.com Wed Jan 15 03:36:26 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Wed, 15 Jan 2014 15:36:26 +0400 Subject: How I do connect two panes? In-Reply-To: References: Message-ID: <52D672BA.3010302@oracle.com> Try using Line node. It has bindable coordinates. Best regards, Alexander Kouznetsov (408) 276-0387 On 7 ??? 2014 1:30, Amine Tengilimoglu wrote: > I want to connect two panes. panes are dragable so: I need dinamic line... > Which API should I look at? ? am waiting for answers...thanx From alexander.kouznetsov at oracle.com Wed Jan 15 03:37:31 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Wed, 15 Jan 2014 15:37:31 +0400 Subject: How to draw line to connect Two components at run time? In-Reply-To: References: Message-ID: <52D672FB.40606@oracle.com> Just like I answered in another thread, you can add Line node and update its coordinates the way you need. Best regards, Alexander Kouznetsov (408) 276-0387 On 7 ??? 2014 1:45, Amine Tengilimoglu wrote: > Hi; > > I met a problem and need urgent help from you here, I am new in javafx ... > draw lines between any two components(are panes) at RUN-TIME, not at design > time > > pls advice how to do it? From randahl at rockit.dk Wed Jan 15 03:43:37 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 15 Jan 2014 12:43:37 +0100 Subject: The disableProperty / disabledProperty mess Message-ID: <4FE7914D-51B6-4950-BC6E-D05ED39EC52E@rockit.dk> I keep thinking we need to fix the disableProperty / disabledProperty mess, so I have created a Jira issue, which I hope you will all vote for: Please see the description below Randahl ??? From https://javafx-jira.kenai.com/browse/RT-35349 I know I am late to the game with this request, but please read this in full ? there is a point to this. I have used JavaFX since the early access days, and all the time I keep thinking that the disableProperty and disabledProperty of Node work in a counter-intuitive manner. Like most other developers, I typically use names of boolean properties to express the positive state of something, as in "is it complete" or "is it ready". Usually, JavaFX property names also follow this idea, e.g. "is it visible", "is it managed", "is it pressed" and so on. However, one property in JavaFX is reversed, and that leads to confusion. When you decide wether "is it enabled" for a Node, you do so by controlling the opposite, namely "is it disabled". To add to that confusion, there is both disableProperty and a disabledProperty. I suggest improving JavaFX to follow almost all other GUI frameworks (including Swing), by introducing an enabledProperty. Such a property could be implemented in a backwards compatible manner by keeping the existing disableProperty but marking it as deprecated. With an enabledProperty, there are literally thousands of lines of code in my application that would be much more readable. Today I write something like this to make a continue button be enabled when a form is complete: continueButton.disableProperty().bind(form.validProperty().not()); ? Note that above my form's validProperty expresses something positive, that the form is valid, while the button's enabled property is expressed as something negative, namely "is it NOT enabled" using the disableProperty. This requires me to use the not() method. With the new enabledProperty() I could write code, that was more easy to read: continueButton.enabledProperty().bind(form.validProperty()); I hope it is evident to everyone that this line is much more readable, and I think the enabledProperty would make the JavaFX API easier to use ? also for newcomers learning to program JavaFX. From alexander.kouznetsov at oracle.com Wed Jan 15 03:45:58 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Wed, 15 Jan 2014 15:45:58 +0400 Subject: Launching JavaFX apps In-Reply-To: <52CD6490.4050805@oracle.com> References: <52CD6490.4050805@oracle.com> Message-ID: <52D674F6.8040106@oracle.com> Here is the link to file a bug on NetBeans: http://netbeans.org/bugzilla/enter_bug.cgi Best regards, Alexander Kouznetsov (408) 276-0387 On 8 ??? 2014 18:45, Kevin Rushforth wrote: > > > So yes, it does seem that Netbeans should modify the wording of their > javadoc comment for the main() method of a JavaFX application. From swpalmer at gmail.com Wed Jan 15 04:40:52 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 15 Jan 2014 07:40:52 -0500 Subject: Launching JavaFX apps In-Reply-To: <52D674F6.8040106@oracle.com> References: <52CD6490.4050805@oracle.com> <52D674F6.8040106@oracle.com> Message-ID: Thanks. I'm participating in NetCat 8.0 so I'm well aware of that link :-). But this doesn't appear to be a NetBeans issue. Inclusion of metadata into the launcher stub is not implemented in the javafxpackager command line tool or ant task as far as I can tell. (I'm using the gradle plugin mainly at this point, but it just delegates to the ant task as far as I can tell.) Cheers, Scott On Wed, Jan 15, 2014 at 6:45 AM, Alexander Kouznetsov < alexander.kouznetsov at oracle.com> wrote: > Here is the link to file a bug on NetBeans: http://netbeans.org/bugzilla/ > enter_bug.cgi > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > > On 8 ??? 2014 18:45, Kevin Rushforth wrote: > >> >> >> So yes, it does seem that Netbeans should modify the wording of their >> javadoc comment for the main() method of a JavaFX application. >> > > From hang.vo at oracle.com Wed Jan 15 04:48:26 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 12:48:26 +0000 Subject: hg: openjfx/8u-dev/rt: RT-34281 Cursor doesn't change back from 'move/drag' to 'pointer' when dragging scrollPane Message-ID: <20140115124942.682E262476@hg.openjdk.java.net> Changeset: 4f1da073db97 Author: Martin Sladecek Date: 2014-01-15 12:35 +0000 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4f1da073db97 RT-34281 Cursor doesn't change back from 'move/drag' to 'pointer' when dragging scrollPane ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/javafx/scene/MouseTest.java From alexander.kouznetsov at oracle.com Wed Jan 15 05:40:33 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Wed, 15 Jan 2014 17:40:33 +0400 Subject: Launching JavaFX apps In-Reply-To: References: <52CD6490.4050805@oracle.com> <52D674F6.8040106@oracle.com> Message-ID: <52D68FD1.3050608@oracle.com> Scott, I didn't get that. Are you saying that main() method javadoc is correct? Best regards, Alexander Kouznetsov (408) 276-0387 On 15 ??? 2014 16:40, Scott Palmer wrote: > Thanks. I'm participating in NetCat 8.0 so I'm well aware of that > link :-). But this doesn't appear to be a NetBeans issue. Inclusion > of metadata into the launcher stub is not implemented in the > javafxpackager command line tool or ant task as far as I can tell. > (I'm using the gradle plugin mainly at this point, but it just > delegates to the ant task as far as I can tell.) > > Cheers, > > Scott > > > > > On Wed, Jan 15, 2014 at 6:45 AM, Alexander Kouznetsov > > wrote: > > Here is the link to file a bug on NetBeans: > http://netbeans.org/bugzilla/enter_bug.cgi > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > > On 8 ??? 2014 18:45, Kevin Rushforth wrote: > > > > So yes, it does seem that Netbeans should modify the wording > of their javadoc comment for the main() method of a JavaFX > application. > > > From alexander.kouznetsov at oracle.com Wed Jan 15 06:10:02 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Wed, 15 Jan 2014 18:10:02 +0400 Subject: [8u] Post-commit review: RT-35237, When a Bidirectional binding fails, old value restoration may cause an exception hiding the real cause In-Reply-To: <52D3DD14.6070808@oracle.com> References: <52D3DD14.6070808@oracle.com> Message-ID: <52D696BA.4000909@oracle.com> The link doesn't work for me. Best regards, Alexander Kouznetsov (408) 276-0387 On 13 ??? 2014 16:33, Martin Sladecek wrote: > Hello, > > here's a changeset for RT-35237 (When a Bidirectional binding fails, > old value restoration may cause an exception hiding the real cause), > if anybody's interested. > > http://hg.openjdk.java.net/openjfx/8u-dev/graphics/rt/rev/f487abfe1990 > > Thanks, > -Martin From kevin.rushforth at oracle.com Wed Jan 15 06:25:13 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 15 Jan 2014 06:25:13 -0800 Subject: Launching JavaFX apps In-Reply-To: References: <52CD6490.4050805@oracle.com> <52D674F6.8040106@oracle.com> Message-ID: <52D69A49.30003@oracle.com> I'll check, but I would be surprised to find this comment insertion code in FX. I'm almost certain it is in the JavaFX project code in NetBeans. -- Kevin Scott Palmer wrote: > Thanks. I'm participating in NetCat 8.0 so I'm well aware of that > link :-). But this doesn't appear to be a NetBeans issue. Inclusion > of metadata into the launcher stub is not implemented in the > javafxpackager command line tool or ant task as far as I can tell. > (I'm using the gradle plugin mainly at this point, but it just > delegates to the ant task as far as I can tell.) > > Cheers, > > Scott > > > > > On Wed, Jan 15, 2014 at 6:45 AM, Alexander Kouznetsov > > wrote: > > Here is the link to file a bug on NetBeans: > http://netbeans.org/bugzilla/enter_bug.cgi > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > > On 8 ??? 2014 18:45, Kevin Rushforth wrote: > > > > So yes, it does seem that Netbeans should modify the wording > of their javadoc comment for the main() method of a JavaFX > application. > > > From kevin.rushforth at oracle.com Wed Jan 15 06:33:20 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 15 Jan 2014 06:33:20 -0800 Subject: [8u] Post-commit review: RT-35237, When a Bidirectional binding fails, old value restoration may cause an exception hiding the real cause In-Reply-To: <52D696BA.4000909@oracle.com> References: <52D3DD14.6070808@oracle.com> <52D696BA.4000909@oracle.com> Message-ID: <52D69C30.4020401@oracle.com> The URL is not quite right. There should be no "graphics" in the path: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/f487abfe1990 -- Kevin Alexander Kouznetsov wrote: > The link doesn't work for me. > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > On 13 ??? 2014 16:33, Martin Sladecek wrote: >> Hello, >> >> here's a changeset for RT-35237 (When a Bidirectional binding fails, >> old value restoration may cause an exception hiding the real cause), >> if anybody's interested. >> >> http://hg.openjdk.java.net/openjfx/8u-dev/graphics/rt/rev/f487abfe1990 >> >> Thanks, >> -Martin > From hang.vo at oracle.com Wed Jan 15 08:33:55 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 16:33:55 +0000 Subject: hg: openjfx/8u-dev/rt: Fix RT-31402: Virtual Keyboard should not produce keystrokes with a right mouse click Message-ID: <20140115163417.32BF462483@hg.openjdk.java.net> Changeset: 650d35fd3f22 Author: Seeon Birger Date: 2014-01-15 18:17 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/650d35fd3f22 Fix RT-31402: Virtual Keyboard should not produce keystrokes with a right mouse click ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/FXVKSkin.java From steve.x.northover at oracle.com Wed Jan 15 09:23:47 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Wed, 15 Jan 2014 12:23:47 -0500 Subject: JavaFx gtk3 support In-Reply-To: References: Message-ID: <52D6C423.7050309@oracle.com> Hi Ilya, Sorry, just processed the bug today. Can we carry on the conversation there? https://javafx-jira.kenai.com/browse/RT-35264 Steve On 2014-01-15 5:54 AM, Ilya Buziuk wrote: > Hello. > I'm really interested in high level plans about gtk3 support. Assuming that > starting from Luna build eclipse uses gtk3 libs when available on > Linux/Unix (https://bugs.eclipse.org/bugs/show_bug.cgi?id=420182 ) , which > makes javaFx incompatible, cause it contains hardcoded references to gtk2. > I do believe that in a long run compatibility with gtk3 is not only useful, > but vital for eclipse / SWT support. So, I have created an issue - > https://javafx-jira.kenai.com/browse/RT-35264 . However, I got no feedback > yet. I'm also take an interest in javaFx WebView (WebKit). It has loads of > cool features indeed! Debugger API is a killer one. So, I guess it's also > compiled against gtk2, isn't it? > > > On Wed, Jan 15, 2014 at 1:42 PM, Ilya Buziuk wrote: > >> Hello. >> I'm really interested in high level plans about gtk3 support. Assuming >> that starting from Luna build eclipse uses gtk3 libs when available on >> Linux/Unix (https://bugs.eclipse.org/bugs/show_bug.cgi?id=420182 ) , >> which makes javaFx incompatible, cause it contains hardcoded references to >> gtk2. >> I do believe that in a long run compatibility with gtk3 is not only >> useful, but vital for eclipse / SWT support. So, I have created an issue - >> https://javafx-jira.kenai.com/browse/RT-35264 . However, I got no >> feedback yet. I'm also take an interest in javaFx WebView (WebKit). It has >> loads of cool features indeed! Debugger API is a killer one. So, I guess >> it's also compiled against gtk2, isn't it? >> -- >> >> Best Regards, >> >> Ilya Buziuk >> From lisa.selle at oracle.com Wed Jan 15 09:43:36 2014 From: lisa.selle at oracle.com (Lisa Selle) Date: Wed, 15 Jan 2014 12:43:36 -0500 Subject: Review request: RT-35209 Runtime is broken on beagleboard Message-ID: <52D6C8C8.5070103@oracle.com> Daniel can you please review the fix for https://javafx-jira.kenai.com/browse/RT-35209 (patch is in jira). Thanks, Lisa From lisa.selle at oracle.com Wed Jan 15 09:55:04 2014 From: lisa.selle at oracle.com (Lisa Selle) Date: Wed, 15 Jan 2014 12:55:04 -0500 Subject: Review request: RT-35209 Runtime is broken on beagleboard In-Reply-To: <52D6C8C8.5070103@oracle.com> References: <52D6C8C8.5070103@oracle.com> Message-ID: <52D6CB78.7000501@oracle.com> Sorry the proper jira is: https://javafx-jira.kenai.com/browse/RT-35371 On 1/15/2014 12:43 PM, Lisa Selle wrote: > Daniel can you please review the fix for > https://javafx-jira.kenai.com/browse/RT-35209 (patch is in jira). > > Thanks, > > Lisa From hang.vo at oracle.com Wed Jan 15 10:03:01 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 18:03:01 +0000 Subject: hg: openjfx/8u-dev/rt: Fix for RT-35371 runtime is completely broken on beagleboard. Reviewed by dblaukopf, tested with HelloSanity. Message-ID: <20140115180318.5512E62487@hg.openjdk.java.net> Changeset: 061e253a9cd2 Author: Lisa.Selle at oracle.com Date: 2014-01-15 12:56 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/061e253a9cd2 Fix for RT-35371 runtime is completely broken on beagleboard. Reviewed by dblaukopf, tested with HelloSanity. ! modules/graphics/src/main/native-prism-es2/eglfb/eglUtils.c From steve.x.northover at oracle.com Wed Jan 15 10:12:38 2014 From: steve.x.northover at oracle.com (Stephen F Northover) Date: Wed, 15 Jan 2014 13:12:38 -0500 Subject: The disableProperty / disabledProperty mess In-Reply-To: <4FE7914D-51B6-4950-BC6E-D05ED39EC52E@rockit.dk> References: <4FE7914D-51B6-4950-BC6E-D05ED39EC52E@rockit.dk> Message-ID: <52D6CF96.2050509@oracle.com> Funny, this was one of the first things that I asked when I came to FX. I believe we are using the same terminology as the disabled property on DOM nodes. At this point, we cannot change it and I'm not thrilled about adding an alias but let's discuss this in the JIRA. Steve On 2014-01-15 6:43 AM, Randahl Fink Isaksen wrote: > I keep thinking we need to fix the disableProperty / disabledProperty mess, so I have created a Jira issue, which I hope you will all vote for: > > Please see the description below > > Randahl > > > ??? > From https://javafx-jira.kenai.com/browse/RT-35349 > > I know I am late to the game with this request, but please read this in full ? there is a point to this. > > I have used JavaFX since the early access days, and all the time I keep thinking that the disableProperty and disabledProperty of Node work in a counter-intuitive manner. > > Like most other developers, I typically use names of boolean properties to express the positive state of something, as in "is it complete" or "is it ready". Usually, JavaFX property names also follow this idea, e.g. "is it visible", "is it managed", "is it pressed" and so on. > > However, one property in JavaFX is reversed, and that leads to confusion. When you decide wether "is it enabled" for a Node, you do so by controlling the opposite, namely "is it disabled". To add to that confusion, there is both disableProperty and a disabledProperty. > > I suggest improving JavaFX to follow almost all other GUI frameworks (including Swing), by introducing an enabledProperty. Such a property could be implemented in a backwards compatible manner by keeping the existing disableProperty but marking it as deprecated. > > With an enabledProperty, there are literally thousands of lines of code in my application that would be much more readable. Today I write something like this to make a continue button be enabled when a form is complete: > > continueButton.disableProperty().bind(form.validProperty().not()); > > ? Note that above my form's validProperty expresses something positive, that the form is valid, while the button's enabled property is expressed as something negative, namely "is it NOT enabled" using the disableProperty. This requires me to use the not() method. > > With the new enabledProperty() I could write code, that was more easy to read: > > continueButton.enabledProperty().bind(form.validProperty()); > > I hope it is evident to everyone that this line is much more readable, and I think the enabledProperty would make the JavaFX API easier to use ? also for newcomers learning to program JavaFX. From hang.vo at oracle.com Wed Jan 15 10:33:26 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 18:33:26 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35372 Update crosslibs-armv6hf.sh script Message-ID: <20140115183342.9B0AB6248E@hg.openjdk.java.net> Changeset: 5b93cb591cb0 Author: Daniel Blaukopf Date: 2014-01-15 20:24 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/5b93cb591cb0 RT-35372 Update crosslibs-armv6hf.sh script ! buildSrc/crosslibs/crosslibs-armv6hf.sh From hang.vo at oracle.com Wed Jan 15 11:03:45 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 19:03:45 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35374 [Monocle] LinuxInputTests: EGalax tests fail when running after DragTouchInAndOutAWindow Message-ID: <20140115190402.5870C62491@hg.openjdk.java.net> Changeset: e546ab623a97 Author: Daniel Blaukopf Date: 2014-01-15 20:52 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e546ab623a97 RT-35374 [Monocle] LinuxInputTests: EGalax tests fail when running after DragTouchInAndOutAWindow Summary: There was a misunderstanding in MonocleWindow as to what xSet and ySet mean ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindow.java From swpalmer at gmail.com Wed Jan 15 11:26:02 2014 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 15 Jan 2014 14:26:02 -0500 Subject: Launching JavaFX apps In-Reply-To: <52D68FD1.3050608@oracle.com> References: <52CD6490.4050805@oracle.com> <52D674F6.8040106@oracle.com> <52D68FD1.3050608@oracle.com> Message-ID: Yes that too.. Sorry.. there were many points in my email and I misunderstood which you were referring to. I will file the bug with NB regarding the default comments in a JavaFX project. My other comment was referring to the launcher.exe that JavaFX packager uses and that is of course a JavaFX issue. RT-35271 specifically. Thanks, Scott On Wed, Jan 15, 2014 at 8:40 AM, Alexander Kouznetsov < alexander.kouznetsov at oracle.com> wrote: > Scott, > > I didn't get that. Are you saying that main() method javadoc is correct? > > Best regards, > Alexander Kouznetsov(408) 276-0387 > > On 15 ??? 2014 16:40, Scott Palmer wrote: > > Thanks. I'm participating in NetCat 8.0 so I'm well aware of that link > :-). But this doesn't appear to be a NetBeans issue. Inclusion of > metadata into the launcher stub is not implemented in the javafxpackager > command line tool or ant task as far as I can tell. (I'm using the gradle > plugin mainly at this point, but it just delegates to the ant task as far > as I can tell.) > > Cheers, > > Scott > > > > > On Wed, Jan 15, 2014 at 6:45 AM, Alexander Kouznetsov < > alexander.kouznetsov at oracle.com> wrote: > >> Here is the link to file a bug on NetBeans: >> http://netbeans.org/bugzilla/enter_bug.cgi >> >> Best regards, >> Alexander Kouznetsov >> (408) 276-0387 >> >> >> On 8 ??? 2014 18:45, Kevin Rushforth wrote: >> >>> >>> >>> So yes, it does seem that Netbeans should modify the wording of their >>> javadoc comment for the main() method of a JavaFX application. >>> >> >> > > From hang.vo at oracle.com Wed Jan 15 14:51:03 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 22:51:03 +0000 Subject: hg: openjfx/2u/dev/rt: 27 new changesets Message-ID: <20140115225128.9339E6249D@hg.openjdk.java.net> Changeset: 6619d6a3cbbb Author: Pavel Safrata Date: 2013-09-06 12:10 +0100 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/6619d6a3cbbb RT-32306: Enhance FX drag and drop operations + javafx-ui-common/src/com/sun/javafx/scene/input/DragboardHelper.java ! javafx-ui-common/src/javafx/scene/Scene.java ! javafx-ui-common/src/javafx/scene/input/Clipboard.java ! javafx-ui-common/src/javafx/scene/input/Dragboard.java Changeset: 37c9617b2600 Author: Lubomir Nerad Date: 2013-09-06 14:14 +0200 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/37c9617b2600 Partial fix for RT-31872: Better window dressing ! javafx-ui-common/src/com/sun/javafx/application/PlatformImpl.java ! javafx-ui-common/src/javafx/application/ConditionalFeature.java ! javafx-ui-common/src/javafx/stage/PopupWindow.java ! javafx-ui-common/src/javafx/stage/Stage.java Changeset: e069a299eb59 Author: kcr Date: 2013-09-10 15:07 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/e069a299eb59 RT-32349: Enhance animated properties Reviewed-by: Martin Sladecek, Artem Ananiev, Marc Schonefeld, Alexander Fomin ! javafx-ui-common/src/com/sun/javafx/tk/Toolkit.java ! javafx-ui-common/src/javafx/scene/Scene.java Changeset: 404110ce1dad Author: kcr Date: 2013-09-18 05:25 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/404110ce1dad Automated merge with ssh://jfxsrc.us.oracle.com//javafx/2.2.45/MASTER/jfx/rt Changeset: 26f9d2850bf4 Author: kcr Date: 2013-09-27 08:48 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/26f9d2850bf4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/2.2.45/MASTER/jfx/rt Changeset: e7845af500c7 Author: hudson Date: 2013-10-01 09:15 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/e7845af500c7 Added tag 2.2.51-b01 for changeset 26f9d2850bf4 ! .hgtags Changeset: 0996f9dc2e95 Author: kcr Date: 2013-10-03 18:03 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/0996f9dc2e95 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/2.2.45/MASTER/jfx/rt ! .hgtags Changeset: c8ac58353fd3 Author: kcr Date: 2013-10-09 08:44 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/c8ac58353fd3 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/2.2.45/MASTER/jfx/rt ! .hgtags Changeset: 0e5000464f6e Author: hudson Date: 2013-10-10 11:09 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/0e5000464f6e Added tag 2.2.51-b02 for changeset c8ac58353fd3 ! .hgtags Changeset: 4ea5f7f6162a Author: hudson Date: 2013-10-15 07:20 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/4ea5f7f6162a Added tag 2.2.51-b03 for changeset 0e5000464f6e ! .hgtags Changeset: 28e7675f9faf Author: jgiles Date: 2013-10-17 09:49 +1300 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/28e7675f9faf RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! javafx-ui-common/src/com/sun/javafx/application/PlatformImpl.java ! javafx-ui-common/src/javafx/scene/Scene.java + javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css ! test-stub-toolkit/src/com/sun/javafx/pgstub/StubToolkit.java Changeset: 3a9e5a349fdf Author: jgiles Date: 2013-10-17 10:17 +1300 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/3a9e5a349fdf Backed out changeset 28e7675f9faf to fix line endings issue. ! javafx-ui-common/src/com/sun/javafx/application/PlatformImpl.java ! javafx-ui-common/src/javafx/scene/Scene.java - javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css ! test-stub-toolkit/src/com/sun/javafx/pgstub/StubToolkit.java Changeset: 4d0d3b95d014 Author: jgiles Date: 2013-10-17 10:20 +1300 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/4d0d3b95d014 RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! javafx-ui-common/src/com/sun/javafx/application/PlatformImpl.java ! javafx-ui-common/src/javafx/scene/Scene.java + javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css ! test-stub-toolkit/src/com/sun/javafx/pgstub/StubToolkit.java Changeset: 55912925e9e0 Author: jgiles Date: 2013-10-21 10:19 +1300 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/55912925e9e0 RT-33646: Fix line endings in caspian-no-transparency.css ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css Changeset: aac7bff2d264 Author: kcr Date: 2013-10-22 08:37 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/aac7bff2d264 RT-32586: Enhance FX services Reviewed-by: lnerad, art, ahgross ! javafx-concurrent/src/javafx/concurrent/Service.java ! javafx-concurrent/test/javafx/concurrent/ServiceLifecycleTest.java Changeset: e7cdfa6e1b1b Author: hudson Date: 2013-10-23 07:24 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/e7cdfa6e1b1b Added tag 2.2.51-b04 for changeset aac7bff2d264 ! .hgtags Changeset: 1db2d6dd4fde Author: hudson Date: 2013-10-29 07:26 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/1db2d6dd4fde Added tag 2.2.51-b05 for changeset e7cdfa6e1b1b ! .hgtags Changeset: f6b774daf229 Author: hudson Date: 2013-11-05 07:59 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/f6b774daf229 Added tag 2.2.51-b06 for changeset 1db2d6dd4fde ! .hgtags Changeset: c55317847fa7 Author: hudson Date: 2013-11-12 08:28 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/c55317847fa7 Added tag 2.2.51-b07 for changeset f6b774daf229 ! .hgtags Changeset: 48647f36fd67 Author: hudson Date: 2013-11-19 07:57 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/48647f36fd67 Added tag 2.2.51-b08 for changeset c55317847fa7 ! .hgtags Changeset: d8c82ecc2cd7 Author: hudson Date: 2013-11-27 08:19 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/d8c82ecc2cd7 Added tag 2.2.51-b09 for changeset 48647f36fd67 ! .hgtags Changeset: bfc7d1d3fec1 Author: hudson Date: 2013-12-03 21:38 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/bfc7d1d3fec1 Added tag 2.2.51-b10 for changeset d8c82ecc2cd7 ! .hgtags Changeset: 832d63006d3d Author: kcr Date: 2013-12-06 07:06 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/832d63006d3d RT-33941: Update copyright year in docs, readme files to 2014 Reviewed-by: mtvo ! javafx-ui-common/src/javafx/scene/doc-files/cssref.html Changeset: 23ad7db99131 Author: hudson Date: 2013-12-10 09:02 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/23ad7db99131 Added tag 2.2.51-b11 for changeset 832d63006d3d ! .hgtags Changeset: 57090adf4c42 Author: hudson Date: 2013-12-13 23:21 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/57090adf4c42 Added tag 2.2.51-b12 for changeset 23ad7db99131 ! .hgtags Changeset: 9d40b8b2d14f Author: hudson Date: 2013-12-19 07:57 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/9d40b8b2d14f Added tag 2.2.51-b13 for changeset 57090adf4c42 ! .hgtags Changeset: fc533ffc2296 Author: kcr Date: 2014-01-15 09:46 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/fc533ffc2296 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/2.2.51/MASTER/jfx/rt ! .hgtags From kevin.rushforth at oracle.com Wed Jan 15 15:03:25 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 15 Jan 2014 15:03:25 -0800 Subject: Changes for January 2014 CPU release synced into FX 8u-dev (and 2u-dev) In-Reply-To: <52D5E8EF.6000101@oracle.com> References: <52D5E8EF.6000101@oracle.com> Message-ID: <52D713BD.8040801@oracle.com> I have synced the FX changes from the just-release January 2014 CPU release into 8u-dev. For FX 2.x, I also synced the CPU changes from 2.2.51 into 2u-dev. -- Kevin Kevin Rushforth wrote: > Note: I have synced up the pending FX changes from the just-release > January 2014 CPU release into FX 8. I also pulled them into the > graphics/rt repo. > > I plan sync up from FX 8 to 8u-dev tomorrow, which will pick up the > CPU changes into the 8 update release. > > -- Kevin > From hang.vo at oracle.com Wed Jan 15 15:04:37 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 23:04:37 +0000 Subject: hg: openjfx/8u-dev/rt: 35 new changesets Message-ID: <20140115231358.9FA9F6249E@hg.openjdk.java.net> Changeset: 9689bfae29b8 Author: mv157916 Date: 2014-01-10 15:05 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9689bfae29b8 RT-35268: Update the JDK 8 build number to b123 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties Changeset: d4fcbba5228c Author: kcr Date: 2014-01-14 08:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/d4fcbba5228c RT-34791: Change javadoc copyright link to point to JDK 8 license Reviewed-by: mtvo ! apps/samples/Ensemble8/build.xml ! build.properties ! modules/fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: bbdd4f8dac92 Author: Pavel Safrata Date: 2013-09-06 13:57 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/bbdd4f8dac92 RT-32306: Enhance FX drag and drop operations + modules/graphics/src/main/java/com/sun/javafx/scene/input/DragboardHelper.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/input/Clipboard.java ! modules/graphics/src/main/java/javafx/scene/input/Dragboard.java Changeset: 1da97ec90d4b Author: Lubomir Nerad Date: 2013-09-06 16:53 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/1da97ec90d4b Partial fix for RT-31872: Better window dressing ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/DummyToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/application/ConditionalFeature.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java ! modules/graphics/src/main/java/javafx/stage/Stage.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 17192e819910 Author: kcr Date: 2013-09-06 16:21 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/17192e819910 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/input/Dragboard.java Changeset: 4b224f556d88 Author: kcr Date: 2013-09-10 20:25 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4b224f556d88 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 6a89f7866850 Author: kcr Date: 2013-09-12 11:39 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6a89f7866850 RT-32349: Enhance animated properties Reviewed-by: Martin Sladecek ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/scenario/animation/AbstractMasterTimer.java + modules/graphics/src/main/java/com/sun/scenario/animation/shared/TimerReceiver.java ! modules/graphics/src/main/java/javafx/animation/Animation.java ! modules/graphics/src/main/java/javafx/animation/AnimationTimer.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/scenario/animation/AbstractMasterTimerTest.java Changeset: c0dd6c47fec3 Author: kcr Date: 2013-09-18 08:09 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c0dd6c47fec3 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: 8f7c7ce8f288 Author: Martin Soch Date: 2013-09-26 21:04 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/8f7c7ce8f288 RT-32585: Enhance FX loading ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: 90033f25c0a8 Author: kcr Date: 2013-09-27 12:28 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/90033f25c0a8 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/animation/Animation.java Changeset: be753a412553 Author: kcr Date: 2013-10-03 19:13 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/be753a412553 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java Changeset: bea7774477b0 Author: kcr Date: 2013-10-10 05:15 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/bea7774477b0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/stage/Stage.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 426d7968042e Author: jgiles Date: 2013-10-17 09:49 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/426d7968042e RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! build.gradle + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 6d4aab361b56 Author: jgiles Date: 2013-10-17 10:22 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6d4aab361b56 Backed out changeset 426d7968042e to fix line endings issue. ! build.gradle - modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css - modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 4f5c5af78125 Author: jgiles Date: 2013-10-17 10:31 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4f5c5af78125 RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! build.gradle + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 2882a36f2ae4 Author: kcr Date: 2013-10-19 07:30 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/2882a36f2ae4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: e05ea7f7c845 Author: kcr Date: 2013-10-22 15:14 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e05ea7f7c845 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/scenario/animation/AbstractMasterTimer.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: 7155c3d71afb Author: kcr Date: 2013-10-22 08:37 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/7155c3d71afb RT-32586: Enhance FX services Reviewed-by: lnerad, art, ahgross ! modules/graphics/src/main/java/javafx/concurrent/Service.java ! modules/graphics/src/test/java/javafx/concurrent/ServiceLifecycleTest.java Changeset: 74fc4fd0d428 Author: jgiles Date: 2013-10-24 09:22 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/74fc4fd0d428 RT-3372: Unit test failure in ColorPickerTest.ensureCanSelectColorFromPalette Reviewed-by: kcr ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 281d693901fb Author: jgiles Date: 2013-10-24 09:47 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/281d693901fb Backed out changeset: 74fc4fd0d428 (due to bad line endings) ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: f5f6e1bb2950 Author: jgiles Date: 2013-10-24 09:48 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/f5f6e1bb2950 RT-3372: Unit test failure in ColorPickerTest.ensureCanSelectColorFromPalette Reviewed-by: kcr ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: d7b99966cc71 Author: kcr Date: 2013-10-24 08:28 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/d7b99966cc71 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 9151b502587a Author: kcr Date: 2013-11-02 07:09 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9151b502587a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: bc988e1dc10e Author: kcr Date: 2013-11-07 16:51 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/bc988e1dc10e Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: fd92fa0740f0 Author: kcr Date: 2013-11-14 18:49 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/fd92fa0740f0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java Changeset: 1774c627553d Author: kcr Date: 2013-11-21 15:41 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/1774c627553d Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: b80d119b3673 Author: kcr Date: 2013-11-27 15:48 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b80d119b3673 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 5f0f8fb9906b Author: kcr Date: 2013-12-05 08:57 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/5f0f8fb9906b Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: 26515db79472 Author: kcr Date: 2013-12-14 06:36 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/26515db79472 Automated merge with file:///cygdrive/c/Users/kcr/javafx/8-MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: ec1827dee52d Author: kcr Date: 2013-12-17 12:13 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ec1827dee52d Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: e3be095eed59 Author: kcr Date: 2014-01-02 09:19 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e3be095eed59 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: b42c0c512c4a Author: kcr Date: 2014-01-07 13:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b42c0c512c4a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 80c29c9a9551 Author: kcr Date: 2014-01-14 14:57 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/80c29c9a9551 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 8d28332831a4 Author: kcr Date: 2014-01-14 17:06 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/8d28332831a4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: c2f14b01f0d0 Author: kcr Date: 2014-01-15 14:04 -0800 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c2f14b01f0d0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt - apps/experiments/3DViewer/.classpath - apps/experiments/3DViewer/.project - apps/experiments/Modena/.classpath - apps/experiments/Modena/.project - apps/samples/Ensemble8/.classpath - apps/samples/Ensemble8/.project ! build.gradle - modules/fxpackager/src/main/man/ja_JP.UTF-8/html/javafxpackager.html ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java From hang.vo at oracle.com Wed Jan 15 15:18:26 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 15 Jan 2014 23:18:26 +0000 Subject: hg: openjfx/8u-dev/rt: 2 new changesets Message-ID: <20140115231856.654396249F@hg.openjdk.java.net> Changeset: ec8f70da59a4 Author: jgiles Date: 2014-01-16 11:12 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ec8f70da59a4 RT-35338: [TableView] NullPointerException when clicking empty area in TableView ! modules/controls/src/main/java/javafx/scene/control/TableView.java ! modules/controls/src/main/java/javafx/scene/control/TreeTableView.java ! modules/controls/src/test/java/javafx/scene/control/TableViewMouseInputTest.java ! modules/controls/src/test/java/javafx/scene/control/TreeTableViewMouseInputTest.java Changeset: 73ca8a2e497d Author: jgiles Date: 2014-01-16 11:52 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/73ca8a2e497d RT-35213: TreeTableView.getTreeItem(int index) returns wrong items after expand / collapse operations. ! modules/controls/src/main/java/javafx/scene/control/TreeTableView.java ! modules/controls/src/main/java/javafx/scene/control/TreeView.java ! modules/controls/src/test/java/javafx/scene/control/TreeTableViewTest.java ! modules/controls/src/test/java/javafx/scene/control/TreeViewTest.java From hang.vo at oracle.com Wed Jan 15 19:18:32 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 16 Jan 2014 03:18:32 +0000 Subject: hg: openjfx/8u-dev/rt: 3 new changesets Message-ID: <20140116031932.D031B624AE@hg.openjdk.java.net> Changeset: 7301f6f33da9 Author: jgiles Date: 2014-01-16 13:54 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/7301f6f33da9 RT-31309: [Menu] is not scrolled, when navigated via keyboard ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ContextMenuContent.java Changeset: 1099950eadcb Author: jgiles Date: 2014-01-16 14:44 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/1099950eadcb RT-35201: [Slider] Slider minHeight does not take tick marks into account ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/SliderSkin.java Changeset: 6a3f6f3187b6 Author: jgiles Date: 2014-01-16 16:01 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6a3f6f3187b6 RT-35194: [TabPane] TabPane's layout does not respond correctly when resized ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TabPaneSkin.java From alexander.kouznetsov at oracle.com Thu Jan 16 00:48:33 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Thu, 16 Jan 2014 12:48:33 +0400 Subject: Converting from svg format to javafx css svg In-Reply-To: References: Message-ID: <52D79CE1.8060907@oracle.com> For JavaFX 8, please refer to http://download.java.net/jdk8/jfxdocs/javafx/scene/doc-files/cssref.html You can use -fx-min-width, -fx-pref-width, -fx-max-width and corresponding height properties to set region size. Best regards, Alexander Kouznetsov (408) 276-0387 On 15 ??? 2013 11:17, Pedro Duque Vieira wrote: > I think it is an interesting use of CSS - sizing stuff.. I think its the > only way that currently exists, i.e. using padding. > > P.s.: what happened to the width and height property that was discussed in > this mailing list? > On Dec 15, 2013 7:11 AM, "Gerrit Grunwald" wrote: > >> Hi Pedro, >> >> If you set -fx-scale-shape: true; you just have to know the aspect ratio >> of your svg path and can control the size of the Region in Java code >> (either in the skin or in the region class). >> To be honest I never tried to size a shape by using only padding in css. >> >> Cheers, >> >> Gerrit >> >> Am 15.12.2013 um 07:37 schrieb Pedro Duque Vieira < >> pedro.duquevieira at gmail.com>: >> >> Hi Gerrit, >> >> Yeah, thanks putting -fx-scale-shape: false does make the svg shape the >> original size as seen in Illustrator. >> >> I'm still left with a doubt though, you say you resize the region to make >> the svg the way you want to, how do you do that? programmatically, through >> java? How about doing it through CSS? That's why I was using padding, but I >> don't want to disrupt the aspect ratio.. >> >> Thanks, best regards, >> >> >> On Sat, Dec 14, 2013 at 11:47 PM, Gerrit Grunwald wrote: >> >>> Hi Pedro, >>> >>> If I got you right you have scaling problems with the -fx-shape in css >>> right? So if you use >>> -fx-scale-shape: false; >>> the svg path should be exactly the same size as the original path from >>> Illustrator and if you would like to scale the shape to the size of the >>> Region you just set it to true and set the size if the Region to the size >>> you need the svg path. >>> If your svg path has a certain aspect-ratio you should take care about it >>> by resizing the Region correctly. That is the way I use it everywhere and >>> it works really nicely. I usually don't use the padding for the svg path in >>> css to resize it. >>> >>> Just my 0.02?... >>> >>> Cheers, >>> >>> Gerrit >>> >>>> Am 14.12.2013 um 22:00 schrieb Pedro Duque Vieira < >>> pedro.duquevieira at gmail.com>: >>>> Hi, >>>> >>>> While working in JMetro (Metro like controls for javafx) I have the >>>> following process for creating svg graphics using javafx css: >>>> 1- I create the vector graphics in Adobe Illustrator >>>> 2- save the file in svg format >>>> 3- get the svg path notation from the svg file and use it with javafx >>>> -fx-shape css property >>>> >>>> The thing that I haven't still mastered is how does the size of the >>> vector >>>> graphics in Illustrastor translate to the size I have to input in the >>>> -fx-padding css property. I know I have to enter half the value of width >>>> for the left and right and half the value of the height for the top and >>>> bottom but still that doesn't seem to work. It's still more of a >>> process of >>>> trial and error for me. >>>> >>>> Thanks in advance. >>>> >>>> >>>> -- >>>> Pedro Duque Vieira >> >> >> -- >> Pedro Duque Vieira >> >> From alexander.kouznetsov at oracle.com Thu Jan 16 01:13:47 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Thu, 16 Jan 2014 13:13:47 +0400 Subject: Progress Bar into Combo Box is not working properly In-Reply-To: References: Message-ID: <52D7A2CB.2010304@oracle.com> You shouldn't mix ComboBox data items and JavaFX nodes. So change ComboBox to ComboBox. Next, you can set ProgressBars as ListCell graphics as you already do. And make sure that each cell has its own ProgressBar node. Nodes cannot be present several times in the scenegraph. That's why there is the following situation: selected node cannot appear in the list of nodes at the same time: Your example also has some code to hide combobox which is confusing as it is not related to the question. Best regards, Alexander Kouznetsov (408) 276-0387 On 16 ??? 2013 18:18, Peter Penzov wrote: > Hi All, > I want to implement Progress Bar into Combo Box. I pasted the code here: > > http://stackoverflow.com/questions/20518329/combobox-with-progress-bars-is-not-working-properly > > > When I run the code the progress bar is empty. There is no selected > Progress Bar which is displayed by default. And also after a time the > progress bar is not responsible. I tested the code with Java 8b119. Maybe > this is a bug. > > Can you please assist me to fix this issue? > > Regards, > Peter From alexander.kouznetsov at oracle.com Thu Jan 16 01:24:24 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Thu, 16 Jan 2014 13:24:24 +0400 Subject: [announce] InhiBeans: mitigate redundant recalculations In-Reply-To: <52AE0353.9020204@xs4all.nl> References: <52AE0353.9020204@xs4all.nl> Message-ID: <52D7A548.4020501@oracle.com> There are two other options you may want to consider: 1) Use XXXBinding as following: value.bind(new DoubleBinding() { { bind(widthProperty(), heightProperty()); } @Override protected Double computeValue() { return widthProperty().get() * heightProperty().get(); } } this will perform the same invalidation mechanics for you as long as your value is not requested immediately after change. JavaFX is mostly lazy so if you, for example, bind it to some node's property it will be calculated only once. 2) Use AnimationTimer. Its body is always invoked once per pulse so you can do as much calculations you need once per pulse. Best regards, Alexander Kouznetsov (408) 276-0387 On 15 ??? 2013 23:30, John Hendrikx wrote: > Since you are only allowed to modify properties on the JavaFX thread > (in most cases), I've been using Platform.runLater() to make sure I > observe only complete changes. > > Basically I register an InvalidationListener on the properties that > are relevant, and when one gets triggered I set a boolean and trigger > a Runnable that > will be run on the JavaFX thread later (and after the change > completes). The Runnable checks the relevant values and acts on them, > then resets the boolean. > > I use this mechanism for example when I'm observing Objects with many > properties that need to be stored in a database. To make sure I only > store consistent objects, I only observe the values of the properties > when my own little piece of observer code runs on the JavaFX thread. > Since nothing can modify the properties except on the JavaFX thread, > this is almost like a form of transactions, ensuring that every change > has completed before observing the results. > > --John > > On 15/12/2013 18:39, Scott Palmer wrote: >> Interesting idea. >> >> There is a case I have been curious about and wonder what the best >> practices are for it. Suppose you have a case when you are changing >> multiple different properties that will be used in a single calculation. >> You want to deal with a single change to all of them in one go. E.g. >> imagine you have an "area" property that is bound to both "width" and >> "height". You want to write code like: >> >> obj.setWidth(w); >> obj.setHeight(h); >> >> and have only ONE recalculation of the area property happen. >> Currently the >> way bindings work the area will be calculated twice. The intermediate >> calculation is really not a value that you ever want to observe. >> >> Are there helpers for this sort of situation? Are there guidelines >> in the >> JavaFX docs somewhere? >> >> Regards, >> >> Scott >> >> >> On Sat, Dec 14, 2013 at 11:54 PM, Tomas >> Mikulawrote: >> >>> Hello, >>> >>> I just published a small extension of javafx bindings and properties >>> that can help you reduce redundant recalculations. >>> >>> They provide two additional methods: >>> >>> public void block(); >>> public void release(); >>> >>> Call p.block() when you suspect your actions will lead to multiple >>> invalidations of p, and call p.release() when you are done and want to >>> deliver a single invalidation notification to p's observers. >>> >>> https://github.com/TomasMikula/InhiBeans >>> >>> Regards, >>> Tomas >>> > From alexander.kouznetsov at oracle.com Thu Jan 16 01:35:44 2014 From: alexander.kouznetsov at oracle.com (Alexander Kouznetsov) Date: Thu, 16 Jan 2014 13:35:44 +0400 Subject: Font.font() says it is point size but it looks like it are pixels In-Reply-To: <52B81F2B.8020708@bestsolution.at> References: <52B81F2B.8020708@bestsolution.at> Message-ID: <52D7A7F0.6090904@oracle.com> Tom, Could you please file a bug on this? Best regards, Alexander Kouznetsov (408) 276-0387 On 23 ??? 2013 15:31, Tom Schindl wrote: > Hi, > > The JavaDoc of Font.font says: > > -----8<----- > size - The point size of the font. This can be a fractional value, but > must not be negative. If the size is < 0 the default size will be used. > -----8<----- > > I highly doubt this is correct (see attached picture from Linux where > you see native, qt and javafx) and a sample FX-Code using setFont and > using CSS (see at the end of this mail) > > The result is correct if CSS is used and looking up the code in the CSS > shows that values are calculated back to pixels when passed to the > Font-factory method (FontConverter.convert!). > > I guess one can not fix this Font.font API to really work with points > (which would be the natural expectation at least to me) but the JavaDoc > has to be fixed! > > Another thing I came across is that the DPI calculation is fixed to 96 > DPI - which i don't fully understand why it is fixed because the DPI can > vary between devices and monitors. Is this because of multi-monitors and > you are applying a transformation based on the screen the text is > rendered on? > > Tom > > ----------- >> HBox h = new HBox(); >> >> { >> Text t = new Text("Hello World"); >> t.setFont(Font.font(50)); >> h.getChildren().add(t); >> } >> >> { >> Text t = new Text("Hello World"); >> t.setStyle("-fx-font-size: 50pt;"); >> h.getChildren().add(t); >> } >> >> primaryStage.setScene(new Scene(h,300,300)); >> primaryStage.show(); From hang.vo at oracle.com Thu Jan 16 01:18:40 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 16 Jan 2014 09:18:40 +0000 Subject: hg: openjfx/8u-dev/rt: 2 new changesets Message-ID: <20140116091917.5E68E624B4@hg.openjdk.java.net> Changeset: fe834e7c49de Author: Daniel Blaukopf Date: 2014-01-16 00:06 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/fe834e7c49de RT-35356 [Monocle] Implement keyboard input + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/KeyInput.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/KeyState.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseState.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/AbsoluteInputCapabilities.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDeviceRegistry.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxKeyProcessor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxSystem.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/mx6/MX6Cursor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/util/IntSet.java ! modules/graphics/src/main/native-glass/monocle/linux/LinuxSystem.c Changeset: 0de81508edf6 Author: Daniel Blaukopf Date: 2014-01-16 11:15 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/0de81508edf6 RT-35380 [Monocle] Events are delivered to the window stack in reverse order ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindowManager.java From tomas.mikula at gmail.com Thu Jan 16 03:21:05 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Thu, 16 Jan 2014 12:21:05 +0100 Subject: [announce] InhiBeans: mitigate redundant recalculations In-Reply-To: <52D7A548.4020501@oracle.com> References: <52AE0353.9020204@xs4all.nl> <52D7A548.4020501@oracle.com> Message-ID: Hi Alexander, On Thu, Jan 16, 2014 at 10:24 AM, Alexander Kouznetsov < alexander.kouznetsov at oracle.com> wrote: > There are two other options you may want to consider: > > 1) Use XXXBinding as following: > > value.bind(new DoubleBinding() { > { bind(widthProperty(), heightProperty()); } > > @Override > protected Double computeValue() { > return widthProperty().get() * heightProperty().get(); > } > } > > this will perform the same invalidation mechanics for you as long as your > value is not requested immediately after change. JavaFX is mostly lazy so > if you, for example, bind it to some node's property it will be calculated > only once. > in the past I tried binding Label.textProperty() to a value like this and it was calculated twice. > > 2) Use AnimationTimer. Its body is always invoked once per pulse so you > can do as much calculations you need once per pulse. > As I mentioned before, this only works when the result is not observable by the client code. Otherwise it might be reasonable to assert the following: obj.setWidth(w); obj.setHeight(h); assert obj.getArea() == w*h; which is not true if area is only calculated on the next pulse. Moreover, this approach doesn't scale. If you use the trick with next pulse or runLater in several places in your code and then chain (bind) them, it will take several pulses to propagate the change. Ironically, it then doesn't even avoid multiple recalculations (e.g. analyze the case where these parts depend on each other the way fibonacci numbers do: f[n+2] := f[n] + f[n+1]). Regards, Tomas > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > > On 15 ??? 2013 23:30, John Hendrikx wrote: > >> Since you are only allowed to modify properties on the JavaFX thread (in >> most cases), I've been using Platform.runLater() to make sure I observe >> only complete changes. >> >> Basically I register an InvalidationListener on the properties that are >> relevant, and when one gets triggered I set a boolean and trigger a >> Runnable that >> will be run on the JavaFX thread later (and after the change completes). >> The Runnable checks the relevant values and acts on them, then resets the >> boolean. >> >> I use this mechanism for example when I'm observing Objects with many >> properties that need to be stored in a database. To make sure I only store >> consistent objects, I only observe the values of the properties when my own >> little piece of observer code runs on the JavaFX thread. Since nothing can >> modify the properties except on the JavaFX thread, this is almost like a >> form of transactions, ensuring that every change has completed before >> observing the results. >> >> --John >> >> On 15/12/2013 18:39, Scott Palmer wrote: >> >>> Interesting idea. >>> >>> There is a case I have been curious about and wonder what the best >>> practices are for it. Suppose you have a case when you are changing >>> multiple different properties that will be used in a single calculation. >>> You want to deal with a single change to all of them in one go. E.g. >>> imagine you have an "area" property that is bound to both "width" and >>> "height". You want to write code like: >>> >>> obj.setWidth(w); >>> obj.setHeight(h); >>> >>> and have only ONE recalculation of the area property happen. Currently >>> the >>> way bindings work the area will be calculated twice. The intermediate >>> calculation is really not a value that you ever want to observe. >>> >>> Are there helpers for this sort of situation? Are there guidelines in >>> the >>> JavaFX docs somewhere? >>> >>> Regards, >>> >>> Scott >>> >>> >>> On Sat, Dec 14, 2013 at 11:54 PM, Tomas Mikula >>> wrote: >>> >>> Hello, >>>> >>>> I just published a small extension of javafx bindings and properties >>>> that can help you reduce redundant recalculations. >>>> >>>> They provide two additional methods: >>>> >>>> public void block(); >>>> public void release(); >>>> >>>> Call p.block() when you suspect your actions will lead to multiple >>>> invalidations of p, and call p.release() when you are done and want to >>>> deliver a single invalidation notification to p's observers. >>>> >>>> https://github.com/TomasMikula/InhiBeans >>>> >>>> Regards, >>>> Tomas >>>> >>>> >> > From hang.vo at oracle.com Thu Jan 16 05:18:28 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 16 Jan 2014 13:18:28 +0000 Subject: hg: openjfx/8u-dev/rt: 7 new changesets Message-ID: <20140116132117.105A9624BA@hg.openjdk.java.net> Changeset: b7df69987d07 Author: David Grieve Date: 2014-01-16 08:01 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b7df69987d07 RT-31237: allow "none" as a css property value having the same semantics as "null". ! modules/graphics/src/main/java/com/sun/javafx/css/converters/ColorConverter.java ! modules/graphics/src/main/java/com/sun/javafx/css/parser/CSSParser.java ! modules/graphics/src/main/java/javafx/scene/CssStyleHelper.java Changeset: fbc40f535dd4 Author: David Grieve Date: 2014-01-16 08:03 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/fbc40f535dd4 RT-30940: rework HelloLabelBorders. ! apps/toys/Hello/src/main/java/hello/HelloLabelBorders.java - apps/toys/Hello/src/main/java/hello/LabelBorders.css ! apps/toys/Hello/src/main/java/hello/hello.css Changeset: 9068ba8f3950 Author: David Grieve Date: 2014-01-16 08:03 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9068ba8f3950 [DOCS ONLY] RT-27995: clarify default value of visibility propert in cssref. ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: 8c1ff5eb1679 Author: David Grieve Date: 2014-01-16 08:03 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/8c1ff5eb1679 [DOCS ONLY] RT-9178: add note to cssref regarding font inheritance ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: c7499eb02a43 Author: David Grieve Date: 2014-01-16 08:03 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c7499eb02a43 RT-7413: clip has no parent. if a node has a clip, call impl_processCSS on the clip ! modules/graphics/src/main/java/javafx/scene/Node.java Changeset: e9afba41e211 Author: David Grieve Date: 2014-01-16 08:08 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e9afba41e211 Backed out changeset c7499eb02a43 ! modules/graphics/src/main/java/javafx/scene/Node.java Changeset: bd74f5138913 Author: Martin Sladecek Date: 2014-01-16 14:09 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/bd74f5138913 [JAVADOC] RT-35351 Fix javafx.scene.Node.setEventHandler javadoc ! modules/graphics/src/main/java/javafx/scene/Node.java From herve.girod at gmail.com Thu Jan 16 05:31:05 2014 From: herve.girod at gmail.com (=?utf-8?Q?Herv=C3=A9_Girod?=) Date: Thu, 16 Jan 2014 14:31:05 +0100 Subject: Strange exception in ComboBox In-Reply-To: <52D56F3C.60608@oracle.com> References: <52D47945.403@oracle.com> <52D56DA0.4090806@oracle.com> <52D56F3C.60608@oracle.com> Message-ID: <90E049D9-D44B-40B0-B184-504982D5876A@gmail.com> Hello, We have a strange exception in ComboBox at least since b121. We create a child stage with one combobox, and we systematically have an exception when clicking on an item in the list because of a child added to a parent (ComboBoxListViewSkin) without removing it from the previous one (ComboBox). - The list is composed of basic Strings - I checked and the Pane creation is performed in the JavaFX Thread - We did not set any specific skin to the scene we use - When I tried to copy the piece of code to test it separately from the whole app, it worked - There is no exception in Java 7 for the same exact code Is it something that could be related to a bug in Java 8, or do you think it must be a bug in our code ? Herve From hang.vo at oracle.com Thu Jan 16 05:33:35 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 16 Jan 2014 13:33:35 +0000 Subject: hg: openjfx/8u-dev/rt: [JAVADOC] RT-35189 Scale documentation does not specify the default pivot Message-ID: <20140116133354.5F5EC624BB@hg.openjdk.java.net> Changeset: 0236b4c3f472 Author: Martin Sladecek Date: 2014-01-16 14:18 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/0236b4c3f472 [JAVADOC] RT-35189 Scale documentation does not specify the default pivot ! modules/graphics/src/main/java/javafx/scene/transform/Rotate.java ! modules/graphics/src/main/java/javafx/scene/transform/Scale.java ! modules/graphics/src/main/java/javafx/scene/transform/Shear.java From pedro.duquevieira at gmail.com Thu Jan 16 07:53:24 2014 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Thu, 16 Jan 2014 15:53:24 +0000 Subject: Converting from svg format to javafx css svg In-Reply-To: <52D79CE1.8060907@oracle.com> References: <52D79CE1.8060907@oracle.com> Message-ID: Great work Alexander! Thanks :-) P.S.: We just have to drop the "-fx-" prefix now :) ;) On Thu, Jan 16, 2014 at 8:48 AM, Alexander Kouznetsov < alexander.kouznetsov at oracle.com> wrote: > For JavaFX 8, please refer to http://download.java.net/jdk8/ > jfxdocs/javafx/scene/doc-files/cssref.html > > You can use -fx-min-width, -fx-pref-width, -fx-max-width and corresponding > height properties to set region size. > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > > On 15 ??? 2013 11:17, Pedro Duque Vieira wrote: > >> I think it is an interesting use of CSS - sizing stuff.. I think its the >> only way that currently exists, i.e. using padding. >> >> P.s.: what happened to the width and height property that was discussed in >> this mailing list? >> On Dec 15, 2013 7:11 AM, "Gerrit Grunwald" >> wrote: >> >> Hi Pedro, >>> >>> If you set -fx-scale-shape: true; you just have to know the aspect ratio >>> of your svg path and can control the size of the Region in Java code >>> (either in the skin or in the region class). >>> To be honest I never tried to size a shape by using only padding in css. >>> >>> Cheers, >>> >>> Gerrit >>> >>> Am 15.12.2013 um 07:37 schrieb Pedro Duque Vieira < >>> pedro.duquevieira at gmail.com>: >>> >>> Hi Gerrit, >>> >>> Yeah, thanks putting -fx-scale-shape: false does make the svg shape the >>> original size as seen in Illustrator. >>> >>> I'm still left with a doubt though, you say you resize the region to make >>> the svg the way you want to, how do you do that? programmatically, >>> through >>> java? How about doing it through CSS? That's why I was using padding, >>> but I >>> don't want to disrupt the aspect ratio.. >>> >>> Thanks, best regards, >>> >>> >>> On Sat, Dec 14, 2013 at 11:47 PM, Gerrit Grunwald >> >wrote: >>> >>> Hi Pedro, >>>> >>>> If I got you right you have scaling problems with the -fx-shape in css >>>> right? So if you use >>>> -fx-scale-shape: false; >>>> the svg path should be exactly the same size as the original path from >>>> Illustrator and if you would like to scale the shape to the size of the >>>> Region you just set it to true and set the size if the Region to the >>>> size >>>> you need the svg path. >>>> If your svg path has a certain aspect-ratio you should take care about >>>> it >>>> by resizing the Region correctly. That is the way I use it everywhere >>>> and >>>> it works really nicely. I usually don't use the padding for the svg >>>> path in >>>> css to resize it. >>>> >>>> Just my 0.02?... >>>> >>>> Cheers, >>>> >>>> Gerrit >>>> >>>> Am 14.12.2013 um 22:00 schrieb Pedro Duque Vieira < >>>>> >>>> pedro.duquevieira at gmail.com>: >>>> >>>>> Hi, >>>>> >>>>> While working in JMetro (Metro like controls for javafx) I have the >>>>> following process for creating svg graphics using javafx css: >>>>> 1- I create the vector graphics in Adobe Illustrator >>>>> 2- save the file in svg format >>>>> 3- get the svg path notation from the svg file and use it with javafx >>>>> -fx-shape css property >>>>> >>>>> The thing that I haven't still mastered is how does the size of the >>>>> >>>> vector >>>> >>>>> graphics in Illustrastor translate to the size I have to input in the >>>>> -fx-padding css property. I know I have to enter half the value of >>>>> width >>>>> for the left and right and half the value of the height for the top and >>>>> bottom but still that doesn't seem to work. It's still more of a >>>>> >>>> process of >>>> >>>>> trial and error for me. >>>>> >>>>> Thanks in advance. >>>>> >>>>> >>>>> -- >>>>> Pedro Duque Vieira >>>>> >>>> >>> >>> -- >>> Pedro Duque Vieira >>> >>> >>> > -- Pedro Duque Vieira From mo.chicharro at oracle.com Thu Jan 16 08:02:09 2014 From: mo.chicharro at oracle.com (Moises Chicharro) Date: Thu, 16 Jan 2014 17:02:09 +0100 Subject: Converting from svg format to javafx css svg In-Reply-To: References: <52D79CE1.8060907@oracle.com> Message-ID: <7E7BA3B7-D81C-4C34-BF11-292D4EAB17A4@oracle.com> Nice! :-) On 16 Jan 2014, at 16:53, Pedro Duque Vieira wrote: > Great work Alexander! > > Thanks :-) > > P.S.: We just have to drop the "-fx-" prefix now :) ;) > > > On Thu, Jan 16, 2014 at 8:48 AM, Alexander Kouznetsov < > alexander.kouznetsov at oracle.com> wrote: > >> For JavaFX 8, please refer to http://download.java.net/jdk8/ >> jfxdocs/javafx/scene/doc-files/cssref.html >> >> You can use -fx-min-width, -fx-pref-width, -fx-max-width and corresponding >> height properties to set region size. >> >> Best regards, >> Alexander Kouznetsov >> (408) 276-0387 >> >> >> On 15 ??? 2013 11:17, Pedro Duque Vieira wrote: >> >>> I think it is an interesting use of CSS - sizing stuff.. I think its the >>> only way that currently exists, i.e. using padding. >>> >>> P.s.: what happened to the width and height property that was discussed in >>> this mailing list? >>> On Dec 15, 2013 7:11 AM, "Gerrit Grunwald" >>> wrote: >>> >>> Hi Pedro, >>>> >>>> If you set -fx-scale-shape: true; you just have to know the aspect ratio >>>> of your svg path and can control the size of the Region in Java code >>>> (either in the skin or in the region class). >>>> To be honest I never tried to size a shape by using only padding in css. >>>> >>>> Cheers, >>>> >>>> Gerrit >>>> >>>> Am 15.12.2013 um 07:37 schrieb Pedro Duque Vieira < >>>> pedro.duquevieira at gmail.com>: >>>> >>>> Hi Gerrit, >>>> >>>> Yeah, thanks putting -fx-scale-shape: false does make the svg shape the >>>> original size as seen in Illustrator. >>>> >>>> I'm still left with a doubt though, you say you resize the region to make >>>> the svg the way you want to, how do you do that? programmatically, >>>> through >>>> java? How about doing it through CSS? That's why I was using padding, >>>> but I >>>> don't want to disrupt the aspect ratio.. >>>> >>>> Thanks, best regards, >>>> >>>> >>>> On Sat, Dec 14, 2013 at 11:47 PM, Gerrit Grunwald >>>> wrote: >>>> >>>> Hi Pedro, >>>>> >>>>> If I got you right you have scaling problems with the -fx-shape in css >>>>> right? So if you use >>>>> -fx-scale-shape: false; >>>>> the svg path should be exactly the same size as the original path from >>>>> Illustrator and if you would like to scale the shape to the size of the >>>>> Region you just set it to true and set the size if the Region to the >>>>> size >>>>> you need the svg path. >>>>> If your svg path has a certain aspect-ratio you should take care about >>>>> it >>>>> by resizing the Region correctly. That is the way I use it everywhere >>>>> and >>>>> it works really nicely. I usually don't use the padding for the svg >>>>> path in >>>>> css to resize it. >>>>> >>>>> Just my 0.02?... >>>>> >>>>> Cheers, >>>>> >>>>> Gerrit >>>>> >>>>> Am 14.12.2013 um 22:00 schrieb Pedro Duque Vieira < >>>>>> >>>>> pedro.duquevieira at gmail.com>: >>>>> >>>>>> Hi, >>>>>> >>>>>> While working in JMetro (Metro like controls for javafx) I have the >>>>>> following process for creating svg graphics using javafx css: >>>>>> 1- I create the vector graphics in Adobe Illustrator >>>>>> 2- save the file in svg format >>>>>> 3- get the svg path notation from the svg file and use it with javafx >>>>>> -fx-shape css property >>>>>> >>>>>> The thing that I haven't still mastered is how does the size of the >>>>>> >>>>> vector >>>>> >>>>>> graphics in Illustrastor translate to the size I have to input in the >>>>>> -fx-padding css property. I know I have to enter half the value of >>>>>> width >>>>>> for the left and right and half the value of the height for the top and >>>>>> bottom but still that doesn't seem to work. It's still more of a >>>>>> >>>>> process of >>>>> >>>>>> trial and error for me. >>>>>> >>>>>> Thanks in advance. >>>>>> >>>>>> >>>>>> -- >>>>>> Pedro Duque Vieira >>>>>> >>>>> >>>> >>>> -- >>>> Pedro Duque Vieira >>>> >>>> >>>> >> > > > -- > Pedro Duque Vieira From hang.vo at oracle.com Thu Jan 16 10:18:23 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 16 Jan 2014 18:18:23 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35392 [Monocle] Correct window position in software rendering Message-ID: <20140116181857.E1D23624CB@hg.openjdk.java.net> Changeset: 5c06fa3e9703 Author: Daniel Blaukopf Date: 2014-01-16 20:14 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/5c06fa3e9703 RT-35392 [Monocle] Correct window position in software rendering ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleView.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindow.java From jonathan.giles at oracle.com Thu Jan 16 12:01:30 2014 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Fri, 17 Jan 2014 09:01:30 +1300 Subject: Strange exception in ComboBox In-Reply-To: <90E049D9-D44B-40B0-B184-504982D5876A@gmail.com> References: <52D47945.403@oracle.com> <52D56DA0.4090806@oracle.com> <52D56F3C.60608@oracle.com> <90E049D9-D44B-40B0-B184-504982D5876A@gmail.com> Message-ID: <52D83A9A.3020608@oracle.com> It's very hard to say without a test application and the exception stacktrace that you're seeing. If you could get those two things together and file them in a bug in jira, I can take a look. -- Jonathan On 17/01/2014 2:31 a.m., Herv? Girod wrote: > Hello, > > We have a strange exception in ComboBox at least since b121. > > We create a child stage with one combobox, and we systematically have an exception when clicking on an item in the list because of a child added to a parent (ComboBoxListViewSkin) without removing it from the previous one (ComboBox). > > - The list is composed of basic Strings > - I checked and the Pane creation is performed in the JavaFX Thread > - We did not set any specific skin to the scene we use > - When I tried to copy the piece of code to test it separately from the whole app, it worked > - There is no exception in Java 7 for the same exact code > > Is it something that could be related to a bug in Java 8, or do you think it must be a bug in our code ? > > Herve From daniel.blaukopf at oracle.com Thu Jan 16 12:31:17 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Thu, 16 Jan 2014 22:31:17 +0200 Subject: 8u20 review request: RT-35355 - Software rendering ports of Monocle need notification of pixel upload end Message-ID: <72D120EB-1FF7-41E9-BFF7-DE828BCE324F@oracle.com> Hi Kevin and Anthony, Would you review the following change to have Quantum notify Glass when it has finished rendering all scenes? This is to enable double-buffering on embedded and headless systems. https://javafx-jira.kenai.com/browse/RT-35355 http://cr.openjdk.java.net/~dblaukop/webrev-20140116-2022-RT-35355/webrev/ Thanks, Daniel From felipe.heidrich at oracle.com Thu Jan 16 12:32:57 2014 From: felipe.heidrich at oracle.com (Felipe Heidrich) Date: Thu, 16 Jan 2014 12:32:57 -0800 Subject: Font.font() says it is point size but it looks like it are pixels In-Reply-To: <52D7A7F0.6090904@oracle.com> References: <52B81F2B.8020708@bestsolution.at> <52D7A7F0.6090904@oracle.com> Message-ID: <066DC846-3D82-4A14-BDB9-E81F1704AA4A@oracle.com> There is already some documentation about this in the javadoc for Font.java: *

* The size of a {@code Font} is described as being specified in points * which are a real world measurement of approximately 1/72 inch. *

and * Note that the real world distances specified by the default coordinate * system only approximate point sizes as a rule of thumb and are typically * defaulted to screen pixels for most displays. In other words, the DPI used to map point to pixel on the screen is 72. So, 12 points equals 12 pixels. It is different on the printer, where 72pt font should be exactly 1 inch on the paper. The confusion happens because in CSS the DPI is 96. So, the same 12pt set in CSS maps to a 16 pixel font on the screen. Note that is behavior can not be changed. At best, we can document a bit better on Font and/or CSS. I hope this helps Felipe On Jan 16, 2014, at 1:35 AM, Alexander Kouznetsov wrote: > Tom, > > Could you please file a bug on this? > > Best regards, > Alexander Kouznetsov > (408) 276-0387 > > On 23 ??? 2013 15:31, Tom Schindl wrote: >> Hi, >> >> The JavaDoc of Font.font says: >> >> -----8<----- >> size - The point size of the font. This can be a fractional value, but >> must not be negative. If the size is < 0 the default size will be used. >> -----8<----- >> >> I highly doubt this is correct (see attached picture from Linux where >> you see native, qt and javafx) and a sample FX-Code using setFont and >> using CSS (see at the end of this mail) >> >> The result is correct if CSS is used and looking up the code in the CSS >> shows that values are calculated back to pixels when passed to the >> Font-factory method (FontConverter.convert!). >> >> I guess one can not fix this Font.font API to really work with points >> (which would be the natural expectation at least to me) but the JavaDoc >> has to be fixed! >> >> Another thing I came across is that the DPI calculation is fixed to 96 >> DPI - which i don't fully understand why it is fixed because the DPI can >> vary between devices and monitors. Is this because of multi-monitors and >> you are applying a transformation based on the screen the text is >> rendered on? >> >> Tom >> >> ----------- >>> HBox h = new HBox(); >>> >>> { >>> Text t = new Text("Hello World"); >>> t.setFont(Font.font(50)); >>> h.getChildren().add(t); >>> } >>> >>> { >>> Text t = new Text("Hello World"); >>> t.setStyle("-fx-font-size: 50pt;"); >>> h.getChildren().add(t); >>> } >>> >>> primaryStage.setScene(new Scene(h,300,300)); >>> primaryStage.show(); > From hang.vo at oracle.com Thu Jan 16 13:11:55 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 16 Jan 2014 21:11:55 +0000 Subject: hg: openjfx/2u/dev/rt: Added tag 2.2.60-b03 for changeset fc533ffc2296 Message-ID: <20140116211158.04E37624E1@hg.openjdk.java.net> Changeset: b8fcc422cc09 Author: hudson Date: 2014-01-16 08:41 -0800 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/b8fcc422cc09 Added tag 2.2.60-b03 for changeset fc533ffc2296 ! .hgtags From daniel.blaukopf at oracle.com Thu Jan 16 15:25:09 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Fri, 17 Jan 2014 01:25:09 +0200 Subject: 8u20 review request: RT-35355 - Software rendering ports of Monocle need notification of pixel upload end In-Reply-To: <72D120EB-1FF7-41E9-BFF7-DE828BCE324F@oracle.com> References: <72D120EB-1FF7-41E9-BFF7-DE828BCE324F@oracle.com> Message-ID: Dave suggested another way of does this, which I tried out and it seemed to work. Notes and link to patch are in the JIRA. Either approach is OK with me, but others might feel more strongly about it. Daniel On Jan 16, 2014, at 10:31 PM, Daniel Blaukopf wrote: > Hi Kevin and Anthony, > > Would you review the following change to have Quantum notify Glass when it has finished rendering all scenes? This is to enable double-buffering on embedded and headless systems. > > https://javafx-jira.kenai.com/browse/RT-35355 > http://cr.openjdk.java.net/~dblaukop/webrev-20140116-2022-RT-35355/webrev/ > > Thanks, > Daniel From hang.vo at oracle.com Thu Jan 16 16:18:29 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 17 Jan 2014 00:18:29 +0000 Subject: hg: openjfx/8u-dev/rt: 4 new changesets Message-ID: <20140117001941.CA2AB624EE@hg.openjdk.java.net> Changeset: a4147a40b285 Author: David Grieve Date: 2014-01-16 19:13 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/a4147a40b285 RT-17334: check {h|v}valueProperty().isBound() before calling set ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java Changeset: 30314ce7385c Author: David Grieve Date: 2014-01-16 19:13 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/30314ce7385c RT-17395: if ScrollBarPolicy value is null, treat it as AS_NEEDED. Also changed comparison of enum using equals method to using == ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java Changeset: 59da29c7f1b5 Author: David Grieve Date: 2014-01-16 19:13 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/59da29c7f1b5 RT-18223: if ScrollBar is focusTraversable, requestFocus on certain mouse press events (like a mouse press on increment button). Reviewed by Jonathan ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/ScrollBarBehavior.java Changeset: 89a4c84586c2 Author: David Grieve Date: 2014-01-16 19:13 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/89a4c84586c2 [DOCS-ONLY] RT-18386: css lint on cssref. ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html From daniel.blaukopf at oracle.com Thu Jan 16 16:09:35 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Fri, 17 Jan 2014 02:09:35 +0200 Subject: 8u20 review request: RT-35355 - Software rendering ports of Monocle need notification of pixel upload end In-Reply-To: <72D120EB-1FF7-41E9-BFF7-DE828BCE324F@oracle.com> References: <72D120EB-1FF7-41E9-BFF7-DE828BCE324F@oracle.com> Message-ID: <2BBA18E2-B827-4A4C-AEDD-B55491D93B68@oracle.com> Dave suggested another way of does this, which I tried out and it seemed to work. Notes and link to patch are in the JIRA. Either approach is OK with me, but others might feel more strongly about it. Daniel On Jan 16, 2014, at 10:31 PM, Daniel Blaukopf wrote: > Hi Kevin and Anthony, > > Would you review the following change to have Quantum notify Glass when it has finished rendering all scenes? This is to enable double-buffering on embedded and headless systems. > > https://javafx-jira.kenai.com/browse/RT-35355 > http://cr.openjdk.java.net/~dblaukop/webrev-20140116-2022-RT-35355/webrev/ > > Thanks, > Daniel From hang.vo at oracle.com Fri Jan 17 07:18:38 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 17 Jan 2014 15:18:38 +0000 Subject: hg: openjfx/8u-dev/rt: ECLIPSE ONLY: work around Eclipse jdk8 compiler issue Message-ID: <20140117151859.B079362513@hg.openjdk.java.net> Changeset: 9fbbdd89d994 Author: snorthov Date: 2014-01-17 10:16 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9fbbdd89d994 ECLIPSE ONLY: work around Eclipse jdk8 compiler issue ! modules/controls/src/test/java/javafx/scene/control/TreeTableViewTest.java From herve.girod at gmail.com Fri Jan 17 09:25:20 2014 From: herve.girod at gmail.com (=?utf-8?Q?Herv=C3=A9_Girod?=) Date: Fri, 17 Jan 2014 18:25:20 +0100 Subject: Strange exception in ComboBox In-Reply-To: <52D83A9A.3020608@oracle.com> References: <52D47945.403@oracle.com> <52D56DA0.4090806@oracle.com> <52D56F3C.60608@oracle.com> <90E049D9-D44B-40B0-B184-504982D5876A@gmail.com> <52D83A9A.3020608@oracle.com> Message-ID: <93FBAD28-4C6A-4089-813C-D9D7DC33C8BD@gmail.com> Hello, I was able to fix the exception by moving the creation of the root Pane of the child Stage somewhere else, though I don't understand why this change make it work. I am still trying to have a simple test case which expose the problem, as soon as I am able to have it (for now my example sadly work ok), I will created a JIRA with the source code. Herve Sent from my iPhone > On 16 janv. 2014, at 21:01, Jonathan Giles wrote: > > It's very hard to say without a test application and the exception > stacktrace that you're seeing. If you could get those two things > together and file them in a bug in jira, I can take a look. > > -- Jonathan > >> On 17/01/2014 2:31 a.m., Herv? Girod wrote: >> Hello, >> >> We have a strange exception in ComboBox at least since b121. >> >> We create a child stage with one combobox, and we systematically have an exception when clicking on an item in the list because of a child added to a parent (ComboBoxListViewSkin) without removing it from the previous one (ComboBox). >> >> - The list is composed of basic Strings >> - I checked and the Pane creation is performed in the JavaFX Thread >> - We did not set any specific skin to the scene we use >> - When I tried to copy the piece of code to test it separately from the whole app, it worked >> - There is no exception in Java 7 for the same exact code >> >> Is it something that could be related to a bug in Java 8, or do you think it must be a bug in our code ? >> >> Herve > From kevin.rushforth at oracle.com Fri Jan 17 13:10:40 2014 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 17 Jan 2014 13:10:40 -0800 Subject: FX 8u20 JIRA dashboard Message-ID: <52D99C50.6070000@oracle.com> I can't remember if I sent this out or not. Here is the pointer to the FX 8u20 Development Dashboard in JIRA: https://javafx-jira.kenai.com/secure/Dashboard.jspa?selectPageId=12099 -- Kevin From hang.vo at oracle.com Fri Jan 17 22:08:14 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sat, 18 Jan 2014 06:08:14 +0000 Subject: hg: openjfx/8/master/rt: 35 new changesets Message-ID: <20140118061740.6F12B6255A@hg.openjdk.java.net> Changeset: 9689bfae29b8 Author: mv157916 Date: 2014-01-10 15:05 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/9689bfae29b8 RT-35268: Update the JDK 8 build number to b123 in rt/build.properties file in the JavaFX 8 Master forest. ! build.properties Changeset: d4fcbba5228c Author: kcr Date: 2014-01-14 08:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/d4fcbba5228c RT-34791: Change javadoc copyright link to point to JDK 8 license Reviewed-by: mtvo ! apps/samples/Ensemble8/build.xml ! build.properties ! modules/fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: bbdd4f8dac92 Author: Pavel Safrata Date: 2013-09-06 13:57 +0100 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/bbdd4f8dac92 RT-32306: Enhance FX drag and drop operations + modules/graphics/src/main/java/com/sun/javafx/scene/input/DragboardHelper.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/input/Clipboard.java ! modules/graphics/src/main/java/javafx/scene/input/Dragboard.java Changeset: 1da97ec90d4b Author: Lubomir Nerad Date: 2013-09-06 16:53 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/1da97ec90d4b Partial fix for RT-31872: Better window dressing ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/DummyToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/application/ConditionalFeature.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java ! modules/graphics/src/main/java/javafx/stage/Stage.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 17192e819910 Author: kcr Date: 2013-09-06 16:21 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/17192e819910 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/input/Dragboard.java Changeset: 4b224f556d88 Author: kcr Date: 2013-09-10 20:25 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/4b224f556d88 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 6a89f7866850 Author: kcr Date: 2013-09-12 11:39 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/6a89f7866850 RT-32349: Enhance animated properties Reviewed-by: Martin Sladecek ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/scenario/animation/AbstractMasterTimer.java + modules/graphics/src/main/java/com/sun/scenario/animation/shared/TimerReceiver.java ! modules/graphics/src/main/java/javafx/animation/Animation.java ! modules/graphics/src/main/java/javafx/animation/AnimationTimer.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/scenario/animation/AbstractMasterTimerTest.java Changeset: c0dd6c47fec3 Author: kcr Date: 2013-09-18 08:09 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/c0dd6c47fec3 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: 8f7c7ce8f288 Author: Martin Soch Date: 2013-09-26 21:04 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/8f7c7ce8f288 RT-32585: Enhance FX loading ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: 90033f25c0a8 Author: kcr Date: 2013-09-27 12:28 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/90033f25c0a8 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/animation/Animation.java Changeset: be753a412553 Author: kcr Date: 2013-10-03 19:13 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/be753a412553 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java Changeset: bea7774477b0 Author: kcr Date: 2013-10-10 05:15 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/bea7774477b0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8-cpu-1304/dev/jfx/rt ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/stage/Stage.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 426d7968042e Author: jgiles Date: 2013-10-17 09:49 +1300 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/426d7968042e RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! build.gradle + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 6d4aab361b56 Author: jgiles Date: 2013-10-17 10:22 +1300 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/6d4aab361b56 Backed out changeset 426d7968042e to fix line endings issue. ! build.gradle - modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css - modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 4f5c5af78125 Author: jgiles Date: 2013-10-17 10:31 +1300 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/4f5c5af78125 RT-32803: Adjust popup controls for applet mode Reviewed-by: kcr, lnerad, art ! build.gradle + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian-no-transparency.css + modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena-no-transparency.css ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 2882a36f2ae4 Author: kcr Date: 2013-10-19 07:30 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/2882a36f2ae4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: e05ea7f7c845 Author: kcr Date: 2013-10-22 15:14 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/e05ea7f7c845 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/com/sun/scenario/animation/AbstractMasterTimer.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: 7155c3d71afb Author: kcr Date: 2013-10-22 08:37 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/7155c3d71afb RT-32586: Enhance FX services Reviewed-by: lnerad, art, ahgross ! modules/graphics/src/main/java/javafx/concurrent/Service.java ! modules/graphics/src/test/java/javafx/concurrent/ServiceLifecycleTest.java Changeset: 74fc4fd0d428 Author: jgiles Date: 2013-10-24 09:22 +1300 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/74fc4fd0d428 RT-3372: Unit test failure in ColorPickerTest.ensureCanSelectColorFromPalette Reviewed-by: kcr ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: 281d693901fb Author: jgiles Date: 2013-10-24 09:47 +1300 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/281d693901fb Backed out changeset: 74fc4fd0d428 (due to bad line endings) ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: f5f6e1bb2950 Author: jgiles Date: 2013-10-24 09:48 +1300 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/f5f6e1bb2950 RT-3372: Unit test failure in ColorPickerTest.ensureCanSelectColorFromPalette Reviewed-by: kcr ! modules/graphics/src/test/java/com/sun/javafx/pgstub/StubToolkit.java Changeset: d7b99966cc71 Author: kcr Date: 2013-10-24 08:28 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/d7b99966cc71 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 9151b502587a Author: kcr Date: 2013-11-02 07:09 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/9151b502587a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: bc988e1dc10e Author: kcr Date: 2013-11-07 16:51 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/bc988e1dc10e Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/com/sun/javafx/fxml/BeanAdapter.java ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/stage/PopupWindow.java Changeset: fd92fa0740f0 Author: kcr Date: 2013-11-14 18:49 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/fd92fa0740f0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java Changeset: 1774c627553d Author: kcr Date: 2013-11-21 15:41 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/1774c627553d Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: b80d119b3673 Author: kcr Date: 2013-11-27 15:48 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/b80d119b3673 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: 5f0f8fb9906b Author: kcr Date: 2013-12-05 08:57 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/5f0f8fb9906b Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! build.gradle ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: 26515db79472 Author: kcr Date: 2013-12-14 06:36 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/26515db79472 Automated merge with file:///cygdrive/c/Users/kcr/javafx/8-MASTER/jfx/rt ! build.gradle ! modules/graphics/src/main/java/javafx/scene/Scene.java Changeset: ec1827dee52d Author: kcr Date: 2013-12-17 12:13 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/ec1827dee52d Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt ! modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java Changeset: e3be095eed59 Author: kcr Date: 2014-01-02 09:19 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/e3be095eed59 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: b42c0c512c4a Author: kcr Date: 2014-01-07 13:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/b42c0c512c4a Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 80c29c9a9551 Author: kcr Date: 2014-01-14 14:57 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/80c29c9a9551 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 8d28332831a4 Author: kcr Date: 2014-01-14 17:06 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/8d28332831a4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 3e1c456afa4c Author: hudson Date: 2014-01-17 21:38 -0800 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/3e1c456afa4c Added tag 8.0-b124 for changeset 8d28332831a4 ! .hgtags From fbrunnerlist at gmx.ch Sat Jan 18 04:27:07 2014 From: fbrunnerlist at gmx.ch (Florian Brunner) Date: Sat, 18 Jan 2014 13:27:07 +0100 Subject: Launching JavaFX apps In-Reply-To: <52CD6490.4050805@oracle.com> References: <52CD6490.4050805@oracle.com> Message-ID: <3265855.TVfcsj1yRC@shire> Hi Kevin, Thanks for this clarifiacation! I'm also interested in this kind of information as I'm in the process of upgrading Drombler FX to JavaFX 8 and Drombler FX comes with a custom Maven Plugin, which makes sure the application can start. Another related question: While the Ant task for JavaFX 2.x added the following Manifest entries: JavaFX-Version: 2.2 JavaFX-Application-Class: myPackage.MyApplication JavaFX-Class-Path: Main-Class: com/javafx/main/Main the Ant task for JavaFX 8 added the following Manifest entries: JavaFX-Version: 2.2 Class-Path: Main-Class: myPackage.MyApplication So it seems "JavaFX-Application-Class" is not used anymore if one doesn't use com.javafx.main.Main to start the JavaFX application, and "JavaFX-Class-Path" has been replaced with the standard "Class-Path" entry. The "JavaFX-Version" seems still to be needed, however. For what is it used? An why is this version set to "2.2" for JavaFX 8 applications? Shouldn't it be "8.0" or something? Can I get this version from somewhere? Either the JavaFX API or from the ant-javafx.jar? -Florian Am Mittwoch, 8. Januar 2014, 06.45:36 schrieb Kevin Rushforth: > Hi Scott, > > The Java 8 launcher has been modified to recognize JavaFX applications > -- that is, classes that extend javafx.application.Application -- and > launch them directly by calling into the JavaFX launcher code. See > JDK-8001533 . This is > why the com.javafx.main.Main class is no longer needed. > > Somewhat independent of this, for standalone applications (but not > applets or web start applications) the JavaFX launcher code will now > call the main() method if it is present (see RT-28755 > ), but will still happily > launch the application if it isn't. So the main() method is still > optional. If present, it must call Application.launch() in order to > launch the application. > > So yes, it does seem that Netbeans should modify the wording of their > javadoc comment for the main() method of a JavaFX application. > > -- Kevin > > > Scott Palmer wrote: > > Based on the discussion I saw in the comments for RT-34236 I discovered > > that using com.javafx.main.Main is not the way JavaFX 8 is supposed to > > work. There are comments that read, "...making sure their Application class > > has a main that calls launcher(String[] args)." > > > > This seems to imply that a main method is now required in the Application > > class when writing apps for JavaFX 8. > > > > Is this correct? > > > > If so. Somebody should tell NetBeans to stop injecting this comment in the > > generated application class for JavaFX projects: > > /** > > * The main() method is ignored in correctly deployed JavaFX application. > > * main() serves only as fallback in case the application can not be > > * launched through deployment artifacts, e.g., in IDEs with limited FX > > * support. NetBeans ignores main(). > > * > > * @param args the command line arguments > > */ > > > > Are the changes to the launching of JavaFX apps docuemtned somewhere? Is > > using javafxpackager or the ant task the *only* supported way of creating > > JavaFX applications? I'm currently using my own stub that runs on Java 7 > > and adds the jfxrt.jar to the classpath if required and then calls the > > launch method on the Applicaiton class. > > > > Regards, > > > > Scott > > From hang.vo at oracle.com Sat Jan 18 12:04:33 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sat, 18 Jan 2014 20:04:33 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35355 [Monocle] Software rendering ports of Monocle need notification of pixel upload end Message-ID: <20140118200555.A4FB162583@hg.openjdk.java.net> Changeset: 74e5f10c9874 Author: Daniel Blaukopf Date: 2014-01-18 21:57 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/74e5f10c9874 RT-35355 [Monocle] Software rendering ports of Monocle need notification of pixel upload end Reviewed-by: kcr, anthony ! modules/graphics/src/main/java/com/sun/glass/ui/Application.java ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/PaintCollector.java From hang.vo at oracle.com Sun Jan 19 04:34:17 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sun, 19 Jan 2014 12:34:17 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35409 [Monocle] FuzzyTapTest sometimes fails Message-ID: <20140119123508.BF26B6258C@hg.openjdk.java.net> Changeset: c5694f254fef Author: Daniel Blaukopf Date: 2014-01-19 14:27 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c5694f254fef RT-35409 [Monocle] FuzzyTapTest sometimes fails ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInputSynthesizer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchLookahead.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/TouchState.java From hang.vo at oracle.com Sun Jan 19 06:48:35 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sun, 19 Jan 2014 14:48:35 +0000 Subject: hg: openjfx/8u-dev/rt: RT-31652 Open source LinuxInputTests Message-ID: <20140119144852.2FBFA6258D@hg.openjdk.java.net> Changeset: e5556c1b14be Author: Daniel Blaukopf Date: 2014-01-19 16:34 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e5556c1b14be RT-31652 Open source LinuxInputTests Reviewed-by: kcr + tests/system/src/test/java/com/sun/glass/ui/monocle/input/CreateDeviceTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/DragTouchInAndOutAWindowTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/EGalaxTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/FuzzyTapTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/LensUInput.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/MonocleUInput.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/MouseLagTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/NTrigTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/NativeUInput.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/SamsungLMS700KF07004Test.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/SimpleMouseTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TabletInputTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TestApplication.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TestLog.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TestRunnable.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TouchButtonTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TouchEventLookaheadTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TouchLagTest.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/TouchTestBase.java + tests/system/src/test/java/com/sun/glass/ui/monocle/input/UInput.java From hang.vo at oracle.com Sun Jan 19 14:18:28 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sun, 19 Jan 2014 22:18:28 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35410 [Lens, Tests] Remove the dependency on a native library in LinuxInputTest Message-ID: <20140119221845.919586259A@hg.openjdk.java.net> Changeset: 907fe6813ca6 Author: Daniel Blaukopf Date: 2014-01-19 23:53 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/907fe6813ca6 RT-35410 [Lens, Tests] Remove the dependency on a native library in LinuxInputTest ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxMouseProcessor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxPlatform.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxSystem.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/mx6/MX6Cursor.java ! modules/graphics/src/main/native-glass/monocle/linux/LinuxSystem.c ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/DragTouchInAndOutAWindowTest.java ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/LensUInput.java ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/MonocleUInput.java ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/NativeUInput.java ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/UInput.java From hang.vo at oracle.com Mon Jan 20 10:30:28 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 20 Jan 2014 18:30:28 +0000 Subject: hg: openjfx/8u-dev/rt: RT-34928 Ensemble: Bouncing Balls leave tracks Message-ID: <20140120183044.9DCD8625C5@hg.openjdk.java.net> Changeset: b337db636594 Author: Martin Sladecek Date: 2014-01-20 09:55 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b337db636594 RT-34928 Ensemble: Bouncing Balls leave tracks Reviewed by: flar ! modules/graphics/src/main/java/com/sun/javafx/sg/prism/CacheFilter.java ! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java ! modules/graphics/src/test/java/com/sun/javafx/sg/prism/CacheFilterTest.java From christian.schudt at gmx.de Mon Jan 20 10:45:47 2014 From: christian.schudt at gmx.de (Christian Schudt) Date: Mon, 20 Jan 2014 19:45:47 +0100 Subject: FXML, Presentation Model & bi-directional binding Message-ID: <50702DE6-87EA-4FC5-86A5-764D289355B8@gmx.de> Hi together, I just (re-)read Richard's excellent article http://fxexperience.com/2011/10/fxml-why-it-rocks-and-the-next-phase/ He talks about "the next phase" in FXML being the Presentation Model and the use of bidirectional binding in FXML. I really like to make use of it because I think it's "the way to go" and better than MVC pattern. (I've worked with PM pattern in Flex/MXML and it was really comfortable.) Now this article is 2.5 years old and I wonder, what's the current state of "the next phase", i.e. bi-directional binding in FXML or at least uni-directional binding. I just tried the proposed syntax out and it doesn't work with Java 8, so I assume it's still not possible!? Thanks for answer, Best regard, Christian From richard.bair at oracle.com Mon Jan 20 11:42:31 2014 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 20 Jan 2014 20:42:31 +0100 Subject: FXML, Presentation Model & bi-directional binding In-Reply-To: <50702DE6-87EA-4FC5-86A5-764D289355B8@gmx.de> References: <50702DE6-87EA-4FC5-86A5-764D289355B8@gmx.de> Message-ID: <82790BC4-9C84-4D04-8155-D3EBF9DECB27@oracle.com> Sadly, still not possible :-(. Though I still think it's a great way to go! > On Jan 20, 2014, at 7:45 PM, Christian Schudt wrote: > > Hi together, > > I just (re-)read Richard's excellent article http://fxexperience.com/2011/10/fxml-why-it-rocks-and-the-next-phase/ > > He talks about "the next phase" in FXML being the Presentation Model and the use of bidirectional binding in FXML. > > I really like to make use of it because I think it's "the way to go" and better than MVC pattern. (I've worked with PM pattern in Flex/MXML and it was really comfortable.) > > Now this article is 2.5 years old and I wonder, what's the current state of "the next phase", i.e. bi-directional binding in FXML or at least uni-directional binding. > > I just tried the proposed syntax out and it doesn't work with Java 8, so I assume it's still not possible!? > > Thanks for answer, > Best regard, > > Christian > > From martin.sladecek at oracle.com Mon Jan 20 12:53:35 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Mon, 20 Jan 2014 21:53:35 +0100 Subject: FXML, Presentation Model & bi-directional binding In-Reply-To: <82790BC4-9C84-4D04-8155-D3EBF9DECB27@oracle.com> References: <50702DE6-87EA-4FC5-86A5-764D289355B8@gmx.de> <82790BC4-9C84-4D04-8155-D3EBF9DECB27@oracle.com> Message-ID: <52DD8CCF.2040608@oracle.com> Related JIRA issue: https://javafx-jira.kenai.com/browse/RT-17646 Uni-directional binding is possible using ${path.to.property} syntax (see http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/introduction_to_fxml.html#expression_binding) -Martin On 01/20/2014 08:42 PM, Richard Bair wrote: > Sadly, still not possible :-(. Though I still think it's a great way to go! > >> On Jan 20, 2014, at 7:45 PM, Christian Schudt wrote: >> >> Hi together, >> >> I just (re-)read Richard's excellent article http://fxexperience.com/2011/10/fxml-why-it-rocks-and-the-next-phase/ >> >> He talks about "the next phase" in FXML being the Presentation Model and the use of bidirectional binding in FXML. >> >> I really like to make use of it because I think it's "the way to go" and better than MVC pattern. (I've worked with PM pattern in Flex/MXML and it was really comfortable.) >> >> Now this article is 2.5 years old and I wonder, what's the current state of "the next phase", i.e. bi-directional binding in FXML or at least uni-directional binding. >> >> I just tried the proposed syntax out and it doesn't work with Java 8, so I assume it's still not possible!? >> >> Thanks for answer, >> Best regard, >> >> Christian >> >> From hang.vo at oracle.com Mon Jan 20 13:33:27 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 20 Jan 2014 21:33:27 +0000 Subject: hg: openjfx/8u-dev/rt: 2 new changesets Message-ID: <20140120213404.38FBF625CD@hg.openjdk.java.net> Changeset: 9a98b0b89f23 Author: jgiles Date: 2014-01-21 09:50 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9a98b0b89f23 RT-25256: Charts - Labels/Legends don't have readable colors, when background is dark. ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css Changeset: 2abb15915443 Author: jgiles Date: 2014-01-21 10:24 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/2abb15915443 RT-27000: ColorPicker renders incorrectly with "button" style ! apps/toys/Hello/src/main/java/hello/HelloColorPicker.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ColorPickerSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ComboBoxBaseSkin.java From hang.vo at oracle.com Mon Jan 20 17:03:56 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 21 Jan 2014 01:03:56 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35391 [Monocle] Use hardware double-buffering in software rendering Message-ID: <20140121010414.004B1625D2@hg.openjdk.java.net> Changeset: c0c2b5d913ec Author: Daniel Blaukopf Date: 2014-01-21 02:49 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c0c2b5d913ec RT-35391 [Monocle] Use hardware double-buffering in software rendering RT-35354 [Monocle] Provide robot capture interface in NativeScreen + modules/graphics/src/main/java/com/sun/glass/ui/monocle/Framebuffer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleRobot.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleView.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindow.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleWindowManager.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativePlatform.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/NativeScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/RunnableProcessor.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/RunnableQueue.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessScreen.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/KeyInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/input/MouseInput.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/FBDevScreen.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/GetEvent.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxFrameBuffer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputDevice.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxInputProcessor.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/LinuxSystem.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/Udev.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/linux/UdevListener.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/omap/OMAPScreen.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/util/C.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11InputDeviceRegistry.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/x11/X11Screen.java ! modules/graphics/src/main/native-glass/monocle/linux/LinuxSystem.c ! modules/graphics/src/main/native-glass/monocle/util/C.c + tests/system/src/test/java/com/sun/glass/ui/monocle/headless/HeadlessGeometry1Test.java + tests/system/src/test/java/com/sun/glass/ui/monocle/headless/HeadlessGeometry2Test.java ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/EGalaxTest.java ! tests/system/src/test/java/com/sun/glass/ui/monocle/input/TestLog.java From hang.vo at oracle.com Mon Jan 20 21:48:35 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 21 Jan 2014 05:48:35 +0000 Subject: hg: openjfx/8u-dev/rt: Fix broken build Message-ID: <20140121054853.1AAA0625D9@hg.openjdk.java.net> Changeset: 96ad554b62b8 Author: Daniel Blaukopf Date: 2014-01-21 07:43 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/96ad554b62b8 Fix broken build ! modules/graphics/src/main/native-glass/monocle/linux/LinuxSystem.c From tbee at tbee.org Tue Jan 21 02:00:32 2014 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 21 Jan 2014 11:00:32 +0100 Subject: custom FXML builders in SceneBuilder In-Reply-To: <171C0311-C6D1-4397-ADC4-EF39DDE9B8B8@oracle.com> References: <52C68928.2030508@tbee.org> <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> <52C69B14.2030607@tbee.org> <171C0311-C6D1-4397-ADC4-EF39DDE9B8B8@oracle.com> Message-ID: <52DE4540.9000606@tbee.org> Hi Eric, Any chance you had time to look into this? Tom On 2014-1-3 12:19, Eric Le Ponner wrote: > I will look at that and come back to you middle of next week. > > Eric > > Le 3 janv. 2014 ? 12:12, Tom Eugelink a ?crit : > >> I think there are two usages of builders: >> - construct compontents / controls programatically (ending in the build() call). >> - mapping of FXML attributes to node properties, because in FXML everything must be a string. >> >> For example, CalendarTextField has no builder class in the first sense (I used withers for that), but does have a class that converts the dateFormats (list of SimpleDateFormat strings) in an fxml file to an actual list of DateFormats instances. >> >> https://github.com/JFXtras/jfxtras-labs/blob/8.0/src/main/java/jfxtras/labs/fxml/CalendarTextFieldBuilder.java >> >> If you can explain to me how to do this without a builder, but also without polluting CalendarTextField with FXML aspects, then I'll change the code. >> >> Tom >> >> >> >> On 2014-1-3 11:44, Eric Le Ponner wrote: >>> When Scene Builder 2.0 found a custom components, it instantiates it using FXMLLoader >>> without making any specific builder setup. So FXMLLoader uses the default JavaFX >>> builder factory. >>> >>> Since builders are deprecated, I'm not sure it make sense for SB to have dependency on them. >>> >>> Eric >>> >>> >>> Le 3 janv. 2014 ? 10:55, Tom Eugelink a ?crit : >>> >>>> I had no problems adding the JFXtras components to SceneBuilder, but one of the controls has a custom FXML builder. It is present in the same jar, but how do I tell SceneBuilder to use it? Now when I try to load an fxml file an exception ("unable to coerse") is shown by SceneBuilder. >>>> >>>> Tom >>>> >>>> >> From eric.le.ponner at oracle.com Tue Jan 21 02:06:55 2014 From: eric.le.ponner at oracle.com (Eric Le Ponner) Date: Tue, 21 Jan 2014 11:06:55 +0100 Subject: custom FXML builders in SceneBuilder In-Reply-To: <52DE4540.9000606@tbee.org> References: <52C68928.2030508@tbee.org> <4BA4CBD7-1294-4396-A7BC-AA9255DFAB7C@oracle.com> <52C69B14.2030607@tbee.org> <171C0311-C6D1-4397-ADC4-EF39DDE9B8B8@oracle.com> <52DE4540.9000606@tbee.org> Message-ID: <64B6821B-9115-4BBE-9FDC-1DE6740B0B6E@oracle.com> Hi Tom, Sorry, I was a bit optimistic and found no time to look at it. I'll give a try this week. Eric Le 21 janv. 2014 ? 11:00, Tom Eugelink a ?crit : > > Hi Eric, > > Any chance you had time to look into this? > > Tom > > > > On 2014-1-3 12:19, Eric Le Ponner wrote: >> I will look at that and come back to you middle of next week. >> >> Eric >> >> Le 3 janv. 2014 ? 12:12, Tom Eugelink a ?crit : >> >>> I think there are two usages of builders: >>> - construct compontents / controls programatically (ending in the build() call). >>> - mapping of FXML attributes to node properties, because in FXML everything must be a string. >>> >>> For example, CalendarTextField has no builder class in the first sense (I used withers for that), but does have a class that converts the dateFormats (list of SimpleDateFormat strings) in an fxml file to an actual list of DateFormats instances. >>> >>> https://github.com/JFXtras/jfxtras-labs/blob/8.0/src/main/java/jfxtras/labs/fxml/CalendarTextFieldBuilder.java >>> >>> If you can explain to me how to do this without a builder, but also without polluting CalendarTextField with FXML aspects, then I'll change the code. >>> >>> Tom >>> >>> >>> >>> On 2014-1-3 11:44, Eric Le Ponner wrote: >>>> When Scene Builder 2.0 found a custom components, it instantiates it using FXMLLoader >>>> without making any specific builder setup. So FXMLLoader uses the default JavaFX >>>> builder factory. >>>> >>>> Since builders are deprecated, I'm not sure it make sense for SB to have dependency on them. >>>> >>>> Eric >>>> >>>> >>>> Le 3 janv. 2014 ? 10:55, Tom Eugelink a ?crit : >>>> >>>>> I had no problems adding the JFXtras components to SceneBuilder, but one of the controls has a custom FXML builder. It is present in the same jar, but how do I tell SceneBuilder to use it? Now when I try to load an fxml file an exception ("unable to coerse") is shown by SceneBuilder. >>>>> >>>>> Tom >>>>> >>>>> >>> > > From phdoerfler at gmail.com Tue Jan 21 04:15:16 2014 From: phdoerfler at gmail.com (=?UTF-8?Q?Philipp_D=C3=B6rfler?=) Date: Tue, 21 Jan 2014 13:15:16 +0100 Subject: FXML, Presentation Model & bi-directional binding In-Reply-To: <52DD8CCF.2040608@oracle.com> References: <50702DE6-87EA-4FC5-86A5-764D289355B8@gmx.de> <82790BC4-9C84-4D04-8155-D3EBF9DECB27@oracle.com> <52DD8CCF.2040608@oracle.com> Message-ID: The only thing you have to do is to write a controller and put myTextBox.textProperty().bindBidirectional(dataModel.textProperty()); into the initialize method. It's way less convenient than it could and should be but at least that gets you bidirectional binding. For a working example featuring a calculator that can add 4 bits done with bidirectional binding properties only (+ some FXML) please have a look at https://bitbucket.org/phdoerfler/talks/src/09f00ea55cbddc2acca94c240593f9071169706c/JavaFX%20-%20Lessons%20Learned/src/main/java/demo/calc/?at=defaultwhere you can find both the code and the talk (in the downloads tab) of a talk of mine where I compared FX to the presentation model of WPF. The slides might be worth looking at because they summarize my findings in surprising FXML binding syntax that are scattered in this mailing list somewhere. Hope this helps! Am 20.01.2014 21:55 schrieb "Martin Sladecek" : > Related JIRA issue: https://javafx-jira.kenai.com/browse/RT-17646 > > Uni-directional binding is possible using ${path.to.property} syntax (see > http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/ > introduction_to_fxml.html#expression_binding) > > -Martin > > On 01/20/2014 08:42 PM, Richard Bair wrote: > >> Sadly, still not possible :-(. Though I still think it's a great way to >> go! >> >> On Jan 20, 2014, at 7:45 PM, Christian Schudt >>> wrote: >>> >>> Hi together, >>> >>> I just (re-)read Richard's excellent article >>> http://fxexperience.com/2011/10/fxml-why-it-rocks-and-the-next-phase/ >>> >>> He talks about "the next phase" in FXML being the Presentation Model and >>> the use of bidirectional binding in FXML. >>> >>> I really like to make use of it because I think it's "the way to go" and >>> better than MVC pattern. (I've worked with PM pattern in Flex/MXML and it >>> was really comfortable.) >>> >>> Now this article is 2.5 years old and I wonder, what's the current state >>> of "the next phase", i.e. bi-directional binding in FXML or at least >>> uni-directional binding. >>> >>> I just tried the proposed syntax out and it doesn't work with Java 8, so >>> I assume it's still not possible!? >>> >>> Thanks for answer, >>> Best regard, >>> >>> Christian >>> >>> >>> > From hang.vo at oracle.com Tue Jan 21 05:48:23 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 21 Jan 2014 13:48:23 +0000 Subject: hg: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end Message-ID: <20140121135001.4CCA7625EC@hg.openjdk.java.net> Changeset: ebf7575491e0 Author: Daniel Blaukopf Date: 2014-01-21 15:43 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ebf7575491e0 RT-35441 [Monocle] Provide a VNC back-end ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/Framebuffer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatform.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatformFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCScreen.java From java.whoover at gmail.com Tue Jan 21 06:35:42 2014 From: java.whoover at gmail.com (Will Hoover) Date: Tue, 21 Jan 2014 09:35:42 -0500 Subject: FXML, Presentation Model & bi-directional binding In-Reply-To: References: <50702DE6-87EA-4FC5-86A5-764D289355B8@gmx.de> <82790BC4-9C84-4D04-8155-D3EBF9DECB27@oracle.com> <52DD8CCF.2040608@oracle.com> Message-ID: <52de85c5.6890ec0a.2510.230e@mx.google.com> Another programmatic option would be to use the BeanPathAdapter from http://jfxtras.org/ It has bi-directional binding. -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Philipp D?rfler Sent: Tuesday, January 21, 2014 7:15 AM To: Martin Sladecek Cc: openjfx-dev at openjdk.java.net Subject: Re: FXML, Presentation Model & bi-directional binding The only thing you have to do is to write a controller and put myTextBox.textProperty().bindBidirectional(dataModel.textProperty()); into the initialize method. It's way less convenient than it could and should be but at least that gets you bidirectional binding. For a working example featuring a calculator that can add 4 bits done with bidirectional binding properties only (+ some FXML) please have a look at https://bitbucket.org/phdoerfler/talks/src/09f00ea55cbddc2acca94c240593f9071169706c/JavaFX%20-%20Lessons%20Learned/src/main/java/demo/calc/?at=defaultwhere you can find both the code and the talk (in the downloads tab) of a talk of mine where I compared FX to the presentation model of WPF. The slides might be worth looking at because they summarize my findings in surprising FXML binding syntax that are scattered in this mailing list somewhere. Hope this helps! Am 20.01.2014 21:55 schrieb "Martin Sladecek" : > Related JIRA issue: https://javafx-jira.kenai.com/browse/RT-17646 > > Uni-directional binding is possible using ${path.to.property} syntax > (see http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/ > introduction_to_fxml.html#expression_binding) > > -Martin > > On 01/20/2014 08:42 PM, Richard Bair wrote: > >> Sadly, still not possible :-(. Though I still think it's a great way >> to go! >> >> On Jan 20, 2014, at 7:45 PM, Christian Schudt >> >>> wrote: >>> >>> Hi together, >>> >>> I just (re-)read Richard's excellent article >>> http://fxexperience.com/2011/10/fxml-why-it-rocks-and-the-next-phase >>> / >>> >>> He talks about "the next phase" in FXML being the Presentation Model >>> and the use of bidirectional binding in FXML. >>> >>> I really like to make use of it because I think it's "the way to go" >>> and better than MVC pattern. (I've worked with PM pattern in >>> Flex/MXML and it was really comfortable.) >>> >>> Now this article is 2.5 years old and I wonder, what's the current >>> state of "the next phase", i.e. bi-directional binding in FXML or at >>> least uni-directional binding. >>> >>> I just tried the proposed syntax out and it doesn't work with Java >>> 8, so I assume it's still not possible!? >>> >>> Thanks for answer, >>> Best regard, >>> >>> Christian >>> >>> >>> > From tbee at tbee.org Tue Jan 21 06:43:01 2014 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 21 Jan 2014 15:43:01 +0100 Subject: Go Gerrit Message-ID: <52DE8775.4070207@tbee.org> Just to update the people who are not keeping taps on what Gerrit Grunwald is doing, but he has his JavaFX application running on a Mac, Nexus 7, iPad, iPhone and this afternoon on an Android SmartWatch. Here is the watch version http://www.youtube.com/watch?v=XpplIIIKZ2s Of course the different screen sizes require different layouts, but the code is shared between the devices as much as possible, so basically it's the same code base. #GoGerrit From mark.heckler at oracle.com Tue Jan 21 07:13:37 2014 From: mark.heckler at oracle.com (Mark Heckler) Date: Tue, 21 Jan 2014 09:13:37 -0600 Subject: Go Gerrit In-Reply-To: <52DE8775.4070207@tbee.org> References: <52DE8775.4070207@tbee.org> Message-ID: <4F77BE40-60D8-4611-852A-45B29F8683FE@oracle.com> Really enjoying keeping an eye on his developments in this area; side-by-side comparisons are time-consuming & difficult to assemble. Go Gerrit indeed! :D Mark > On Jan 21, 2014, at 8:43, Tom Eugelink wrote: > > > Just to update the people who are not keeping taps on what Gerrit Grunwald is doing, but he has his JavaFX application running on a Mac, Nexus 7, iPad, iPhone and this afternoon on an Android SmartWatch. > > Here is the watch version > http://www.youtube.com/watch?v=XpplIIIKZ2s > > Of course the different screen sizes require different layouts, but the code is shared between the devices as much as possible, so basically it's the same code base. > > #GoGerrit > > From james.weaver at oracle.com Tue Jan 21 07:42:17 2014 From: james.weaver at oracle.com (Jim Weaver) Date: Tue, 21 Jan 2014 07:42:17 -0800 Subject: Go Gerrit In-Reply-To: <4F77BE40-60D8-4611-852A-45B29F8683FE@oracle.com> References: <52DE8775.4070207@tbee.org> <4F77BE40-60D8-4611-852A-45B29F8683FE@oracle.com> Message-ID: <89581881-7B85-4060-85AB-603AADA0B72A@oracle.com> Indeed, the force is strong with this one :-) Regards, Jim > On Jan 21, 2014, at 7:13 AM, Mark Heckler wrote: > > Really enjoying keeping an eye on his developments in this area; side-by-side comparisons are time-consuming & difficult to assemble. Go Gerrit indeed! :D > > Mark > >> On Jan 21, 2014, at 8:43, Tom Eugelink wrote: >> >> >> Just to update the people who are not keeping taps on what Gerrit Grunwald is doing, but he has his JavaFX application running on a Mac, Nexus 7, iPad, iPhone and this afternoon on an Android SmartWatch. >> >> Here is the watch version >> http://www.youtube.com/watch?v=XpplIIIKZ2s >> >> Of course the different screen sizes require different layouts, but the code is shared between the devices as much as possible, so basically it's the same code base. >> >> #GoGerrit >> >> From daniel.blaukopf at oracle.com Tue Jan 21 07:50:16 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Tue, 21 Jan 2014 17:50:16 +0200 Subject: 8u20 review request: RT-35443 Provide a headless glass implementation integrated with our JUnit tests Message-ID: Hi Steve and Anthony, Would you review the following change to our build/test scripts to allow running JUnit tests in headless Monocle on desktop platforms? https://javafx-jira.kenai.com/browse/RT-35443 http://cr.openjdk.java.net/~dblaukop/webrev-20140121-1743-RT-35443/webrev/ Currently all tests run with this patch pass. Thanks, Daniel From lisa.selle at oracle.com Tue Jan 21 09:09:29 2014 From: lisa.selle at oracle.com (Lisa Selle) Date: Tue, 21 Jan 2014 12:09:29 -0500 Subject: request for review: RT-35243 [Monocle] Message-ID: <52DEA9C9.4010309@oracle.com> Please review the following interim fix for RT-35243 [Monocle] Prism should use Monocle's platform detection code. Webrev here: http://cr.openjdk.java.net/~kselle/webrev-20140121-1206-RT-35243/webrev/ In a nutshell, this adds a new (monocle) port to prism-es2. It is not selected by default. There are some trivial changes to ES2Pipeline and GLFactory to enable command-line selection of the new port. It isn't functional yet but should be soon. When completed, most of the prism-es2 functionality should be moved out of native files into java. Thanks, Lisa From hang.vo at oracle.com Tue Jan 21 09:48:34 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 21 Jan 2014 17:48:34 +0000 Subject: hg: openjfx/8u-dev/rt: RT-33752: D3DGraphics.cc typo cleanup Message-ID: <20140121174919.C04D4625F6@hg.openjdk.java.net> Changeset: 1428564df8ed Author: vadim Date: 2014-01-21 21:38 +0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/1428564df8ed RT-33752: D3DGraphics.cc typo cleanup ! modules/graphics/src/main/native-prism-d3d/D3DGraphics.cc From John_Smith at symantec.com Tue Jan 21 10:46:22 2014 From: John_Smith at symantec.com (John Smith) Date: Tue, 21 Jan 2014 10:46:22 -0800 Subject: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end In-Reply-To: <20140121135001.4CCA7625EC@hg.openjdk.java.net> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> What does the VNC backend for Monocle do and how can it be used? -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of hang.vo at oracle.com Sent: Tuesday, January 21, 2014 5:48 AM To: openjfx-dev at openjdk.java.net Subject: hg: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end Changeset: ebf7575491e0 Author: Daniel Blaukopf Date: 2014-01-21 15:43 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ebf7575491e0 RT-35441 [Monocle] Provide a VNC back-end ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/Framebuffer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatfor + m.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatfor + mFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCScreen. + java From hang.vo at oracle.com Tue Jan 21 11:33:21 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 21 Jan 2014 19:33:21 +0000 Subject: hg: openjfx/8u-dev/rt: 4 new changesets Message-ID: <20140121193450.BBE0E62603@hg.openjdk.java.net> Changeset: f419b4666022 Author: jgiles Date: 2014-01-21 13:54 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/f419b4666022 RT-35422: Caspian-styled ColorPicker has many graphical glitches related to stylesheet ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian.css Changeset: 055abd03128c Author: jgiles Date: 2014-01-21 13:55 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/055abd03128c RT-31310: [Menu] empty space, when scrolled via mouse wheel. ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ContextMenuContent.java Changeset: e1948d8d8e97 Author: jgiles Date: 2014-01-21 15:41 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e1948d8d8e97 RT-14480: Mouse Wheel events should pass though controls ! apps/toys/Hello/src/main/java/hello/HelloScrollPane.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/VirtualFlow.java Changeset: 8cc418ec16a0 Author: jgiles Date: 2014-01-21 16:01 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/8cc418ec16a0 RT-35424: TabPane tabs are jumping incorrectly when selected ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TabPaneSkin.java From daniel.blaukopf at oracle.com Tue Jan 21 12:53:23 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Tue, 21 Jan 2014 22:53:23 +0200 Subject: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: <52DEDE43.3010507@oracle.com> From daniel.blaukopf at oracle.com Tue Jan 21 14:45:24 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Wed, 22 Jan 2014 00:45:24 +0200 Subject: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEDE43.3010507@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: <52DEF884.70106@oracle.com> From John_Smith at symantec.com Tue Jan 21 15:07:05 2014 From: John_Smith at symantec.com (John Smith) Date: Tue, 21 Jan 2014 15:07:05 -0800 Subject: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <52DEF884.70106@oracle.com> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEDE43.3010507@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEF884.70106@oracle.com> Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Monocle is a very interesting and exciting development for the JavaFX team. I think that it is an avenue of approach which may help enable the development of various innovative solutions, both in providing access to JavaFX applications through traditional web UIs or providing remote GUI access to myriad small devices which make up the Internet of Things. ? Since WebSockets are part of Java EE I don't think this is something that could be part of the standard JavaFX build Yes, I agree. There are some excellent existing WebSocket solutions for Java, such as Tyrus https://tyrus.java.net/ and Kaazing. Though the WebSocket protocol is simple to users, there are many tricky pitfalls in creating a robust WebSocket server, so using those complete and well-tested solutions is the best route. As the client app would actually be installed on the server much like a normal JEE app, using a standard JEE lib is perfectly appropriate I think. The tricky part (at least for me) would be to take the VNC (or OpenGL) commands and tunnel them through a WebSocket system. Anyway, something to think about in my spare time. Thanks a lot for the replies and posting to the list Daniel. John From: Daniel Blaukopf [mailto:daniel.blaukopf at oracle.com] Sent: Tuesday, January 21, 2014 2:45 PM To: John Smith; openjfx-dev at openjdk.java.net Subject: Re: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] Hi John, On 01/22/2014 12:24 AM, John Smith wrote: Would it be possible to develop a web based VNC client rendering to HTML canvas that connects to the Monocle VNC server over WebSockets such as that discussed in Kanaka?s answer here: http://stackoverflow.com/a/3902817/1155209? I?m just interested in the feasibility of the approach as a basis for future development of a potential 3rd party JavaFX app deployment solution outside of JavaFX core. I understand that this is probably not the primary reason the Monocle VNC work was implemented, but I?m curious if it could be repurposed for this mechanism. Essentially, my goal here is to enable AppStreaming JavaFX http://aws.amazon.com/appstream/ without requiring a proprietary amazon solution. In your opinion, would such a solution be a feasible basis for developing a distribution mechanism for JavaFX applications which does not require anything on the client outside of an HTML5 compliant browser? It would absolutely be feasible, although the lag would probably be annoying. Since WebSockets are part of Java EE I don't think this is something that could be part of the standard JavaFX build, but Monocle allows for pluggable screen implementations and it shouldn't be much work to modify VNCScreen.java to do this. Alternatively we could put just enough of an implementation of WebSockets in VNCScreen to be able to talk to the browser directly. From http://www.websocket.org/aboutwebsocket.html the protocol doesn't look complicated. Unless you need a secure authenticated connection of course, in which case the answer would have to be Java EE. However, what would be 100x better in terms of perfomance would be to stream the OpenGL commands to a WebGL client. We'd still have the lag though. We did an experiment for a few days last month in the JavaFX team with marshalling up OpenGL calls into a stream and sending them down the wire to a client doing the rendering on another device, and the performance looked promising. A bit like http://sourceforge.net/projects/virtualgl/, but without the video stream. Thanks, Daniel Thanks, John From: Daniel Blaukopf [mailto:daniel.blaukopf at oracle.com] Sent: Tuesday, January 21, 2014 12:53 PM To: John Smith; openjfx-dev at openjdk.java.net Subject: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] Hi John, This is a mostly complete implementation of Glass that instead of rendering to the screen, renders to an offscreen buffer and serves the buffer up to clients using the RFB protocol. So you should be able to connect to it with most VNC clients, although I haven't been able to get it to work with desktop sharing on the Mac. You can also provide mouse input to JavaFX using the VNC client. To use (BTW, this is noted in the JIRA https://javafx-jira.kenai.com/browse/RT-35441): Run with: -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw Connect with a VNC client to port 5901. I used TigerVNC (http://sourceforge.net/projects/tigervnc/files/) since the OS X desktop sharing client didn't like the 15-year old version of the RFB protocol that VNCScreen.java implements. As noted in the JIRA, I think it would make sense to do what Dave Hill previously did in Lens and make the VNC server an option in all embedded back-ends instead of requiring the user to make a choice between having a local display or a remote display. So there would be Linux framebuffer with a VNC server option, EGL framebuffer with a VNC server option and headless with a VNC server option. Thanks, Daniel On 01/21/2014 08:46 PM, John Smith wrote: What does the VNC backend for Monocle do and how can it be used? -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of hang.vo at oracle.com Sent: Tuesday, January 21, 2014 5:48 AM To: openjfx-dev at openjdk.java.net Subject: hg: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end Changeset: ebf7575491e0 Author: Daniel Blaukopf Date: 2014-01-21 15:43 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ebf7575491e0 RT-35441 [Monocle] Provide a VNC back-end ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/Framebuffer.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessScreen.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatfor + m.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatfor + mFactory.java + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCScreen. + java From hang.vo at oracle.com Tue Jan 21 14:48:32 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 21 Jan 2014 22:48:32 +0000 Subject: hg: openjfx/8u-dev/rt: 3 new changesets Message-ID: <20140121224936.CFFD262627@hg.openjdk.java.net> Changeset: cf90e9eb59f0 Author: jgiles Date: 2014-01-22 11:02 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/cf90e9eb59f0 RT-35267: [TableView] TableView Column Table header arrow not consistent when hiding columns (redraw over each other) ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableColumnHeader.java Changeset: e46275203449 Author: jgiles Date: 2014-01-22 11:15 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e46275203449 RT-35224: [TableView] NestedTableColumnHeader crashes in dispose() during layout ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/NestedTableColumnHeader.java ! modules/controls/src/test/java/javafx/scene/control/TableViewTest.java Changeset: ed47253a8c3b Author: jgiles Date: 2014-01-22 11:29 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ed47253a8c3b RT-35067: ScrollPane bottom right corner has a one pixel edge of background color when both scrollbars are visible (when inside a TabPane) ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css From hang.vo at oracle.com Tue Jan 21 17:48:25 2014 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 22 Jan 2014 01:48:25 +0000 Subject: hg: openjfx/8u-dev/rt: RT-34926: [ColorPicker] Selection draws badly when arrow keys are used to traverse Message-ID: <20140122014900.4020062636@hg.openjdk.java.net> Changeset: a804fa529ce6 Author: jgiles Date: 2014-01-22 14:35 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/a804fa529ce6 RT-34926: [ColorPicker] Selection draws badly when arrow keys are used to traverse RT-34911: [ColorPicker] When hovering over color picker options, blue highlight border is not drawn on right and bottom of color rect Summary: I've rewritten how the hovered colour is rendered, so that rather than simply scaling the rectangle (as was done in Modena), there is now a separate node that is placed in the correct location atop all other nodes. The general issue was that the scaling of the hovered node did not bring the node to the the front, so other colours in the palette were still drawing on top of the node. ! apps/toys/Hello/src/main/java/hello/HelloColorPicker.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ColorPalette.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ColorPickerSkin.java ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/caspian/caspian.css ! modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css ! modules/controls/src/test/java/com/sun/javafx/scene/control/skin/ColorPickerPaletteRetriever.java From james.graham at oracle.com Tue Jan 21 19:54:29 2014 From: james.graham at oracle.com (Jim Graham) Date: Tue, 21 Jan 2014 19:54:29 -0800 Subject: FX 8u20 review request: RT-25249 ImageInput does not update for changes to WritableImage Message-ID: <52DF40F5.4010901@oracle.com> Jira: https://javafx-jira.kenai.com/browse/RT-25249 webrev: http://cr.openjdk.java.net/~flar/RT-25249/webrev.00/ The code was taken as a boilerplate from the ImageView code... ...jim From james.graham at oracle.com Tue Jan 21 22:28:05 2014 From: james.graham at oracle.com (Jim Graham) Date: Tue, 21 Jan 2014 22:28:05 -0800 Subject: 8u20 review request: RT-33294 - Canvas PixelWriter slow to fill canvas pixel by pixel Message-ID: <52DF64F5.40506@oracle.com> Jira: https://javafx-jira.kenai.com/browse/RT-33294 webrev: http://cr.openjdk.java.net/~flar/RT-33294/webrev.00/ Tested using the submitted test case and then also using all of the Canvas toys in rt-closed... ...jim From tbee at tbee.org Tue Jan 21 23:41:32 2014 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 22 Jan 2014 08:41:32 +0100 Subject: Monocle with VNC for Jenkins [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEDE43.3010507@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEF884.70106@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: <52DF762C.6080406@tbee.org> What also is very interesting is headless testing. Let me see if I'm getting this. Normally Jenkins would start a VNC server (xvnc), which provides some kind of graphics API against which an UI program can paint. JavaFX is not picking that up however. But, as I read it, in this case JavaFX starts its own VNC server, so it takes of everything itself. All one would need to do is specify the -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw And additionally a port to run the VNC server on (so multiple Jenkins jobs don't interfere). Am I correct? How can I test this (aka in which version is the VNC server available)? Tom From martin.sladecek at oracle.com Wed Jan 22 02:07:18 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 11:07:18 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method Message-ID: <52DF9856.1050607@oracle.com> Hi all, I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. So as an alternative solution, I propose adding something like: ensureListener(ListenerType listener) which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. The default implementation (for Observable) would look like this: public default void ensureListener(InvalidationListener listener) { removeListener(listener); addListener(listener); } subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. What do you think? JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 -Martin From randahl at rockit.dk Wed Jan 22 02:23:30 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 22 Jan 2014 11:23:30 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DF9856.1050607@oracle.com> References: <52DF9856.1050607@oracle.com> Message-ID: <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> Hi Martin While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: myObservable.addListener(myChangeListener); //add it myObservable.addListener(myChangeListener); //add it again In what kind of situation would this sort of code make any sense? If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. Yours Randahl On 22 Jan 2014, at 11:07, Martin Sladecek wrote: > Hi all, > I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. > There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. > > This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. > > So as an alternative solution, I propose adding something like: > > ensureListener(ListenerType listener) > > which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. > > The default implementation (for Observable) would look like this: > > public default void ensureListener(InvalidationListener listener) { > removeListener(listener); > addListener(listener); > } > > subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. > > What do you think? > > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 > > -Martin From martin.sladecek at oracle.com Wed Jan 22 02:26:31 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 11:26:31 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> Message-ID: <52DF9CD7.7000308@oracle.com> The reason why this was decided this way is simple : performance. You usually don't (try to) add a listener twice, so in most cases it doesn't make sense to check for duplicates every time a listener is added. So we currently leave the burden of avoiding duplicates on the developer. -Martin On 01/22/2014 11:23 AM, Randahl Fink Isaksen wrote: > Hi Martin > > While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: > > myObservable.addListener(myChangeListener); //add it > myObservable.addListener(myChangeListener); //add it again > > In what kind of situation would this sort of code make any sense? > > If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. > > Yours > > Randahl > > > > > On 22 Jan 2014, at 11:07, Martin Sladecek wrote: > >> Hi all, >> I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. >> There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. >> >> This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. >> >> So as an alternative solution, I propose adding something like: >> >> ensureListener(ListenerType listener) >> >> which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. >> >> The default implementation (for Observable) would look like this: >> >> public default void ensureListener(InvalidationListener listener) { >> removeListener(listener); >> addListener(listener); >> } >> >> subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. >> >> What do you think? >> >> JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >> >> -Martin From tom.schindl at bestsolution.at Wed Jan 22 02:27:54 2014 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Wed, 22 Jan 2014 11:27:54 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DF9856.1050607@oracle.com> References: <52DF9856.1050607@oracle.com> Message-ID: <52DF9D2A.10203@bestsolution.at> On 22.01.14 11:07, Martin Sladecek wrote: > Hi all, > I would like to start discussion about an addition to API in Observable, > ObservableValue and all Observable collections. > There were multiple requests for a way how to avoid duplicates in > listeners lists. The way RT-25613 solves this is that it introduces > public boolean hasListener(ListenerType listener) which would return > true if the provided listener is already registered. > > This has one significant drawback that all of Observable* are actually > interfaces. Means we can only add hasListener as a defender method. The > problem is with the default implementation. We cannot return anything > meaningful, so we have to throw an UnsupportedOperationException. The > problem is that this might blow up unexpectedly when some "older" > Observable implementation is used. Also, it might be easy to miss when > implementing the interface, since the IDE might not force you to > implement it. > > So as an alternative solution, I propose adding something like: > > ensureListener(ListenerType listener) > > which would make sure the listener is on the list and if a listener is > already present, the number of times listener is registered on the > Observable will NOT grow after this call. > > The default implementation (for Observable) would look like this: > > public default void ensureListener(InvalidationListener listener) { > removeListener(listener); > addListener(listener); > } > > subclasses might do something more effective. The same would apply to > ObservableValue and ChangeListener and Observable[List|Set|Map] and > [List|Set|Map]ChangeListener. Well this would destroy the order! I expect listeners to be called in the correct order not? Why doing a remove and not simply check if the listener has already been added? Tom From randahl at rockit.dk Wed Jan 22 02:38:13 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 22 Jan 2014 11:38:13 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DF9CD7.7000308@oracle.com> References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> <52DF9CD7.7000308@oracle.com> Message-ID: <644ED3E0-C224-42E0-BEB5-46E3EAC646D0@rockit.dk> Hi Martin Then I respectfully disagree with this design decision. In my point of view, choosing performance over ease of use is rarely a good idea. Here, the performance choice has put us in a situation where no one knows how many JavaFX apps have duplicate listener bugs, and such bugs can be very hard to debug. Have anyone done any tests that prove that avoiding listener duplicates would lead to a severe performance impact? I understand, that if all observables had thousands of listeners and we searched for a possible duplicate using an inefficient linear search, we would have a problem. But if reality is that very few observables have more than 20 listeners and these could be stored in a map for efficient duplicate checking, then what is the problem? Yours Randahl On 22 Jan 2014, at 11:26, Martin Sladecek wrote: > The reason why this was decided this way is simple : performance. You usually don't (try to) add a listener twice, so in most cases it doesn't make sense to check for duplicates every time a listener is added. So we currently leave the burden of avoiding duplicates on the developer. > > -Martin > > On 01/22/2014 11:23 AM, Randahl Fink Isaksen wrote: >> Hi Martin >> >> While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: >> >> myObservable.addListener(myChangeListener); //add it >> myObservable.addListener(myChangeListener); //add it again >> >> In what kind of situation would this sort of code make any sense? >> >> If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. >> >> Yours >> >> Randahl >> >> >> >> >> On 22 Jan 2014, at 11:07, Martin Sladecek wrote: >> >>> Hi all, >>> I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. >>> There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. >>> >>> This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. >>> >>> So as an alternative solution, I propose adding something like: >>> >>> ensureListener(ListenerType listener) >>> >>> which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. >>> >>> The default implementation (for Observable) would look like this: >>> >>> public default void ensureListener(InvalidationListener listener) { >>> removeListener(listener); >>> addListener(listener); >>> } >>> >>> subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. >>> >>> What do you think? >>> >>> JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >>> >>> -Martin > From martin.sladecek at oracle.com Wed Jan 22 02:50:47 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 11:50:47 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DF9D2A.10203@bestsolution.at> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> Message-ID: <52DFA287.7000404@oracle.com> On 01/22/2014 11:27 AM, Tom Schindl wrote: > On 22.01.14 11:07, Martin Sladecek wrote: >> Hi all, >> I would like to start discussion about an addition to API in Observable, >> ObservableValue and all Observable collections. >> There were multiple requests for a way how to avoid duplicates in >> listeners lists. The way RT-25613 solves this is that it introduces >> public boolean hasListener(ListenerType listener) which would return >> true if the provided listener is already registered. >> >> This has one significant drawback that all of Observable* are actually >> interfaces. Means we can only add hasListener as a defender method. The >> problem is with the default implementation. We cannot return anything >> meaningful, so we have to throw an UnsupportedOperationException. The >> problem is that this might blow up unexpectedly when some "older" >> Observable implementation is used. Also, it might be easy to miss when >> implementing the interface, since the IDE might not force you to >> implement it. >> >> So as an alternative solution, I propose adding something like: >> >> ensureListener(ListenerType listener) >> >> which would make sure the listener is on the list and if a listener is >> already present, the number of times listener is registered on the >> Observable will NOT grow after this call. >> >> The default implementation (for Observable) would look like this: >> >> public default void ensureListener(InvalidationListener listener) { >> removeListener(listener); >> addListener(listener); >> } >> >> subclasses might do something more effective. The same would apply to >> ObservableValue and ChangeListener and Observable[List|Set|Map] and >> [List|Set|Map]ChangeListener. > Well this would destroy the order! I expect listeners to be called in > the correct order not? Why doing a remove and not simply check if the > listener has already been added? > > Tom Because there's no way to do it in the interface, hence the problem with hasListener default implementation. Yes, the order would be broken, but it's actually not guaranteed. Although FX internally uses a List, 3rd party implementations of Observable or ObservableValue might use a Set for listeners for example. This was the idea, but funnily enough, the current Observable javadoc is quite strict on the duplicates which would rule out the Set: /** * Adds an {@link InvalidationListener} which will be notified whenever the * {@code Observable} becomes invalid. If the same * listener is added more than once, then it will be notified more than * once. That is, no check is made to ensure uniqueness. Personally, I would rather make this requirement less strict and allow both List backed and Set backed implementations. -Martin From martin.sladecek at oracle.com Wed Jan 22 03:18:21 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 12:18:21 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <644ED3E0-C224-42E0-BEB5-46E3EAC646D0@rockit.dk> References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> <52DF9CD7.7000308@oracle.com> <644ED3E0-C224-42E0-BEB5-46E3EAC646D0@rockit.dk> Message-ID: <52DFA8FD.80106@oracle.com> On 01/22/2014 11:38 AM, Randahl Fink Isaksen wrote: > Hi Martin > > Then I respectfully disagree with this design decision. In my point of view, choosing performance over ease of use is rarely a good idea. Here, the performance choice has put us in a situation where no one knows how many JavaFX apps have duplicate listener bugs, and such bugs can be very hard to debug. > > Have anyone done any tests that prove that avoiding listener duplicates would lead to a severe performance impact? I'm not the original author of the Observable API, but I remember there were many performance tests back at the days before 2.0 release, esp. when such API decision was made. So likely, the tests were done, but the results were not archived or anything. > > I understand, that if all observables had thousands of listeners and we searched for a possible duplicate using an inefficient linear search, we would have a problem. But if reality is that very few observables have more than 20 listeners and these could be stored in a map for efficient duplicate checking, then what is the problem? Well it's always a balance between performance, dynamic footprint (a set/map for duplicates) and API. Having an API that extensively checks for all the mistakes a developer can do is an extreme case in the same manner as an API that does not check input at all. If a cleanup of some listeners is missing, it's a developer's bug (memory leak) no matter if there a duplicate listener check or not on the subsequent addListener call when the object becomes "valid" again (or whatnot). I understand your position, there are APIs I would also like to behave differently, but the decision was already made, it's too late for the discussion. There might be 3rd implementations that use a list a don't guarantee a duplicate check, we don't want to make them suddenly "broken". I also disagree that such bugs are hard to debug, a simple printout should do. In many cases it would likely just make a computations run more times than necessary. I can imagine doing a duplicate check on something like -Djavafx.debug=true. Regards, -Martin > > Yours > > Randahl > > > > On 22 Jan 2014, at 11:26, Martin Sladecek wrote: > >> The reason why this was decided this way is simple : performance. You usually don't (try to) add a listener twice, so in most cases it doesn't make sense to check for duplicates every time a listener is added. So we currently leave the burden of avoiding duplicates on the developer. >> >> -Martin >> >> On 01/22/2014 11:23 AM, Randahl Fink Isaksen wrote: >>> Hi Martin >>> >>> While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: >>> >>> myObservable.addListener(myChangeListener); //add it >>> myObservable.addListener(myChangeListener); //add it again >>> >>> In what kind of situation would this sort of code make any sense? >>> >>> If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. >>> >>> Yours >>> >>> Randahl >>> >>> >>> >>> >>> On 22 Jan 2014, at 11:07, Martin Sladecek wrote: >>> >>>> Hi all, >>>> I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. >>>> There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. >>>> >>>> This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. >>>> >>>> So as an alternative solution, I propose adding something like: >>>> >>>> ensureListener(ListenerType listener) >>>> >>>> which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. >>>> >>>> The default implementation (for Observable) would look like this: >>>> >>>> public default void ensureListener(InvalidationListener listener) { >>>> removeListener(listener); >>>> addListener(listener); >>>> } >>>> >>>> subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. >>>> >>>> What do you think? >>>> >>>> JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >>>> >>>> -Martin From richard.bair at oracle.com Wed Jan 22 03:30:29 2014 From: richard.bair at oracle.com (Richard Bair) Date: Wed, 22 Jan 2014 12:30:29 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DF9D2A.10203@bestsolution.at> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> Message-ID: <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> >> The default implementation (for Observable) would look like this: >> >> public default void ensureListener(InvalidationListener listener) { >> removeListener(listener); >> addListener(listener); >> } >> >> subclasses might do something more effective. The same would apply to >> ObservableValue and ChangeListener and Observable[List|Set|Map] and >> [List|Set|Map]ChangeListener. > > Well this would destroy the order! I expect listeners to be called in > the correct order not? That?s a good point :-( > Why doing a remove and not simply check if the > listener has already been added? Because there is no way to check, except in the implementation. From the Observable interface level, there is no way to a) force all implementations of the interface to implement the method correctly (without breaking source compatibility anyway), or b) to provide a reasonable default implementation. Maybe this is one of those things we can?t fix on the Observable interface and just have to provide implementations of on our concrete properties. Richard From randahl at rockit.dk Wed Jan 22 03:31:35 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 22 Jan 2014 12:31:35 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DFA8FD.80106@oracle.com> References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> <52DF9CD7.7000308@oracle.com> <644ED3E0-C224-42E0-BEB5-46E3EAC646D0@rockit.dk> <52DFA8FD.80106@oracle.com> Message-ID: <55A9EA7A-3974-4D44-BA43-EDE05BF49FF2@rockit.dk> I respect your point of view. Thank you for a thorough response. Randahl On 22 Jan 2014, at 12:18, Martin Sladecek wrote: > On 01/22/2014 11:38 AM, Randahl Fink Isaksen wrote: >> Hi Martin >> >> Then I respectfully disagree with this design decision. In my point of view, choosing performance over ease of use is rarely a good idea. Here, the performance choice has put us in a situation where no one knows how many JavaFX apps have duplicate listener bugs, and such bugs can be very hard to debug. >> >> Have anyone done any tests that prove that avoiding listener duplicates would lead to a severe performance impact? > I'm not the original author of the Observable API, but I remember there were many performance tests back at the days before 2.0 release, esp. when such API decision was made. So likely, the tests were done, but the results were not archived or anything. > >> >> I understand, that if all observables had thousands of listeners and we searched for a possible duplicate using an inefficient linear search, we would have a problem. But if reality is that very few observables have more than 20 listeners and these could be stored in a map for efficient duplicate checking, then what is the problem? > Well it's always a balance between performance, dynamic footprint (a set/map for duplicates) and API. Having an API that extensively checks for all the mistakes a developer can do is an extreme case in the same manner as an API that does not check input at all. If a cleanup of some listeners is missing, it's a developer's bug (memory leak) no matter if there a duplicate listener check or not on the subsequent addListener call when the object becomes "valid" again (or whatnot). > > I understand your position, there are APIs I would also like to behave differently, but the decision was already made, it's too late for the discussion. There might be 3rd implementations that use a list a don't guarantee a duplicate check, we don't want to make them suddenly "broken". > > I also disagree that such bugs are hard to debug, a simple printout should do. > In many cases it would likely just make a computations run more times than necessary. I can imagine doing a duplicate check on something like -Djavafx.debug=true. > > Regards, > -Martin > > >> >> Yours >> >> Randahl >> >> >> On 22 Jan 2014, at 11:26, Martin Sladecek wrote: >> >>> The reason why this was decided this way is simple : performance. You usually don't (try to) add a listener twice, so in most cases it doesn't make sense to check for duplicates every time a listener is added. So we currently leave the burden of avoiding duplicates on the developer. >>> >>> -Martin >>> >>> On 01/22/2014 11:23 AM, Randahl Fink Isaksen wrote: >>>> Hi Martin >>>> >>>> While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: >>>> >>>> myObservable.addListener(myChangeListener); //add it >>>> myObservable.addListener(myChangeListener); //add it again >>>> >>>> In what kind of situation would this sort of code make any sense? >>>> >>>> If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. >>>> >>>> Yours >>>> >>>> Randahl >>>> >>>> >>>> >>>> >>>> On 22 Jan 2014, at 11:07, Martin Sladecek wrote: >>>> >>>>> Hi all, >>>>> I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. >>>>> There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. >>>>> >>>>> This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. >>>>> >>>>> So as an alternative solution, I propose adding something like: >>>>> >>>>> ensureListener(ListenerType listener) >>>>> >>>>> which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. >>>>> >>>>> The default implementation (for Observable) would look like this: >>>>> >>>>> public default void ensureListener(InvalidationListener listener) { >>>>> removeListener(listener); >>>>> addListener(listener); >>>>> } >>>>> >>>>> subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. >>>>> >>>>> What do you think? >>>>> >>>>> JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >>>>> >>>>> -Martin > From tomas.mikula at gmail.com Wed Jan 22 03:32:13 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Wed, 22 Jan 2014 12:32:13 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DF9D2A.10203@bestsolution.at> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> Message-ID: On Wed, Jan 22, 2014 at 11:27 AM, Tom Schindl wrote: > On 22.01.14 11:07, Martin Sladecek wrote: > > Hi all, > > I would like to start discussion about an addition to API in Observable, > > ObservableValue and all Observable collections. > > There were multiple requests for a way how to avoid duplicates in > > listeners lists. The way RT-25613 solves this is that it introduces > > public boolean hasListener(ListenerType listener) which would return > > true if the provided listener is already registered. > > > > This has one significant drawback that all of Observable* are actually > > interfaces. Means we can only add hasListener as a defender method. The > > problem is with the default implementation. We cannot return anything > > meaningful, so we have to throw an UnsupportedOperationException. The > > problem is that this might blow up unexpectedly when some "older" > > Observable implementation is used. Also, it might be easy to miss when > > implementing the interface, since the IDE might not force you to > > implement it. > > > > So as an alternative solution, I propose adding something like: > > > > ensureListener(ListenerType listener) > > > > which would make sure the listener is on the list and if a listener is > > already present, the number of times listener is registered on the > > Observable will NOT grow after this call. > > > > The default implementation (for Observable) would look like this: > > > > public default void ensureListener(InvalidationListener listener) { > > removeListener(listener); > > addListener(listener); > > } > > > > subclasses might do something more effective. The same would apply to > > ObservableValue and ChangeListener and Observable[List|Set|Map] and > > [List|Set|Map]ChangeListener. > > Well this would destroy the order! I expect listeners to be called in > the correct order not? Why doing a remove and not simply check if the > listener has already been added? I, too, rely on the implementation detail that listeners are called in the order of registration. My code doesn't break as long as the internal JavaFX implementation keeps using Lists. I will just not use ensureListener() where the order matters. Tomas From martin.sladecek at oracle.com Wed Jan 22 04:15:22 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 13:15:22 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> Message-ID: <52DFB65A.9010002@oracle.com> On 01/22/2014 12:30 PM, Richard Bair wrote: >>> The default implementation (for Observable) would look like this: >>> >>> public default void ensureListener(InvalidationListener listener) { >>> removeListener(listener); >>> addListener(listener); >>> } >>> >>> subclasses might do something more effective. The same would apply to >>> ObservableValue and ChangeListener and Observable[List|Set|Map] and >>> [List|Set|Map]ChangeListener. >> Well this would destroy the order! I expect listeners to be called in >> the correct order not? > That?s a good point :-( > >> Why doing a remove and not simply check if the >> listener has already been added? > Because there is no way to check, except in the implementation. From the Observable interface level, there is no way to a) force all implementations of the interface to implement the method correctly (without breaking source compatibility anyway), or b) to provide a reasonable default implementation. > > Maybe this is one of those things we can?t fix on the Observable interface and just have to provide implementations of on our concrete properties. Unfortunately, this is not possible (without requiring users to cast). Most properties are exposed in API through ReadOnly*Property and *Property classes, which are abstract and do not have access to the listeners. Same with FX collections, an interface is returned from the API, not the base class. -Martin From usander at tesis.de Wed Jan 22 04:19:09 2014 From: usander at tesis.de (Uwe Sander) Date: Wed, 22 Jan 2014 13:19:09 +0100 Subject: Monocle with VNC for Jenkins [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <52DF762C.6080406@tbee.org> Message-ID: <3118294978-4044@mail.tesis.de> Hi, I'm interested in headless testing, too. I tried to use StubToolkit for including TestFX tests in a headless build, but all I got was a CNFE. If anyone is interested to give me a hand on this, details can be found at http://stackoverflow.com/questions/21137039/how-to-use-stubtoolkit-instead-of-quantum-toolkit-for-my-javafx-application. As Tom explained, Monocle would provide another way for headless testing. Does it replace StubToolkit? Cheers, Uwe Tom Eugelink , 22/1/2014 8:46 AM: What also is very interesting is headless testing. Let me see if I'm getting this. Normally Jenkins would start a VNC server (xvnc), which provides some kind of graphics API against which an UI program can paint. JavaFX is not picking that up however. But, as I read it, in this case JavaFX starts its own VNC server, so it takes of everything itself. All one would need to do is specify the ? ? -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw And additionally a port to run the VNC server on (so multiple Jenkins jobs don't interfere). Am I correct? How can I test this (aka in which version is the VNC server available)? Tom From tomas.mikula at gmail.com Wed Jan 22 04:34:44 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Wed, 22 Jan 2014 13:34:44 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> Message-ID: Hi Randahl, I'm curious about an example where you would take advantage of the behavior where multiple addListener(listener) calls add the listener just once. Anyway, here [1] are helper classes InvalidationSubscriber and ChangeSubscriber that allow you to do that: InvalidationSubscriber subscriber = new InvalidationSubscriber(observable, listener); subscriber.subscribe(); // registers the listener subscriber.subscribe(); // no-op Cheers, Tomas [1] https://gist.github.com/TomasMikula/8557825 On Wed, Jan 22, 2014 at 11:23 AM, Randahl Fink Isaksen wrote: > Hi Martin > > While I agree your proposed solution would work, I still don?t understand > why JavaFX should keep on supporting duplicates in listener collections. > Can anyone come up with just 1 example of an application that might be > depending on having two listeners on the same Observable? E.g. this kind of > code: > > myObservable.addListener(myChangeListener); //add it > myObservable.addListener(myChangeListener); //add it again > > In what kind of situation would this sort of code make any sense? > > If we all feel confident that the presence of duplicates listeners is > always an error, I warmly recommend changing the API to be duplicate free. > > Yours > > Randahl > > > > > On 22 Jan 2014, at 11:07, Martin Sladecek > wrote: > > > Hi all, > > I would like to start discussion about an addition to API in Observable, > ObservableValue and all Observable collections. > > There were multiple requests for a way how to avoid duplicates in > listeners lists. The way RT-25613 solves this is that it introduces public > boolean hasListener(ListenerType listener) which would return true if the > provided listener is already registered. > > > > This has one significant drawback that all of Observable* are actually > interfaces. Means we can only add hasListener as a defender method. The > problem is with the default implementation. We cannot return anything > meaningful, so we have to throw an UnsupportedOperationException. The > problem is that this might blow up unexpectedly when some "older" > Observable implementation is used. Also, it might be easy to miss when > implementing the interface, since the IDE might not force you to implement > it. > > > > So as an alternative solution, I propose adding something like: > > > > ensureListener(ListenerType listener) > > > > which would make sure the listener is on the list and if a listener is > already present, the number of times listener is registered on the > Observable will NOT grow after this call. > > > > The default implementation (for Observable) would look like this: > > > > public default void ensureListener(InvalidationListener listener) { > > removeListener(listener); > > addListener(listener); > > } > > > > subclasses might do something more effective. The same would apply to > ObservableValue and ChangeListener and Observable[List|Set|Map] and > [List|Set|Map]ChangeListener. > > > > What do you think? > > > > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 > > > > -Martin > > From martin.sladecek at oracle.com Wed Jan 22 04:45:07 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 13:45:07 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> Message-ID: <52DFBD53.10902@oracle.com> On 01/22/2014 12:30 PM, Richard Bair wrote: >>> The default implementation (for Observable) would look like this: >>> >>> public default void ensureListener(InvalidationListener listener) { >>> removeListener(listener); >>> addListener(listener); >>> } >>> >>> subclasses might do something more effective. The same would apply to >>> ObservableValue and ChangeListener and Observable[List|Set|Map] and >>> [List|Set|Map]ChangeListener. >> Well this would destroy the order! I expect listeners to be called in >> the correct order not? > That?s a good point :-( Actually even when you would rely on the order, in situations when you call ensureListener, you don't really know if the listener is already there. So you might really expect that listener would be added at this point as the last. It's just that will always be the outcome if the default implementation is used. -Martin From tom.schindl at bestsolution.at Wed Jan 22 04:47:09 2014 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Wed, 22 Jan 2014 13:47:09 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <52DFBD53.10902@oracle.com> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> <52DFBD53.10902@oracle.com> Message-ID: <52DFBDCD.3000101@bestsolution.at> [...] > Actually even when you would rely on the order, in situations when you > call ensureListener, you don't really know if the listener is already > there. So you might really expect that listener would be added at this > point as the last. It's just that will always be the outcome if the > default implementation is used. It would be even worse if this would be different in none default implementations. Tom From randahl at rockit.dk Wed Jan 22 04:59:18 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 22 Jan 2014 13:59:18 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> Message-ID: Hi Tomas Great idea! I can see how the InvalidationSubscriber idea would work ? but it is just a concept right? There is no official API for this, right? Randahl On 22 Jan 2014, at 13:34, Tomas Mikula wrote: > Hi Randahl, > > I'm curious about an example where you would take advantage of the behavior where multiple addListener(listener) calls add the listener just once. > > Anyway, here [1] are helper classes InvalidationSubscriber and ChangeSubscriber that allow you to do that: > > InvalidationSubscriber subscriber = new InvalidationSubscriber(observable, listener); > > subscriber.subscribe(); // registers the listener > subscriber.subscribe(); // no-op > > Cheers, > Tomas > > [1] https://gist.github.com/TomasMikula/8557825 > > On Wed, Jan 22, 2014 at 11:23 AM, Randahl Fink Isaksen wrote: > Hi Martin > > While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: > > myObservable.addListener(myChangeListener); //add it > myObservable.addListener(myChangeListener); //add it again > > In what kind of situation would this sort of code make any sense? > > If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. > > Yours > > Randahl > > > > > On 22 Jan 2014, at 11:07, Martin Sladecek wrote: > > > Hi all, > > I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. > > There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. > > > > This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. > > > > So as an alternative solution, I propose adding something like: > > > > ensureListener(ListenerType listener) > > > > which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. > > > > The default implementation (for Observable) would look like this: > > > > public default void ensureListener(InvalidationListener listener) { > > removeListener(listener); > > addListener(listener); > > } > > > > subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. > > > > What do you think? > > > > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 > > > > -Martin > > From randahl at rockit.dk Wed Jan 22 05:11:31 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 22 Jan 2014 14:11:31 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> Message-ID: <2061D9F4-94BC-4348-AA1D-56A7FA771711@rockit.dk> Hi Tomas About the example you request: Say you and I implemented a computer game with spaceships on screen, and lets imagine that these spaceships attacked in groups. Everytime a spaceship was added to a group, we wanted to listen to a property of that spaceship from that point in time and until eternity. Then, imagine we took out a spaceship from the group. We still wanted to listen to a property of the spaceship, but now it was no longer part of the group. Then, imagine we added the same spaceship to the same group once more. At this point, we don?t know if we have added the spaceship before, so when we write spaceship.someProperty.addListener(ourListener); we suddenly have ourListener added twice to the property. I know we can write removeListener(ourListener) followed by addListener(ourListener), and while that would work, I would much rather have the listener list ensure that there are no duplicates, since I believe that it is always a bug to register the same listener twice. Yours Randahl On 22 Jan 2014, at 13:34, Tomas Mikula wrote: > Hi Randahl, > > I'm curious about an example where you would take advantage of the behavior where multiple addListener(listener) calls add the listener just once. > > Anyway, here [1] are helper classes InvalidationSubscriber and ChangeSubscriber that allow you to do that: > > InvalidationSubscriber subscriber = new InvalidationSubscriber(observable, listener); > > subscriber.subscribe(); // registers the listener > subscriber.subscribe(); // no-op > > Cheers, > Tomas > > [1] https://gist.github.com/TomasMikula/8557825 > > On Wed, Jan 22, 2014 at 11:23 AM, Randahl Fink Isaksen wrote: > Hi Martin > > While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: > > myObservable.addListener(myChangeListener); //add it > myObservable.addListener(myChangeListener); //add it again > > In what kind of situation would this sort of code make any sense? > > If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. > > Yours > > Randahl > > > > > On 22 Jan 2014, at 11:07, Martin Sladecek wrote: > > > Hi all, > > I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. > > There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. > > > > This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. > > > > So as an alternative solution, I propose adding something like: > > > > ensureListener(ListenerType listener) > > > > which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. > > > > The default implementation (for Observable) would look like this: > > > > public default void ensureListener(InvalidationListener listener) { > > removeListener(listener); > > addListener(listener); > > } > > > > subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. > > > > What do you think? > > > > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 > > > > -Martin > > From ali.ebrahimi1781 at gmail.com Wed Jan 22 05:20:51 2014 From: ali.ebrahimi1781 at gmail.com (Ali Ebrahimi) Date: Wed, 22 Jan 2014 16:50:51 +0330 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> References: <52DF9856.1050607@oracle.com> <52DF9D2A.10203@bestsolution.at> <0F993A53-896B-4446-BD6E-0C5AAE975361@oracle.com> Message-ID: I suggest adding another overload for addListener method taking boolean parameter "duplicateAllowed" or "duplicateNotAllowed". On Wed, Jan 22, 2014 at 3:00 PM, Richard Bair wrote: > >> The default implementation (for Observable) would look like this: > >> > >> public default void ensureListener(InvalidationListener listener) { > >> removeListener(listener); > >> addListener(listener); > >> } > >> > >> subclasses might do something more effective. The same would apply to > >> ObservableValue and ChangeListener and Observable[List|Set|Map] and > >> [List|Set|Map]ChangeListener. > > > > Well this would destroy the order! I expect listeners to be called in > > the correct order not? > > That?s a good point :-( > > > Why doing a remove and not simply check if the > > listener has already been added? > > Because there is no way to check, except in the implementation. From the > Observable interface level, there is no way to a) force all implementations > of the interface to implement the method correctly (without breaking source > compatibility anyway), or b) to provide a reasonable default implementation. > > Maybe this is one of those things we can?t fix on the Observable interface > and just have to provide implementations of on our concrete properties. > > Richard From tomas.mikula at gmail.com Wed Jan 22 05:24:59 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Wed, 22 Jan 2014 14:24:59 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> Message-ID: There is no official API. You are free to copy-paste the code from the link I posted to your project. On Wed, Jan 22, 2014 at 1:59 PM, Randahl Fink Isaksen wrote: > Hi Tomas > > Great idea! I can see how the InvalidationSubscriber idea would work ? but > it is just a concept right? There is no official API for this, right? > > Randahl > > > > > > On 22 Jan 2014, at 13:34, Tomas Mikula wrote: > > Hi Randahl, > > I'm curious about an example where you would take advantage of the > behavior where multiple addListener(listener) calls add the listener just > once. > > Anyway, here [1] are helper classes InvalidationSubscriber and > ChangeSubscriber that allow you to do that: > > InvalidationSubscriber subscriber = new InvalidationSubscriber(observable, > listener); > > subscriber.subscribe(); // registers the listener > subscriber.subscribe(); // no-op > > Cheers, > Tomas > > [1] https://gist.github.com/TomasMikula/8557825 > > On Wed, Jan 22, 2014 at 11:23 AM, Randahl Fink Isaksen wrote: > >> Hi Martin >> >> While I agree your proposed solution would work, I still don?t understand >> why JavaFX should keep on supporting duplicates in listener collections. >> Can anyone come up with just 1 example of an application that might be >> depending on having two listeners on the same Observable? E.g. this kind of >> code: >> >> myObservable.addListener(myChangeListener); //add it >> myObservable.addListener(myChangeListener); //add it again >> >> In what kind of situation would this sort of code make any sense? >> >> If we all feel confident that the presence of duplicates listeners is >> always an error, I warmly recommend changing the API to be duplicate free. >> >> Yours >> >> Randahl >> >> >> >> >> On 22 Jan 2014, at 11:07, Martin Sladecek >> wrote: >> >> > Hi all, >> > I would like to start discussion about an addition to API in >> Observable, ObservableValue and all Observable collections. >> > There were multiple requests for a way how to avoid duplicates in >> listeners lists. The way RT-25613 solves this is that it introduces public >> boolean hasListener(ListenerType listener) which would return true if the >> provided listener is already registered. >> > >> > This has one significant drawback that all of Observable* are actually >> interfaces. Means we can only add hasListener as a defender method. The >> problem is with the default implementation. We cannot return anything >> meaningful, so we have to throw an UnsupportedOperationException. The >> problem is that this might blow up unexpectedly when some "older" >> Observable implementation is used. Also, it might be easy to miss when >> implementing the interface, since the IDE might not force you to implement >> it. >> > >> > So as an alternative solution, I propose adding something like: >> > >> > ensureListener(ListenerType listener) >> > >> > which would make sure the listener is on the list and if a listener is >> already present, the number of times listener is registered on the >> Observable will NOT grow after this call. >> > >> > The default implementation (for Observable) would look like this: >> > >> > public default void ensureListener(InvalidationListener listener) { >> > removeListener(listener); >> > addListener(listener); >> > } >> > >> > subclasses might do something more effective. The same would apply to >> ObservableValue and ChangeListener and Observable[List|Set|Map] and >> [List|Set|Map]ChangeListener. >> > >> > What do you think? >> > >> > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >> > >> > -Martin >> >> > > From tomas.mikula at gmail.com Wed Jan 22 05:29:51 2014 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Wed, 22 Jan 2014 14:29:51 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: <2061D9F4-94BC-4348-AA1D-56A7FA771711@rockit.dk> References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> <2061D9F4-94BC-4348-AA1D-56A7FA771711@rockit.dk> Message-ID: Thanks for an example. I imagined something analogous to your example, but the part I'm curious about is this "We still wanted to listen to a property of the spaceship, but now it was no longer part of the group." Why would you want to keep listening to that spaceship after removal from the group? Regards, Tomas On Wed, Jan 22, 2014 at 2:11 PM, Randahl Fink Isaksen wrote: > Hi Tomas > > About the example you request: Say you and I implemented a computer game > with spaceships on screen, and lets imagine that these spaceships attacked > in groups. Everytime a spaceship was added to a group, we wanted to listen > to a property of that spaceship from that point in time and until eternity. > Then, imagine we took out a spaceship from the group. We still wanted to > listen to a property of the spaceship, but now it was no longer part of the > group. Then, imagine we added the same spaceship to the same group once > more. At this point, we don?t know if we have added the spaceship before, > so when we write > > spaceship.someProperty.addListener(ourListener); > > we suddenly have ourListener added twice to the property. > > I know we can write removeListener(ourListener) followed by > addListener(ourListener), and while that would work, I would much rather > have the listener list ensure that there are no duplicates, since I believe > that it is always a bug to register the same listener twice. > > Yours > > Randahl > > > > On 22 Jan 2014, at 13:34, Tomas Mikula wrote: > > Hi Randahl, > > I'm curious about an example where you would take advantage of the > behavior where multiple addListener(listener) calls add the listener just > once. > > Anyway, here [1] are helper classes InvalidationSubscriber and > ChangeSubscriber that allow you to do that: > > InvalidationSubscriber subscriber = new InvalidationSubscriber(observable, > listener); > > subscriber.subscribe(); // registers the listener > subscriber.subscribe(); // no-op > > Cheers, > Tomas > > [1] https://gist.github.com/TomasMikula/8557825 > > On Wed, Jan 22, 2014 at 11:23 AM, Randahl Fink Isaksen wrote: > >> Hi Martin >> >> While I agree your proposed solution would work, I still don?t understand >> why JavaFX should keep on supporting duplicates in listener collections. >> Can anyone come up with just 1 example of an application that might be >> depending on having two listeners on the same Observable? E.g. this kind of >> code: >> >> myObservable.addListener(myChangeListener); //add it >> myObservable.addListener(myChangeListener); //add it again >> >> In what kind of situation would this sort of code make any sense? >> >> If we all feel confident that the presence of duplicates listeners is >> always an error, I warmly recommend changing the API to be duplicate free. >> >> Yours >> >> Randahl >> >> >> >> >> On 22 Jan 2014, at 11:07, Martin Sladecek >> wrote: >> >> > Hi all, >> > I would like to start discussion about an addition to API in >> Observable, ObservableValue and all Observable collections. >> > There were multiple requests for a way how to avoid duplicates in >> listeners lists. The way RT-25613 solves this is that it introduces public >> boolean hasListener(ListenerType listener) which would return true if the >> provided listener is already registered. >> > >> > This has one significant drawback that all of Observable* are actually >> interfaces. Means we can only add hasListener as a defender method. The >> problem is with the default implementation. We cannot return anything >> meaningful, so we have to throw an UnsupportedOperationException. The >> problem is that this might blow up unexpectedly when some "older" >> Observable implementation is used. Also, it might be easy to miss when >> implementing the interface, since the IDE might not force you to implement >> it. >> > >> > So as an alternative solution, I propose adding something like: >> > >> > ensureListener(ListenerType listener) >> > >> > which would make sure the listener is on the list and if a listener is >> already present, the number of times listener is registered on the >> Observable will NOT grow after this call. >> > >> > The default implementation (for Observable) would look like this: >> > >> > public default void ensureListener(InvalidationListener listener) { >> > removeListener(listener); >> > addListener(listener); >> > } >> > >> > subclasses might do something more effective. The same would apply to >> ObservableValue and ChangeListener and Observable[List|Set|Map] and >> [List|Set|Map]ChangeListener. >> > >> > What do you think? >> > >> > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >> > >> > -Martin >> >> > > From randahl at rockit.dk Wed Jan 22 05:36:41 2014 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 22 Jan 2014 14:36:41 +0100 Subject: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method In-Reply-To: References: <52DF9856.1050607@oracle.com> <66108DFC-537D-4C15-8107-DDD2AD6D1195@rockit.dk> <2061D9F4-94BC-4348-AA1D-56A7FA771711@rockit.dk> Message-ID: <58D2CF86-B772-41E0-964A-E759C4BA6FC6@rockit.dk> Well it is just an fictive example. But for instance, there could be game rules that required us to listen to the energyPoints of all spaceships that had ever been part of the group. Perhaps the group would dissolve if more than 10 spaceships that had ever been part of the group where shot down. There could be many reasons why, and I certainly don?t think JavaFX should keep us from avoiding duplicate listeners. Yours Randahl On 22 Jan 2014, at 14:29, Tomas Mikula wrote: > Thanks for an example. I imagined something analogous to your example, but the part I'm curious about is this > > "We still wanted to listen to a property of the spaceship, but now it was no longer part of the group." > > Why would you want to keep listening to that spaceship after removal from the group? > > Regards, > Tomas > > > On Wed, Jan 22, 2014 at 2:11 PM, Randahl Fink Isaksen wrote: > Hi Tomas > > About the example you request: Say you and I implemented a computer game with spaceships on screen, and lets imagine that these spaceships attacked in groups. Everytime a spaceship was added to a group, we wanted to listen to a property of that spaceship from that point in time and until eternity. Then, imagine we took out a spaceship from the group. We still wanted to listen to a property of the spaceship, but now it was no longer part of the group. Then, imagine we added the same spaceship to the same group once more. At this point, we don?t know if we have added the spaceship before, so when we write > > spaceship.someProperty.addListener(ourListener); > > we suddenly have ourListener added twice to the property. > > I know we can write removeListener(ourListener) followed by addListener(ourListener), and while that would work, I would much rather have the listener list ensure that there are no duplicates, since I believe that it is always a bug to register the same listener twice. > > Yours > > Randahl > > > > On 22 Jan 2014, at 13:34, Tomas Mikula wrote: > >> Hi Randahl, >> >> I'm curious about an example where you would take advantage of the behavior where multiple addListener(listener) calls add the listener just once. >> >> Anyway, here [1] are helper classes InvalidationSubscriber and ChangeSubscriber that allow you to do that: >> >> InvalidationSubscriber subscriber = new InvalidationSubscriber(observable, listener); >> >> subscriber.subscribe(); // registers the listener >> subscriber.subscribe(); // no-op >> >> Cheers, >> Tomas >> >> [1] https://gist.github.com/TomasMikula/8557825 >> >> On Wed, Jan 22, 2014 at 11:23 AM, Randahl Fink Isaksen wrote: >> Hi Martin >> >> While I agree your proposed solution would work, I still don?t understand why JavaFX should keep on supporting duplicates in listener collections. Can anyone come up with just 1 example of an application that might be depending on having two listeners on the same Observable? E.g. this kind of code: >> >> myObservable.addListener(myChangeListener); //add it >> myObservable.addListener(myChangeListener); //add it again >> >> In what kind of situation would this sort of code make any sense? >> >> If we all feel confident that the presence of duplicates listeners is always an error, I warmly recommend changing the API to be duplicate free. >> >> Yours >> >> Randahl >> >> >> >> >> On 22 Jan 2014, at 11:07, Martin Sladecek wrote: >> >> > Hi all, >> > I would like to start discussion about an addition to API in Observable, ObservableValue and all Observable collections. >> > There were multiple requests for a way how to avoid duplicates in listeners lists. The way RT-25613 solves this is that it introduces public boolean hasListener(ListenerType listener) which would return true if the provided listener is already registered. >> > >> > This has one significant drawback that all of Observable* are actually interfaces. Means we can only add hasListener as a defender method. The problem is with the default implementation. We cannot return anything meaningful, so we have to throw an UnsupportedOperationException. The problem is that this might blow up unexpectedly when some "older" Observable implementation is used. Also, it might be easy to miss when implementing the interface, since the IDE might not force you to implement it. >> > >> > So as an alternative solution, I propose adding something like: >> > >> > ensureListener(ListenerType listener) >> > >> > which would make sure the listener is on the list and if a listener is already present, the number of times listener is registered on the Observable will NOT grow after this call. >> > >> > The default implementation (for Observable) would look like this: >> > >> > public default void ensureListener(InvalidationListener listener) { >> > removeListener(listener); >> > addListener(listener); >> > } >> > >> > subclasses might do something more effective. The same would apply to ObservableValue and ChangeListener and Observable[List|Set|Map] and [List|Set|Map]ChangeListener. >> > >> > What do you think? >> > >> > JIRA link: https://javafx-jira.kenai.com/browse/RT-25613 >> > >> > -Martin >> >> > > From martin.sladecek at oracle.com Wed Jan 22 05:40:54 2014 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Wed, 22 Jan 2014 14:40:54 +0100 Subject: [8u] Review Request: RT-35462,A controller with private fields gets broken when it's subclass is used as a fxml controller Message-ID: <52DFCA66.4030004@oracle.com> Hi David, please review: http://cr.openjdk.java.net/~msladecek/rt-35462/webrev https://javafx-jira.kenai.com/browse/RT-35462 Thanks, -Martin From daniel.blaukopf at oracle.com Wed Jan 22 05:41:42 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Wed, 22 Jan 2014 15:41:42 +0200 Subject: Monocle with VNC for Jenkins [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <52DF762C.6080406@tbee.org> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEDE43.3010507@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEF884.70106@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DF762C.6080406@tbee.org> Message-ID: Hi Tom, You have it right. Currently the VNC server is always running on port 5901, but feel free to open a JIRA to change that. If you want to test this today you need to build OpenJFX yourself (https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX). We don?t have snapshots of 8u20 on java.net yet, although I hope we will soon. Thanks, Daniel On Jan 22, 2014, at 9:41 AM, Tom Eugelink wrote: > > What also is very interesting is headless testing. Let me see if I'm getting this. > > Normally Jenkins would start a VNC server (xvnc), which provides some kind of graphics API against which an UI program can paint. JavaFX is not picking that up however. > But, as I read it, in this case JavaFX starts its own VNC server, so it takes of everything itself. All one would need to do is specify the > > -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw > > And additionally a port to run the VNC server on (so multiple Jenkins jobs don't interfere). > > Am I correct? How can I test this (aka in which version is the VNC server available)? > > Tom > > From daniel.blaukopf at oracle.com Wed Jan 22 05:48:36 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Wed, 22 Jan 2014 15:48:36 +0200 Subject: Monocle with VNC for Jenkins [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <3118294978-4044@mail.tesis.de> References: <3118294978-4044@mail.tesis.de> Message-ID: Hi Uwe, On Jan 22, 2014, at 2:19 PM, Uwe Sander wrote: > Hi, > > I'm interested in headless testing, too. I tried to use StubToolkit for including TestFX tests in a headless build, but all I got was a CNFE. If anyone is interested to give me a hand on this, details can be found at http://stackoverflow.com/questions/21137039/how-to-use-stubtoolkit-instead-of-quantum-toolkit-for-my-javafx-application. > > As Tom explained, Monocle would provide another way for headless testing. Does it replace StubToolkit? Monocle uses the same Quantum toolkit that other JavaFX implementation use - not StubToolkit, which is only used in testing. As I see it, there is a place for tests using StubToolkit, and a place for tests using a real Toolkit implementation. For example, QuantumToolkit has a very specific threading model, but this is not enforced by StubToolkit. StubToolkit is useful for isolated tests of the upper parts of the JavaFX stack. For a real application you need to test on a real Toolkit, and headless Monocle is one way to do that. We have https://javafx-jira.kenai.com/browse/RT-35330 open on removing StubToolkit. I?m not convinced that is the right thing to do. https://javafx-jira.kenai.com/browse/RT-35396 would open up possibilities for a new class of automated test, without requiring us to rewrite existing tests that use StubToolkit. Thanks, Daniel > > Cheers, > Uwe > > > > > Tom Eugelink , 22/1/2014 8:46 AM: > > What also is very interesting is headless testing. Let me see if I'm getting this. > > Normally Jenkins would start a VNC server (xvnc), which provides some kind of graphics API against which an UI program can paint. JavaFX is not picking that up however. > But, as I read it, in this case JavaFX starts its own VNC server, so it takes of everything itself. All one would need to do is specify the > > -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw > > And additionally a port to run the VNC server on (so multiple Jenkins jobs don't interfere). > > Am I correct? How can I test this (aka in which version is the VNC server available)? > > Tom > > From tbee at tbee.org Wed Jan 22 05:55:15 2014 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 22 Jan 2014 14:55:15 +0100 Subject: Monocle with VNC for Jenkins [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEDE43.3010507@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEF884.70106@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DF762C.6080406@tbee.org> Message-ID: <52DFCDC3.7070806@tbee.org> https://javafx-jira.kenai.com/browse/RT-35473 On 2014-1-22 14:41, Daniel Blaukopf wrote: > Hi Tom, > > You have it right. Currently the VNC server is always running on port 5901, but feel free to open a JIRA to change that. > > If you want to test this today you need to build OpenJFX yourself (https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX). We don?t have snapshots of 8u20 on java.net yet, although I hope we will soon. > > Thanks, > Daniel > > On Jan 22, 2014, at 9:41 AM, Tom Eugelink wrote: > >> What also is very interesting is headless testing. Let me see if I'm getting this. >> >> Normally Jenkins would start a VNC server (xvnc), which provides some kind of graphics API against which an UI program can paint. JavaFX is not picking that up however. >> But, as I read it, in this case JavaFX starts its own VNC server, so it takes of everything itself. All one would need to do is specify the >> >> -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw >> >> And additionally a port to run the VNC server on (so multiple Jenkins jobs don't interfere). >> >> Am I correct? How can I test this (aka in which version is the VNC server available)? >> >> Tom >> >> From daniel.blaukopf at oracle.com Wed Jan 22 05:57:34 2014 From: daniel.blaukopf at oracle.com (Daniel Blaukopf) Date: Wed, 22 Jan 2014 15:57:34 +0200 Subject: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <20140121135001.4CCA7625EC@hg.openjdk.java.net> <411E73D23DEC4C46BA48F2B6D8BF3D22168FA66EC1@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEDE43.3010507@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BAD5@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <52DEF884.70106@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D22168FC4BB50@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: <725D5A2B-300A-45D2-98BA-896B2FEBA36F@oracle.com> Thanks John! I agree that in an IoT environment where you can have many devices, a central gateway and a fast local network, a solution based on remote display could work well. Daniel On Jan 22, 2014, at 1:07 AM, John Smith wrote: > Monocle is a very interesting and exciting development for the JavaFX team. > > I think that it is an avenue of approach which may help enable the development of various innovative solutions, both in providing access to JavaFX applications through traditional web UIs or providing remote GUI access to myriad small devices which make up the Internet of Things. > > ? Since WebSockets are part of Java EE I don't think this is something that could be part of the standard JavaFX build > > Yes, I agree. There are some excellent existing WebSocket solutions for Java, such as Tyrus https://tyrus.java.net/ and Kaazing. Though the WebSocket protocol is simple to users, there are many tricky pitfalls in creating a robust WebSocket server, so using those complete and well-tested solutions is the best route. As the client app would actually be installed on the server much like a normal JEE app, using a standard JEE lib is perfectly appropriate I think. The tricky part (at least for me) would be to take the VNC (or OpenGL) commands and tunnel them through a WebSocket system. > > Anyway, something to think about in my spare time. > > Thanks a lot for the replies and posting to the list Daniel. > > John > > From: Daniel Blaukopf [mailto:daniel.blaukopf at oracle.com] > Sent: Tuesday, January 21, 2014 2:45 PM > To: John Smith; openjfx-dev at openjdk.java.net > Subject: Re: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] > > Hi John, > > On 01/22/2014 12:24 AM, John Smith wrote: > Would it be possible to develop a web based VNC client rendering to HTML canvas that connects to the Monocle VNC server over WebSockets such as that discussed in Kanaka?s answer here: http://stackoverflow.com/a/3902817/1155209? > > I?m just interested in the feasibility of the approach as a basis for future development of a potential 3rd party JavaFX app deployment solution outside of JavaFX core. > I understand that this is probably not the primary reason the Monocle VNC work was implemented, but I?m curious if it could be repurposed for this mechanism. > Essentially, my goal here is to enable AppStreaming JavaFX http://aws.amazon.com/appstream/ without requiring a proprietary amazon solution. > > In your opinion, would such a solution be a feasible basis for developing a distribution mechanism for JavaFX applications which does not require anything on the client outside of an HTML5 compliant browser? > > It would absolutely be feasible, although the lag would probably be annoying. Since WebSockets are part of Java EE I don't think this is something that could be part of the standard JavaFX build, but Monocle allows for pluggable screen implementations and it shouldn't be much work to modify VNCScreen.java to do this. Alternatively we could put just enough of an implementation of WebSockets in VNCScreen to be able to talk to the browser directly. Fromhttp://www.websocket.org/aboutwebsocket.html the protocol doesn't look complicated. Unless you need a secure authenticated connection of course, in which case the answer would have to be Java EE. > > However, what would be 100x better in terms of perfomance would be to stream the OpenGL commands to a WebGL client. We'd still have the lag though. We did an experiment for a few days last month in the JavaFX team with marshalling up OpenGL calls into a stream and sending them down the wire to a client doing the rendering on another device, and the performance looked promising. A bit like http://sourceforge.net/projects/virtualgl/, but without the video stream. > > Thanks, > Daniel > > > Thanks, > John > > From: Daniel Blaukopf [mailto:daniel.blaukopf at oracle.com] > Sent: Tuesday, January 21, 2014 12:53 PM > To: John Smith; openjfx-dev at openjdk.java.net > Subject: Monocle with VNC [was: Re: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end] > > Hi John, > > This is a mostly complete implementation of Glass that instead of rendering to the screen, renders to an offscreen buffer and serves the buffer up to clients using the RFB protocol. So you should be able to connect to it with most VNC clients, although I haven't been able to get it to work with desktop sharing on the Mac. You can also provide mouse input to JavaFX using the VNC client. > > To use (BTW, this is noted in the JIRA https://javafx-jira.kenai.com/browse/RT-35441): > > Run with: -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw > > Connect with a VNC client to port 5901. I used TigerVNC (http://sourceforge.net/projects/tigervnc/files/) since the OS X desktop sharing client didn't like the 15-year old version of the RFB protocol that VNCScreen.java implements. > > As noted in the JIRA, I think it would make sense to do what Dave Hill previously did in Lens and make the VNC server an option in all embedded back-ends instead of requiring the user to make a choice between having a local display or a remote display. So there would be Linux framebuffer with a VNC server option, EGL framebuffer with a VNC server option and headless with a VNC server option. > > Thanks, > Daniel > > On 01/21/2014 08:46 PM, John Smith wrote: > What does the VNC backend for Monocle do and how can it be used? > > -----Original Message----- > From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of hang.vo at oracle.com > Sent: Tuesday, January 21, 2014 5:48 AM > To: openjfx-dev at openjdk.java.net > Subject: hg: openjfx/8u-dev/rt: RT-35441 [Monocle] Provide a VNC back-end > > Changeset: ebf7575491e0 > Author: Daniel Blaukopf > Date: 2014-01-21 15:43 +0200 > URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/ebf7575491e0 > > RT-35441 [Monocle] Provide a VNC back-end > > ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/Framebuffer.java > ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java > ! modules/graphics/src/main/java/com/sun/glass/ui/monocle/headless/HeadlessScreen.java > + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatfor > + m.java > + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc/VNCPlatfor > + mFactory.java > + modules/graphics/src/main/java/com/sun/glass/ui/monocle/vnc