hg: openjfx/8/graphics/rt: RT-32032 Android: VM hangs when application finishes.

2013-08-06 Thread hang . vo
Changeset: 521cced8d920
Author:tb115823 tomas.branda...@oracle.com
Date:  2013-08-06 08:26 +0200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/521cced8d920

RT-32032 Android: VM hangs when application finishes.
Detach correctly all threads.
Send notification to FXActivity that VM has shutdown.

! modules/graphics/src/android/java/com/oracle/dalvik/FXActivity.java
! modules/graphics/src/android/java/com/oracle/dalvik/NativePipeReader.java
! modules/graphics/src/android/java/com/oracle/dalvik/VMLauncher.java
! modules/graphics/src/main/native-glass/lens/android/android.c
! modules/graphics/src/main/native-glass/lens/android/android.h
! modules/graphics/src/main/native-glass/lens/input/android/androidInput.c
! modules/graphics/src/main/native-glass/lens/input/android/androidInput.h
! modules/graphics/src/main/native-glass/lens/input/android/androidLens.c



Re: Build failures

2013-08-06 Thread Ben Evans
On Thu, Aug 1, 2013 at 8:11 PM, Richard Bair richard.b...@oracle.comwrote:

 By the way, can I suggest moving away from the forest hg extension - it's
 no longer supported  can't be made to work reliably on Mac.


 Which page did you see this one? I see this on the Building OpenJFX wiki
 page:

 (Note: Historically you also had to clone the jfx repository in the
 forest that you cared about. However we have modified our approach, such
 that we no longer promote the use of a forest, and instead are putting all
 of our sources in a single repository, presently named rt).

 We actually don't use the forest extension on OpenJFX at all anymore, if
 we're still referring to it on a page I'll fix it.


It's in the README.



 Also, are you using the OpenJFX master, or OpenJFX Controls or OpenJFX
 graphics repo? Graphics / Controls are the daily team repos, master being
 only sync'd up weekly.


I'm using master - I couldn't see any other way to get bootstrapped. Is
there some other process I should be following for a first build?

I'm attempting to get OpenJFX built  running against the tip of Nashorn.


 OK the first question I have is to make sure I understand correctly. Do
 you mean that you're trying to build the latest OpenJFX + the latest
 Nashorn, combine them into a single JDK build, and then write an app that
 uses both? Is Nashorn developed in a different repo, like OpenJFX is, or is
 it now built as part of the normal JDK 8?


Nashorn is folded into JDK 8 regiular, but the head of development is ahead
of OpenJDK mainline.


  Assuming it is, it still isn't working. After a certain amount of
  yak-shaving (Gradle being useless, and having to hack around the forest
  extension gunk) the build is failing (details below).


 Why did you need forest? Maybe if we start here with where the yak shaving
 exercise started then maybe I can see where you may have left the beaten
 path.


The README told me I needed it - I worked out the equivalent hg commands
(the ones given in the README as an alternative to forest are slightly
wrong).


 
 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/ext/jfxrt.jar


 Which build of Java 8 is this?


This is with Oracle Java 8 EA latest beta. Using an OpenJDK build instead
causes a different set of errors.


  :fxpackager:compileLauncher
  In file included from
 
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6,
  from
 
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
  from
 
 /Users/boxcat/projects/openjdk/master/rt/modules/fxpackager/src/main/native/launcher/mac/main.m:26:
 
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:12:20:
  error: stdarg.h: No such file or directory


 I'm building with 10.8 rather than 10.7. Kevin do you know what the hudson
 machines are setup to build with?


Hm. This machine is actually a 10.8 box.


 Looking at main.m line 26 we see this import:

 #import Cocoa/Cocoa.h

 It seems that something must be misconfigured on your system if importing
 Cocoa.h leads to a compile error. I'm not an expert on Mac native
 programming, maybe Felipe or David Dehaven can chime in?


I  suspect some XCode oddness here - let me investigate further.

Thanks,

Ben


hg: openjfx/8/graphics/rt: RT-32123: Clip properly synced after parent visibility change.

2013-08-06 Thread hang . vo
Changeset: bd6f656cd8a9
Author:Pavel Safrata pavel.safr...@oracle.com
Date:  2013-08-06 10:43 +0100
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/bd6f656cd8a9

RT-32123: Clip properly synced after parent visibility change.
Contributed-by: Tom Schindl tom.schi...@bestsolution.at
Added unit test.

! modules/graphics/src/main/java/javafx/scene/Node.java
! modules/graphics/src/stub/java/javafx/scene/NodeTest.java



Brick Breaker ball jitter

2013-08-06 Thread John C. Turnbull
I seem to remember some time ago that work was done on reducing the jitter
in the ball's motion in the Brick Breaker demo in Ensemble8.

 

Did this ever make it into the main line?  I ask because I have just
installed JDK 8 b101 and the ball still shows very significant jitter in its
motion on this Windows 7 x64 machine.

 

Thanks,

 

-jct



hg: openjfx/8/graphics/rt: RT-32039: Yandex Maps are broken after sync with WebKit trunk

2013-08-06 Thread hang . vo
Changeset: 91a8ecbea96e
Author:Vasiliy Baranov vasiliy.bara...@oracle.com
Date:  2013-08-06 15:12 +0400
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/91a8ecbea96e

RT-32039: Yandex Maps are broken after sync with WebKit trunk

! modules/web/src/main/native/Source/WebCore/DerivedSourcesJava.pri
! 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/storage/java/StorageAreaJava.cpp
! modules/web/src/main/native/Source/WebCore/storage/java/StorageAreaJava.h



Re: A different way to handle pulse timing

2013-08-06 Thread Artem Ananiev


On 8/5/2013 10:26 PM, Richard Bair wrote:

In the past we have seen situations where there are so many
tasks on the user event thread, that user response (even on
desktop) was not acceptable. Some of these items are getting
better as we improve design (ie less redundant layout
operations causes by a single change/event).

Right, but I don't see how that could still happen in this
proposal? The problem before was the pulse events were handled
outside of the event queue (as I recall) so that they got higher
priority. We got rid of the higher priority and starvation
ceased. This proposal would not reintroduce priorities, so I
don't see how you could end up with input event starvation
again?

rendering is staged on the event queue (layout, adding the render
job to the render thread). It has been this way for quite a while
now. As far as I remember,( other than paths with live resize),
we have never had a mechanism that provided for event priority (at
least not on the Linux side where I tend to live).


This is how I thought it used to be done: we had (still have) a
separate glass thread which fires off once ever 16ms or so. We used
to take this pulse and handle it at the next available opportunity,
which was explicit prioritization. If the pulse handling took longer
than 16ms, by the time the pulse ended we'd have another pulse ready
to be handled and would starve the queue. Today, we get this event
and add it to the event queue, so we are never starving the event
queue.

In this proposal, we also would be putting the next pulse on the end
of the queue, so it is impossible to starve input events.


Putting the next pulse on the end of the queue is surprisingly difficult 
task, at least on Windows. If we use standard APIs provided by the 
platform, PostMessage() and SendMessage(), events are always put to the 
head of the queue. If we use timer events, they are of the lowest 
priority, so we'll have paint starvation instead of input events 
starvation.


Thanks,

Artem


Thanks
Richard


Re: A different way to handle pulse timing

2013-08-06 Thread Artem Ananiev


On 8/5/2013 9:09 PM, Richard Bair wrote:

In the past we have seen situations where there are so many tasks
on the user event thread, that user response (even on desktop) was
not acceptable. Some of these items are getting better as we
improve design (ie less redundant layout operations causes by a
single change/event).


Right, but I don't see how that could still happen in this proposal?
The problem before was the pulse events were handled outside of the
event queue (as I recall) so that they got higher priority. We got
rid of the higher priority and starvation ceased. This proposal would
not reintroduce priorities, so I don't see how you could end up with
input event starvation again?


Here is that bug:

RT-20656: Pending requests from Application.invokeLater can cause input 
event starvation


It is indeed fixed, but the fix was to make sure we always have a window 
to dispatch input events (sometimes, very small, but still). Higher 
priority for user/application runnables is still there.


Thanks,

Artem


BTW - it is very easy to write a bad app which will demonstrate
the problem. As a thought example - if on a button click, you
calculate PI to the nth digit before updating your text field - and
you do it in the event callback - you are stalling the user event
thread. Add in enough computes and you get an very unresponsive
app. Instead of computes, you can just call sleep to see the
problem too :-)


But this is the case today as well.

Richard



Re: TD game (hijacking Re: Performant Controls (hijacking Re: Developing controls based on Canvas?))

2013-08-06 Thread Jose Martinez
I'm pretty burnt myself but it remains in the back of my mind and I will be 
devoting some effort to it.  I think this is a good email to spark me to go and 
work on it.  Before August is out will work on it.

Thanks! 

jose



 From: Daniel Zwolenski zon...@gmail.com
To: Richard Bair richard.b...@oracle.com 
Cc: openjfx-dev@openjdk.java.net List openjfx-dev@openjdk.java.net 
Sent: Tuesday, August 6, 2013 1:32 AM
Subject: Re: TD game (hijacking Re: Performant Controls (hijacking Re:  
Developing controls based on Canvas?))
 

I'm out for that one for the foreseeable future. I've burnt up any and all
free time on getting the desktop and iOS workflows working with Maven.
I'm big time behind on client work.

Tell you what though, if you can get someone at Oracle to take over the
deployment tools and iOS stuff, I'd very happily switch over to building
games and gliffy-like demo apps :)




On Tue, Aug 6, 2013 at 3:02 PM, Richard Bair richard.b...@oracle.comwrote:

 It really wasn't ever supposed to be my TD game, I keep trying to get you
 (and others interested in the community) to develop it. I'm up to my
 eyeballs in work already, as I'm sure you can relate :-)

 Richard

 On Aug 5, 2013, at 9:24 PM, Daniel Zwolenski zon...@gmail.com wrote:

 You should be able to check out they work in your TD game and continue
 development on that then.


 On Tue, Aug 6, 2013 at 2:16 PM, Richard Bair richard.b...@oracle.comwrote:

  To add
  to the confusion, Canvas currently has some drastic z-order bugs, and
 some
  clipping issues, so using it combined with Nodes is currently a no-go.

 I believe those have all been fixed in the last couple of weeks.

 Richard






hg: openjfx/8/graphics/rt: Fix to RT-30270: FX 8 3D: dirtyopts doesn't work for 3D rendering

2013-08-06 Thread hang . vo
Changeset: 891fda941088
Author:Chien Yang chien.y...@orcale.com
Date:  2013-08-06 07:01 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/891fda941088

Fix to RT-30270: FX 8 3D: dirtyopts doesn't work for 3D rendering
Reviewed by Kevin

+ apps/toys/FX8-3DFeatures/src/fx83dfeatures/LightMotion.java
! modules/graphics/src/main/java/javafx/scene/LightBase.java



Re: A different way to handle pulse timing

2013-08-06 Thread Artem Ananiev


On 8/6/2013 6:07 PM, Scott Palmer wrote:


On 2013-08-06, at 9:10 AM, Artem Ananiev artem.anan...@oracle.com wrote:


On 8/5/2013 10:26 PM, Richard Bair wrote:


In this proposal, we also would be putting the next pulse on the
end of the queue, so it is impossible to starve input events.


Putting the next pulse on the end of the queue is surprisingly
difficult task, at least on Windows. If we use standard APIs
provided by the platform, PostMessage() and SendMessage(), events
are always put to the head of the queue. If we use timer events,
they are of the lowest priority, so we'll have paint starvation
instead of input events starvation.


If the OS message queue is fundamentally broken (i.e. it does not
behave like a queue), can all this be done on a proper queue that you
have control over?


I wouldn't say it's broken :) It's implemented this way by design. BTW, 
as far as I know, Mac OS X is similar to Windows wrt event handling: all 
the selectors (correspond to PostMessage() and SendMessage()) are 
processed before input events.



I.e. in the OS-specific message loop, just move the messages to a
more reasonably behaved queue.  Posting a request to process a pulse
would simply queue the operation on the well behaved queue and not
use the OS PostMessage or SendMessage mechanism at all.  I admit to
not knowing enough about Windows message processing to know if that
even makes sense.


What you describe is close to how JavaFX is implemented on embedded 
platforms. See Lens code in Glass for details. We do this, because on 
that platforms there is virtually no native event queue, so we have our 
own. However, on platforms like Windows or Mac OS X, we have to use 
native event queues, otherwise JavaFX apps won't be good citizens there.


This is what we have in AWT/Swing, where a native event queue is 
separate from Java event queue. I can't say the exact number of minor 
(e.g. sluggish window resizing), major (dragndrop not working), and even 
fatal (JVM crashes) issues we fixed in AWT, that were caused by this 
architecture with 2 queues, but believe me this number is huge.



(Windows seriously doesn't have a mechanism to put something on the
tail end of the message queue? Wow, don't they understand how a
queue is supposed to work?)


Why do you think it must be a queue? :) It can be a queue, but it can be 
something more complex as well. And yes, there is no easy way to put an 
event to the tail of the queue on Windows. What we can do is to put 
events to the queue with PostMessage/SendMessage, but dequeue them in 
different order. We prototyped that in the past, but didn't find it 
acceptable.


Thanks,

Artem


Scott


Re: CFV: New OpenJFX Committer:Daniel Blaukopf

2013-08-06 Thread Artem Ananiev


Vote: yes.

Artem

On 8/6/2013 7:15 PM, David Hill wrote:

I hereby nominate Daniel Blaukopf to OpenJFX Committer.
Daniel is a member of the Embedded Device team, which means he works
across various aspects of the platform. He is also the architect for the
embedded device space.

His recent work can be seen here:

   http://hg.openjdk.java.net/openjfx/8/master/rt/log?rev=daniel.blaukopf

Votes are due by Aug 21, 2013.

Only current OpenJFX Committers [1] are eligible to vote on this
nomination. Votes must be cast in the open by replying to this mailing
list.

For Lazy Consensus voting instructions, see [2].

Thanks,
 David

[1] http://openjdk.java.net/census#openjfx

[2] http://openjdk.java.net/bylaws#lazy-consensus


hg: openjfx/8/graphics/rt: 3 new changesets

2013-08-06 Thread hang . vo
Changeset: 1661f722d536
Author:Vasiliy Baranov vasiliy.bara...@oracle.com
Date:  2013-08-06 19:23 +0400
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/1661f722d536

Fix Mac build broken by the recent fix for RT-32039

! modules/web/src/main/native/Source/WebCore/mapfile-macosx
! modules/web/src/main/native/Source/WebCore/mapfile-vers

Changeset: 59419bdda806
Author:Felipe Heidrich felipe.heidr...@oracle.com
Date:  2013-08-06 08:27 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/59419bdda806

RT-27541: Add RTL support to TextFlow

! modules/graphics/src/main/java/javafx/scene/text/TextFlow.java

Changeset: 0a2b4115d537
Author:Felipe Heidrich felipe.heidr...@oracle.com
Date:  2013-08-06 08:31 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/0a2b4115d537

Removing out-of-date comment in checkOrientation + dosmetic changes (trailing 
whitespace)

! modules/graphics/src/main/java/javafx/scene/text/Text.java



Re: A different way to handle pulse timing

2013-08-06 Thread David Hill

On 8/6/13 Aug 6, 10:07 AM, Scott Palmer wrote:


On 2013-08-06, at 9:10 AM, Artem Ananiev artem.anan...@oracle.com wrote:


On 8/5/2013 10:26 PM, Richard Bair wrote:

In this proposal, we also would be putting the next pulse on the end
of the queue, so it is impossible to starve input events.

Putting the next pulse on the end of the queue is surprisingly difficult task, at least on Windows. 
If we use standard APIs provided by the platform, PostMessage() and SendMessage(), events are 
always put to the head of the queue. If we use timer events, they are of the lowest priority, so 
we'll have paint starvation instead of input events starvation.

If the OS message queue is fundamentally broken (i.e. it does not behave like a 
queue), can all this be done on a proper queue that you have control over?
I.e. in the OS-specific message loop, just move the messages to a more 
reasonably behaved queue.  Posting a request to process a pulse would simply 
queue the operation on the well behaved queue and not use the OS PostMessage or 
SendMessage mechanism at all.  I admit to not knowing enough about Windows 
message processing to know if that even makes sense.
(Windows seriously doesn't have a mechanism to put something on the tail end of the 
message queue? Wow, don't they understand how a queue is supposed to work?)

This is what Glass/Lens does - the user event thread is all in Java. But then - 
we also don't have to deal with any pesky native window managers :-)
Lens input events are taken from as close as we have to a native event loop (on 
an input thread) and posted to the java based user event thread, just like any 
other Application.InvokeLater (first in, first out queue). This also saves Lens 
a bit of JNI handling as most user (non input events) never leave java this way.

Dave


Scott




--
David Hill david.h...@oracle.com
Java Embedded Development

Sometimes the questions are complicated and the answers are simple.
-- Dr. Seuss (1904 - 1991)



Re: CFV: New OpenJFX Committer: Seeon Birger

2013-08-06 Thread Kevin Rushforth

Vote: yes


David Hill wrote:

I hereby nominate Seeon Birger to OpenJFX Committer.
Seeon is a member of the Embedded Device team, which means he works 
across various aspects of the platform, but in particular, Lens and 
Virtual Keyboard.


His recent work can be seen here:

  http://hg.openjdk.java.net/openjfx/8/master/rt/log?rev=seeon.birger

Votes are due by Aug 21, 2013.

Only current OpenJFX Committers [1] are eligible to vote on this 
nomination. Votes must be cast in the open by replying to this mailing 
list.


For Lazy Consensus voting instructions, see [2].

Thanks,
Dave

[1] http://openjdk.java.net/census#openjfx

[2] http://openjdk.java.net/bylaws#lazy-consensus


Re: CFV: New OpenJFX Committer:Daniel Blaukopf

2013-08-06 Thread Kevin Rushforth

Vote: yes


David Hill wrote:

I hereby nominate Daniel Blaukopf to OpenJFX Committer.
Daniel is a member of the Embedded Device team, which means he works 
across various aspects of the platform. He is also the architect for 
the embedded device space.


His recent work can be seen here:

  http://hg.openjdk.java.net/openjfx/8/master/rt/log?rev=daniel.blaukopf

Votes are due by Aug 21, 2013.

Only current OpenJFX Committers [1] are eligible to vote on this 
nomination. Votes must be cast in the open by replying to this mailing 
list.


For Lazy Consensus voting instructions, see [2].

Thanks,
David

[1] http://openjdk.java.net/census#openjfx

[2] http://openjdk.java.net/bylaws#lazy-consensus


Re: Brick Breaker ball jitter

2013-08-06 Thread Debra Masada
Hi John,

Sorry, the Brick Breaker fix is not yet in Ensemble8.  The fix is in the 
standalone version of Brick Breaker.  The Jira issue for the port is RT-30864.

Thanks,
Debbie

 Message: 4
 Date: Tue, 6 Aug 2013 20:41:45 +1000
 From: John C. Turnbull ozem...@ozemail.com.au
 Subject: Brick Breaker ball jitter
 To: openjfx-dev@openjdk.java.net
 Message-ID: 008601ce9291$8c016d20$a4044760$@ozemail.com.au
 Content-Type: text/plain; charset=us-ascii
 
 I seem to remember some time ago that work was done on reducing the jitter
 in the ball's motion in the Brick Breaker demo in Ensemble8.
 
 
 
 Did this ever make it into the main line?  I ask because I have just
 installed JDK 8 b101 and the ball still shows very significant jitter in its
 motion on this Windows 7 x64 machine.
 
 
 
 Thanks,
 
 
 
 -jct
 



Re: CFV: New OpenJFX Committer:Daniel Blaukopf

2013-08-06 Thread Jasper Potts
Vote: yes.

Jasper

On Aug 6, 2013, at 8:15 AM, David Hill david.h...@oracle.com wrote:

 I hereby nominate Daniel Blaukopf to OpenJFX Committer.
 Daniel is a member of the Embedded Device team, which means he works across 
 various aspects of the platform. He is also the architect for the embedded 
 device space.
 
 His recent work can be seen here:
 
  http://hg.openjdk.java.net/openjfx/8/master/rt/log?rev=daniel.blaukopf
 
 Votes are due by Aug 21, 2013.
 
 Only current OpenJFX Committers [1] are eligible to vote on this nomination. 
 Votes must be cast in the open by replying to this mailing list.
 
 For Lazy Consensus voting instructions, see [2].
 
 Thanks,
David
 
 [1] http://openjdk.java.net/census#openjfx
 
 [2] http://openjdk.java.net/bylaws#lazy-consensus


Re: CFV: New OpenJFX Committer:Daniel Blaukopf

2013-08-06 Thread Richard Bair
Vote: yes

On Aug 6, 2013, at 8:15 AM, David Hill david.h...@oracle.com wrote:

 I hereby nominate Daniel Blaukopf to OpenJFX Committer.
 Daniel is a member of the Embedded Device team, which means he works across 
 various aspects of the platform. He is also the architect for the embedded 
 device space.
 
 His recent work can be seen here:
 
  http://hg.openjdk.java.net/openjfx/8/master/rt/log?rev=daniel.blaukopf
 
 Votes are due by Aug 21, 2013.
 
 Only current OpenJFX Committers [1] are eligible to vote on this nomination. 
 Votes must be cast in the open by replying to this mailing list.
 
 For Lazy Consensus voting instructions, see [2].
 
 Thanks,
David
 
 [1] http://openjdk.java.net/census#openjfx
 
 [2] http://openjdk.java.net/bylaws#lazy-consensus



Re: CFV: New OpenJFX Committer: Seeon Birger

2013-08-06 Thread Richard Bair
Vote: yes

On Aug 6, 2013, at 8:16 AM, David Hill david.h...@oracle.com wrote:

 I hereby nominate Seeon Birger to OpenJFX Committer.
 Seeon is a member of the Embedded Device team, which means he works across 
 various aspects of the platform, but in particular, Lens and Virtual Keyboard.
 
 His recent work can be seen here:
 
  http://hg.openjdk.java.net/openjfx/8/master/rt/log?rev=seeon.birger
 
 Votes are due by Aug 21, 2013.
 
 Only current OpenJFX Committers [1] are eligible to vote on this nomination. 
 Votes must be cast in the open by replying to this mailing list.
 
 For Lazy Consensus voting instructions, see [2].
 
 Thanks,
Dave
 
 [1] http://openjdk.java.net/census#openjfx
 
 [2] http://openjdk.java.net/bylaws#lazy-consensus



hg: openjfx/8/graphics/rt: 40 new changesets

2013-08-06 Thread hang . vo
Changeset: 5a2bdb89b8a1
Author:hudson
Date:  2013-08-01 08:57 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/5a2bdb89b8a1

Added tag 8.0-b101 for changeset fe19fc3820f3

! .hgtags

Changeset: 1881571d12e6
Author:mv157916
Date:  2013-08-02 00:42 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/1881571d12e6

RT-32076: Update the JDK build number to b101 in rt/build.properties file in 
the JavaFX 8 Master forest.

! build.properties

Changeset: 02439ac5011b
Author:jgiles
Date:  2013-07-30 12:32 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/02439ac5011b

RT-31577: Clearing the selection in TableView doesn't call ChangeListener on 
SelectionModel selectedItemProperty

! 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/ListViewKeyInputTest.java
! modules/controls/src/test/java/javafx/scene/control/TableViewKeyInputTest.java
! 
modules/controls/src/test/java/javafx/scene/control/TreeTableViewKeyInputTest.java
! modules/controls/src/test/java/javafx/scene/control/TreeViewKeyInputTest.java

Changeset: 908485f56f7f
Author:jgiles
Date:  2013-07-30 15:22 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/908485f56f7f

RT-30253: [TreeView] graphics is not rendered immediately when prebuilt cell 
factory is used.

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java
! modules/controls/src/main/java/javafx/scene/control/cell/CheckBoxTreeCell.java
! 
modules/controls/src/main/java/javafx/scene/control/cell/ChoiceBoxTreeCell.java
! modules/controls/src/main/java/javafx/scene/control/cell/ComboBoxTreeCell.java
! 
modules/controls/src/main/java/javafx/scene/control/cell/TextFieldTreeCell.java

Changeset: be80dfafbd68
Author:jgiles
Date:  2013-07-30 15:38 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/be80dfafbd68

RT-30754: ComboBox doesn't align properly with baseline

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ComboBoxBaseSkin.java

Changeset: f0fb93f22f9b
Author:jgiles
Date:  2013-07-31 09:05 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/f0fb93f22f9b

Automated merge with 
ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/controls/jfx/rt


Changeset: 60e14d6f298e
Author:jgiles
Date:  2013-07-31 10:56 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/60e14d6f298e

RT-31570: Make some VirtualFlow method protected

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/VirtualFlow.java

Changeset: 0b89acf5c119
Author:jgiles
Date:  2013-07-31 11:26 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/0b89acf5c119

RT-31901: Regression: scrollbar issue with TitledPane

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java

Changeset: 32a15e40d649
Author:jgiles
Date:  2013-07-31 12:23 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/32a15e40d649

RT-31997: ChoiceBox and ComboBox popup menu appear shifted vertically (by ~5px)

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ChoiceBoxSkin.java
! modules/graphics/src/main/java/com/sun/javafx/Utils.java

Changeset: 4f3014d423e9
Author:jgiles
Date:  2013-07-31 14:10 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/4f3014d423e9

Partial fix for RT-31918: ComboBox doesn't render scroll bars
The exception listed in the jira issue no longer occurs.

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/VirtualFlow.java

Changeset: 6ac8a1f0708d
Author:jgiles
Date:  2013-07-31 14:36 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/6ac8a1f0708d

RT-30400: ProgressBar cell factory renders progress bars in empty cells

! 
modules/controls/src/main/java/javafx/scene/control/cell/ProgressBarTableCell.java
! 
modules/controls/src/main/java/javafx/scene/control/cell/ProgressBarTreeTableCell.java
! 
modules/controls/src/test/java/javafx/scene/control/cell/ProgressBarTableCellTest.java
! 
modules/controls/src/test/java/javafx/scene/control/cell/ProgressBarTreeTableCellTest.java

Changeset: 1468c900ae93
Author:jgiles
Date:  2013-07-31 14:58 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/1468c900ae93

RT-30394: TreeTableView focus model returns wrong focused index

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TableCellBehaviorBase.java
! 
modules/controls/src/test/java/javafx/scene/control/ListViewMouseInputTest.java
! 
modules/controls/src/test/java/javafx/scene/control/TableViewMouseInputTest.java
! 
modules/controls/src/test/java/javafx/scene/control/TreeTableViewMouseInputTest.java
! 

hg: openjfx/8/graphics/rt: Fix to RT-32129: Light's scope optimization

2013-08-06 Thread hang . vo
Changeset: 2fa94a5ed08f
Author:Chien Yang chien.y...@orcale.com
Date:  2013-08-06 13:36 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/2fa94a5ed08f

Fix to RT-32129: Light's scope optimization
Reviewed by Kevin and Thor

! modules/graphics/src/main/java/com/sun/javafx/scene/DirtyBits.java
! modules/graphics/src/main/java/javafx/scene/LightBase.java



Swing and JavaFX thread merge

2013-08-06 Thread Pedro Duque Vieira
Hi,

Some time ago there was a patch submitted which for all purposes merged the
swing and javafx thread, making it easier for developers working on a
swing/javafx app - http://wiki.apidesign.org/wiki/JavaFX

Is this available now (I was under the impression it is)? How do I use it?

Thanks in advance,

-- 
Pedro Duque Vieira


RE: Performant Controls (hijacking Re: Developing controls based on Canvas?)

2013-08-06 Thread John Smith
 . . . imagine you had to build a visualisation of the same data but in a 
 diagram, maybe something like 
 http://www.novell.com/communities/files/img/groupwise_8_protocol_flow_diagram_v1.3.jpgbut
with x100 nodes, with zooming and panning - could you outline a general 
strategy?

I'd use some like yworks yfiles for this, it seems pretty similar =
http://www.yworks.com/en/products_yfiles_practicalinfo_gallery.html  (this page 
is a very nice example of a showcase by the way :-)

Sebastian Rheinnecker from yworks created a prototype of their tool in JavaFX.
He has posted on this list before, so you can find his email in the archives if 
you want to ask questions about it.
The yworks stuff is a very nice graphing system that scales to very large 
graphs and is implemented in lots of different technologies, so perhaps a good 
contact point if they are willing to discuss implementation details.

There is also the primarily JavaFX based Dex Data Explorer which also seems 
pretty similar (albeit using a polyglot programming approach) =
http://www.javainc.com/projects/dex/

-Original Message-
From: openjfx-dev-boun...@openjdk.java.net 
[mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of Daniel Zwolenski
Sent: Monday, August 05, 2013 5:39 PM
To: Jonathan Giles
Cc: openjfx-dev@openjdk.java.net List
Subject: Performant Controls (hijacking Re: Developing controls based on 
Canvas?)

Sneaking in here, as you've given an opening with if implemented wisely, there 
is very little that a scenegraph-based approach can't do. The question I've 
been asking for a while is what does implemented wisely
look like in JFX.

This has come up in the performance conversations, the game conversations, the 
CAD conversations, and many other places. No one seems to have an answer, but 
you're building extremely complex stuff on a regular basis - what's your tips?

When you say you only have 20 visible nodes out of 1000's in general are the 
other nodes:
a) in the scenegraph and set to not visible
b) in memory but not in the scenegraph - added/removed when scrolled into view 
and out of view
c) not in memory, created, added and then removed, destroyed when scrolled into 
view and out of view
d) something else?

I know Table uses a rubber stamp approach, where it re-uses cell views where 
possible, but let's say every row in my 100,000 row Table was uniquely rendered 
using a different cell. What would happen under the covers?

How do you work out the scroll range as well? Each cell can be a unique height 
right? How do you know the extents of the vertical scrolling without 
instantiating and rendering everything? Is this what you do? What if a cell is 
changing size (has a collapsable pane in it, etc) - what happens to the 
vertical scroll range?

Do any of the controls have zooming on them? Have you had to deal with this and 
have you got a strategy for handling this with respect to scroll bounds, 
working out which nodes are in view, scaling fonts, etc? Could you hazard a 
guess at what you would do if you had to implement zooming on a Table for 
example?

Maybe the Table is lucky with its restrictive grid like layout but imagine you 
had to build a visualisation of the same data but in a diagram, maybe something 
like 
http://www.novell.com/communities/files/img/groupwise_8_protocol_flow_diagram_v1.3.jpgbut
with x100 nodes, with zooming and panning - could you outline a general 
strategy?





On Tue, Aug 6, 2013 at 10:10 AM, Jonathan Giles
jonathan.gi...@oracle.comwrote:

 I think it would pay to take a step back and understand why you think 
 a 'traditional' scenegraph-based (or retained mode) control is not 
 sufficient for your needs?
 Unfortunately you've not detailed your use case, so it is hard to give 
 any specific advice. Are you able to give any details about what it is 
 you're trying to build and why you think the normal approach to 
 building controls is not sufficient?

 We've built some fairly complex controls using this approach, and if 
 implemented wisely, there is very little that a scenegraph-based 
 approach can't do. Specifically, do you think your control will render 
 all of the 'thousands of nodes' at once, or will many of these nodes 
 be off screen or otherwise not visible at any one time? For things 
 like the TableView we only render the nodes that are visible. This 
 means that regardless of whether there are 100 or 1,000,000 rows of 
 data, we only have visual nodes for the 20 visible rows, for example. 
 Keeping your scenegraph as minimal as possible is always a very wise idea, if 
 performance is a concern.

 As you note, the other problem is that you will run into issues if you 
 want to mix canvas rendering with the scenegraph-based controls like 
 Button. The best you're likely to achieve (having not tried it 
 personally) is to position the control on top of the canvas, rather 
 than attempting to render the control inside the canvas (and having to 
 then deal with event handling, 

hg: openjfx/8/controls/rt: 4 new changesets

2013-08-06 Thread hang . vo
Changeset: 925eeb161438
Author:jgiles
Date:  2013-08-07 09:05 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/925eeb161438

RT-32139: Can't change ComboBox value in change listener

! modules/controls/src/main/java/javafx/scene/control/SingleSelectionModel.java
! modules/controls/src/test/java/javafx/scene/control/ComboBoxTest.java

Changeset: 84847b5a5dbc
Author:jgiles
Date:  2013-08-07 09:50 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/84847b5a5dbc

RT-32119: ListView doesn't unselect correct items when Shift + left mouse btn 
is used
(Same bug also existed for TableView, TreeView and TreeTableView, so it has 
been fixed there too)

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/ListCellBehavior.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TableCellBehaviorBase.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TreeCellBehavior.java
! 
modules/controls/src/test/java/javafx/scene/control/ListViewMouseInputTest.java
! 
modules/controls/src/test/java/javafx/scene/control/TableViewMouseInputTest.java
! 
modules/controls/src/test/java/javafx/scene/control/TreeTableViewMouseInputTest.java
! 
modules/controls/src/test/java/javafx/scene/control/TreeViewMouseInputTest.java

Changeset: 210aa0f86593
Author:jgiles
Date:  2013-08-07 13:24 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/210aa0f86593

RT-27156: Animated TitledPane does not synch animation with its content
RT-30566: Opening/Closing Animation of TitledPane in nested Accordions with 
some Controls not working as expected

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TitledPaneSkin.java

Changeset: f63ed218267f
Author:jgiles
Date:  2013-08-07 13:32 +1200
URL:   http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/f63ed218267f

Automated merge with 
ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/controls/jfx/rt