Re: [11] RFR JDK-8202199 : Provide public, unsupported API for FX Swing interop

2018-05-08 Thread Ali Ebrahimi
Hi,
What about " jdk.desktop.unsupported" for new module name?

On Tue, May 8, 2018 at 10:21 AM, Prasanta Sadhukhan <
prasanta.sadhuk...@oracle.com> wrote:

> Modified webrev to rename to InteropProviderImpl
>
> http://cr.openjdk.java.net/~psadhukhan/fxswing.10/
>
> Regards
> Prasanta
>
> On 5/7/2018 8:35 PM, Kevin Rushforth wrote:
>
>> That name seems good to me.
>>
>> -- Kevin
>>
>>
>> On 5/7/2018 8:01 AM, Prasanta Sadhukhan wrote:
>>
>>> Would InteropProviderImpl sound good?
>>>
>>> Regards
>>> Prasanta
>>> On 5/7/2018 8:27 PM, Alan Bateman wrote:
>>>
>>>>
>>>>
>>>> On 07/05/2018 10:26, Prasanta Sadhukhan wrote:
>>>>
>>>>> :
>>>>>
>>>>> Modified webrev to use InteropProvider
>>>>> http://cr.openjdk.java.net/~psadhukhan/fxswing.9/
>>>>>
>>>> This looks okay although for consistent then InteropImpl could be
>>>> renamed too.
>>>>
>>>> -Alan
>>>>
>>>
>>>
>>
>


-- 

Best Regards,
Ali Ebrahimi


Re: What is the process ?

2016-12-20 Thread Ali Ebrahimi
Hi Kevin,
I signed Oracle Contributor Agreement form since April and I'm still
waiting to feedback!

On Tue, Dec 20, 2016 at 7:27 PM, Kevin Rushforth <kevin.rushfo...@oracle.com
> wrote:

> Hi Rony,
>
> See the "How to contribute" page [1] on the OpenJDK site. The first step
> is to sign the Oracle Contribute Agreement (OCA) [2]. All code that you
> contribute must be your own work and free of IP encumbrances. It becomes
> joint property of Oracle, with you retaining your copyright. Code that is
> eventually checked into the OpenJFX project is done so under the GPL v2
> license with the "Classpath" exception [3]. Oracle may also choose to
> license it under other terms (e.g., when producing the Oracle JDK).
>
> To contribute a bug fix, you would indicate your interest in contributing
> a patch to a bug, and then work with a Committer in the Project to sponsor
> your fix.
>
> The process for getting an enhancement in is a bit more involved, and
> requires additional approval since we want to carefully control the API.
> You can start by filing an RFE at bugs.java.com [4]. You should also
> become familiar with the Java Enhancement Proposal (JEP) [5][6] process,
> since any significant new features require a JEP. We require comprehensive
> tests as part of any new feature. It is strongly recommended to discuss
> your idea on this list first to get some feedback as to whether it is a
> feature / API we would consider accepting before you go off and spend much
> time prototyping your ideas.
>
> Let me know if there are any questions on any of this.
>
> -- Kevin
>



-- 

Best Regards,
Ali Ebrahimi


Re: Code Review Request For 8155757: Encapsulate impl_ methods in animation, canvas, image, input, layout, paint, and text packages

2016-05-03 Thread Ali Ebrahimi
gt;> Code:
>>>>0: aload_0
>>>>1: invokespecial #1  // Method
>>>> java/lang/Object."":()V
>>>>4: return
>>>>
>>>>   void foo();
>>>> Code:
>>>>0: return
>>>> }
>>>>
>>>> public class InnerPackageTest$InnerClass {
>>>>   final InnerPackageTest this$0;
>>>>
>>>>   public InnerPackageTest$InnerClass(InnerPackageTest);
>>>> Code:
>>>>0: aload_0
>>>>1: aload_1
>>>>2: putfield  #1  // Field
>>>> this$0:LInnerPackageTest;
>>>>5: aload_0
>>>>6: invokespecial #2  // Method
>>>> java/lang/Object."":()V
>>>>9: return
>>>>
>>>>   public void bar();
>>>> Code:
>>>>0: aload_0
>>>>1: getfield  #1  // Field
>>>> this$0:LInnerPackageTest;
>>>>4: invokevirtual #3  // Method
>>>> InnerPackageTest.foo:()V
>>>>7: return
>>>> }
>>>>
>>>> ...jim
>>>>
>>>> On 4/29/16 11:50 AM, Chien Yang wrote:
>>>>
>>>>> Hi Kevin,
>>>>>
>>>>> Please review the proposed fix:
>>>>>
>>>>> JIRA: https://bugs.openjdk.java.net/browse/JDK-8155757
>>>>> Webrev: http://cr.openjdk.java.net/~ckyang/JDK-8155757/webrev.00/
>>>>>
>>>>> Thanks,
>>>>> - Chien
>>>>>
>>>>


-- 

Best Regards,
Ali Ebrahimi


Re: Jvm crash: es2 pipeline crashs jvm on macosx vm

2016-04-16 Thread Ali Ebrahimi
Hi,

On Sat, Apr 16, 2016 at 10:11 PM, Chien Yang <chien.y...@oracle.com> wrote:

> Hi Ali,
>
> Thanks! I believe we have enough information from what you have already
> shared here and in JI-9035391. You can track the progress of this issue
> with JI-9035391 when it is transferred to JBS.
>
But JI-9035391 is relate to Prism software pipeline error that happens in
glass native code. I think these are separate issues.


-- 

Best Regards,
Ali Ebrahimi


Re: Glass: CGLCreateContext error: 10002: empty window on MacOSX VM

2016-04-15 Thread Ali Ebrahimi
Done. Review ID: JI-9035391

On Fri, Apr 15, 2016 at 2:47 AM, Chien Yang <chien.y...@oracle.com> wrote:

> We are interested in knowing how and when you use the software pipe of
> JavaFX on Mac. Can you please submit a bug report and provide those
> information?
>
> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report
>
> Thanks,
> - Chien
>
>
> On 4/14/2016 11:41 AM, Ali Ebrahimi wrote:
>
>> On macosx vm:
>>
>> We running with software pipeline user get CGLCreateContext error: 10002
>> in
>> glass native code so this error causes empty window without any controls
>> in
>> app window.
>>
>> The following patch fixes this issue and I can run Ensemple8 application
>> successfully.
>>
>> diff -r 3f15f2e59063
>> modules/graphics/src/main/native-glass/mac/GlassView3D.m
>> --- a/modules/graphics/src/main/native-glass/mac/GlassView3D.m Wed Apr 13
>> 12:36:43 2016 -0700
>> +++ b/modules/graphics/src/main/native-glass/mac/GlassView3D.m Thu Apr 14
>> 23:08:16 2016 +0430
>> @@ -93,9 +93,18 @@
>>   };
>>   GLint npix = 0;
>>   CGLError err = CGLChoosePixelFormat(attributes, , );
>> -if (err != kCGLNoError)
>> +if (pix == NULL)
>>   {
>> -NSLog(@"CGLChoosePixelFormat error: %d", err);
>> +const CGLPixelFormatAttribute attributes2[] =
>> +{
>> +kCGLPFAAllowOfflineRenderers,
>> +(CGLPixelFormatAttribute)0
>> +};
>> +err = CGLChoosePixelFormat(attributes2, , );
>> +if (err != kCGLNoError)
>> +{
>> +NSLog(@"CGLChoosePixelFormat error: %d", err);
>> +}
>>   }
>>   }
>>   return pix;
>>
>
>


-- 

Best Regards,
Ali Ebrahimi


Re: Jvm crash: es2 pipeline crashs jvm on macosx vm

2016-04-15 Thread Ali Ebrahimi
Hi Chien,

I googled and found there are already similar crash reports in javafx8
timeframe for this problem:
https://bugs.openjdk.java.net/browse/JDK-8096072
https://bugs.openjdk.java.net/browse/JDK-8092559

Since I can't comment on this issues on jira to add my patch, should I
report new bug report for FX9?
Note: This patch also works for javafx8.

On Fri, Apr 15, 2016 at 2:07 AM, Chien Yang <chien.y...@oracle.com> wrote:

> Thanks reporting your finding and suggestion. Do you mind filing a bug
> report?  Please include the steps and your system configuration that we may
> reproduce  the crash on our end.
>
> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report
>
> Thanks,
> - Chien
>
>
> On 4/14/2016 12:16 PM, Ali Ebrahimi wrote:
>
>> When running javafx apps with es2 pipeline on macosx vm I get jvm crash.
>>
>> The following patch fixes this issue and I can run Ensemple8 application
>> with es2 pipeline successfully.
>> The good news is that 3D support is works fine.
>>
>> diff -r 3f15f2e59063
>>
>> modules/graphics/src/main/native-prism-es2/macosx/MacOSXWindowSystemInterface.m
>> ---
>>
>> a/modules/graphics/src/main/native-prism-es2/macosx/MacOSXWindowSystemInterface.m
>> Wed
>> Apr 13 12:36:43 2016 -0700
>> +++
>>
>> b/modules/graphics/src/main/native-prism-es2/macosx/MacOSXWindowSystemInterface.m
>> Thu
>> Apr 14 23:45:18 2016 +0430
>> @@ -68,7 +68,12 @@
>>   NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc]
>> initWithAttributes : attribs];
>>   if (fmt == nil) {
>>   // should we fallback to defaults or not?
>> -fmt = [NSOpenGLView defaultPixelFormat];
>> +//fmt = [NSOpenGLView defaultPixelFormat];
>> +NSOpenGLPixelFormatAttribute attributes[] = {
>> +NSOpenGLPFAAllowOfflineRenderers,
>> +0
>> +};
>> +fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes :
>> attributes];
>>   }
>>
>>   [pool release];
>>
>>
>


-- 

Best Regards,
Ali Ebrahimi


Jvm crash: es2 pipeline crashs jvm on macosx vm

2016-04-14 Thread Ali Ebrahimi
When running javafx apps with es2 pipeline on macosx vm I get jvm crash.

The following patch fixes this issue and I can run Ensemple8 application
with es2 pipeline successfully.
The good news is that 3D support is works fine.

diff -r 3f15f2e59063
modules/graphics/src/main/native-prism-es2/macosx/MacOSXWindowSystemInterface.m
---
a/modules/graphics/src/main/native-prism-es2/macosx/MacOSXWindowSystemInterface.m
Wed
Apr 13 12:36:43 2016 -0700
+++
b/modules/graphics/src/main/native-prism-es2/macosx/MacOSXWindowSystemInterface.m
Thu
Apr 14 23:45:18 2016 +0430
@@ -68,7 +68,12 @@
 NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc]
initWithAttributes : attribs];
 if (fmt == nil) {
 // should we fallback to defaults or not?
-fmt = [NSOpenGLView defaultPixelFormat];
+//fmt = [NSOpenGLView defaultPixelFormat];
+NSOpenGLPixelFormatAttribute attributes[] = {
+NSOpenGLPFAAllowOfflineRenderers,
+0
+};
+fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes :
attributes];
 }

 [pool release];

-- 

Best Regards,
Ali Ebrahimi


Glass: CGLCreateContext error: 10002: empty window on MacOSX VM

2016-04-14 Thread Ali Ebrahimi
On macosx vm:

We running with software pipeline user get CGLCreateContext error: 10002 in
glass native code so this error causes empty window without any controls in
app window.

The following patch fixes this issue and I can run Ensemple8 application
successfully.

diff -r 3f15f2e59063
modules/graphics/src/main/native-glass/mac/GlassView3D.m
--- a/modules/graphics/src/main/native-glass/mac/GlassView3D.m Wed Apr 13
12:36:43 2016 -0700
+++ b/modules/graphics/src/main/native-glass/mac/GlassView3D.m Thu Apr 14
23:08:16 2016 +0430
@@ -93,9 +93,18 @@
 };
 GLint npix = 0;
 CGLError err = CGLChoosePixelFormat(attributes, , );
-if (err != kCGLNoError)
+if (pix == NULL)
 {
-NSLog(@"CGLChoosePixelFormat error: %d", err);
+const CGLPixelFormatAttribute attributes2[] =
+{
+kCGLPFAAllowOfflineRenderers,
+(CGLPixelFormatAttribute)0
+};
+err = CGLChoosePixelFormat(attributes2, , );
+if (err != kCGLNoError)
+{
+NSLog(@"CGLChoosePixelFormat error: %d", err);
+}
 }
 }
 return pix;
-- 

Best Regards,
Ali Ebrahimi


Re: Webkit: Conversion from string literal loses const qualifier

2016-04-14 Thread Ali Ebrahimi
Hi,

On Thu, Apr 14, 2016 at 11:30 AM, Murali Billa <murali.bi...@oracle.com>
wrote:

> Hi Ali,
>
> Are you getting error due to 2nd OR 3rd parameter?As per your error,
> you are getting error for 3rd parameter right? As you already know, we
> fixed the issue for 3rd parameter.
>
> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackFo
> >>>> rwardListJava.cpp(46)
> >>>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
> >>>> char *)' : cannot convert argument 3 from 'const char [7]' to 'char *'
> >>>>  Conversion from string literal loses const qualifier (see
> >>>> /Zc:strictStrings)
>
> I tried to reproduce the error for 2nd parameter with VS 2013 professional
> + update 5 on windows 7 64 bit. But Im not able to get the error for 2nd
> parameter and code is building successfully.
>

I build with VS2013 utimate update 5 on win 8.1 64 bit with WinSDK 8.1 and
get compile error. So I can not say anything here.


> Can you please confirm about which parameter(2nd/3rd) is causing the error
> for you?
>

I think indexing start from 1 in error msgs. argument 1, argument 2, ...
The error relates to parameter *name *in initMethod.

Please follow error msgs more precisely:

..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
.cpp(46) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
char*)' : cannot convert argument 3 from 'const char [7]' to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)
Line 46:

*return initMethod(env, cls, "", signature);*

Here, argument 3 is *""* (*const char [7]*) and its target type is *"char
*"* in initMethod signature. So here code implicitly tries to convert const
string to non-const string. If you want compiler not complain here you
should explicitly cast string literal to "char *".
return initMethod(env, cls, *(char*)*"", signature);


..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
.cpp(87) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
char*)' : cannot convert argument 3 from *'const char [18]'* to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)

Line 87:

static jmethodID notifyItemChangedMID = initMethod(env,
getJEntryClass(), "notifyItemChanged", "()V");

Here, argument 3 is *"notifyItemChanged" *with type  *'const char [18]' *and
its target type is *"char *"* in initMethod signature.
Above error reason and workaround applies here.

static jmethodID notifyItemChangedMID = initMethod(env,
getJEntryClass(), (*char**)"notifyItemChanged", "()V");

..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
.cpp(98) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
char*)' : cannot convert argument 3 from *'const char [20]' *to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)
Line 98:

initMethod(env, getJEntryClass(), "notifyItemDestroyed", "()V");

Here, argument 3 is "notifyItemDestroyed" with compiler type *'const char
[20]' *and target type is *"char *"* in initMethod signature.

Again all same.
workaound:

initMethod(env, getJEntryClass(), (*char**)"notifyItemDestroyed",
"()V");

..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
.cpp(311) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
char *)' : cannot convert argument 3 from 'const char [14]' to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)

Line 311:

static jmethodID notifyChangedMID = initMethod(
env,
getJBFLClass(),
"notifyChanged",
"()V");

Finally, here argument 3 is "notifyChanged" with compiler type *'const char
[14]' *and target type is *"char *"* in initMethod signature.

So, same error and workaound:
static jmethodID notifyChangedMID = initMethod(
    env,
getJBFLClass(),
(*char**)"notifyChanged",
"()V");

So we have two way,
1: add all above casts
2: change initMethod signature:
static jmethodID initMethod(JNIEnv* env, jclass cls, *const *char* name,
const char* signature)


Both works for me, but I vote for option 2.

What do you think?

-- 

Best Regards,
Ali Ebrahimi


Re: Webkit: Conversion from string literal loses const qualifier

2016-04-13 Thread Ali Ebrahimi
Done. Review ID: JI-9035229

On Wed, Apr 13, 2016 at 5:33 PM, Vadim Pakhnushev <
vadim.pakhnus...@oracle.com> wrote:

> Oh, right!
> In that case I would suggest you to file a bug at the
> http://bugs.java.com/
>
> Thanks,
> Vadim
>
>
> On 13.04.2016 15:55, Ali Ebrahimi wrote:
>
> Hi,
> This is similar bug and in same file but in 2th parameter of initMethod.
> It seems MC compiler changed some rules in latest updates.
>
> On Wed, Apr 13, 2016 at 3:22 PM, Vadim Pakhnushev <
> vadim.pakhnus...@oracle.com> wrote:
>
>> Ali,
>>
>> Seems like this bug https://bugs.openjdk.java.net/browse/JDK-8090061
>> Although it was pushed to the 9-dev in January.
>>
>> Vadim
>>
>>
>> On 13.04.2016 10:50, Ali Ebrahimi wrote:
>>
>>> Hi Kevin,
>>> I'm building with "Microsoft Visual Studio Ultimate 2013 Update 5" on
>>> win8.1 64bit and FX repo http://hg.openjdk.java.net/openjfx/9-dev/rt.
>>>
>>> On Wed, Apr 13, 2016 at 2:54 AM, Kevin Rushforth <
>>> <kevin.rushfo...@oracle.com>kevin.rushfo...@oracle.com
>>>
>>>> wrote:
>>>> Hi Ali,
>>>>
>>>> The production build of FX is done using VS2013 and we haven't seen this
>>>> error. Where are you getting FX from? Are you using VS2013 Express or
>>>> Pro?
>>>> If Express, be aware that we do not support 64-bit builds (although
>>>> this is
>>>> not likely your problem).
>>>>
>>>> -- Kevin
>>>>
>>>>
>>>>
>>>> Ali Ebrahimi wrote:
>>>>
>>>> Hi,
>>>>> When building with VS2013 I get following error:
>>>>>
>>>>>
>>>>>
>>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(46)
>>>>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
>>>>> *)' : cannot convert argument 3 from 'const char [7]' to 'char *'
>>>>>  Conversion from string literal loses const qualifier (see
>>>>> /Zc:strictStrings)
>>>>>
>>>>>
>>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
>>>>> .cpp(87) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char
>>>>> *,const
>>>>> char*)' : cannot convert argument 3 from 'const char [18]' to 'char *'
>>>>>  Conversion from string literal loses const qualifier (see
>>>>> /Zc:strictStrings)
>>>>>
>>>>>
>>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(98)
>>>>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
>>>>> *)' : cannot convert argument 3 from 'const char [20]' to 'char *'
>>>>>  Conversion from string literal loses const qualifier (see
>>>>> /Zc:strictStrings)
>>>>>
>>>>>
>>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
>>>>> .cpp(311) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char
>>>>> *,const
>>>>> char *)' : cannot convert argument 3 from 'const char [14]' to 'char *'
>>>>>  Conversion from string literal loses const qualifier (see
>>>>> /Zc:strictStrings)
>>>>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
>>>>> Studio
>>>>> 12.0
>>>>> \VC\BIN\amd64\cl.EXE"' : return code '0x2'
>>>>> Stop.
>>>>> NMAKE : fatal error U1077: '(' : return code '0x2'
>>>>> Stop.
>>>>> NMAKE : fatal error U1077: 'cd' : return code '0x2'
>>>>> Stop.
>>>>> :web:compileNativeWin FAILED
>>>>>
>>>>>
>>>>>
>>>
>>
>
>
> --
>
> Best Regards,
> Ali Ebrahimi
>
>
>


-- 

Best Regards,
Ali Ebrahimi


Re: Webkit: Conversion from string literal loses const qualifier

2016-04-13 Thread Ali Ebrahimi
Hi,
This is similar bug and in same file but in 2th parameter of initMethod. It
seems MC compiler changed some rules in latest updates.

On Wed, Apr 13, 2016 at 3:22 PM, Vadim Pakhnushev <
vadim.pakhnus...@oracle.com> wrote:

> Ali,
>
> Seems like this bug https://bugs.openjdk.java.net/browse/JDK-8090061
> Although it was pushed to the 9-dev in January.
>
> Vadim
>
>
> On 13.04.2016 10:50, Ali Ebrahimi wrote:
>
>> Hi Kevin,
>> I'm building with "Microsoft Visual Studio Ultimate 2013 Update 5" on
>> win8.1 64bit and FX repo http://hg.openjdk.java.net/openjfx/9-dev/rt.
>>
>> On Wed, Apr 13, 2016 at 2:54 AM, Kevin Rushforth <
>> kevin.rushfo...@oracle.com
>>
>>> wrote:
>>> Hi Ali,
>>>
>>> The production build of FX is done using VS2013 and we haven't seen this
>>> error. Where are you getting FX from? Are you using VS2013 Express or
>>> Pro?
>>> If Express, be aware that we do not support 64-bit builds (although this
>>> is
>>> not likely your problem).
>>>
>>> -- Kevin
>>>
>>>
>>>
>>> Ali Ebrahimi wrote:
>>>
>>> Hi,
>>>> When building with VS2013 I get following error:
>>>>
>>>>
>>>>
>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(46)
>>>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
>>>> *)' : cannot convert argument 3 from 'const char [7]' to 'char *'
>>>>  Conversion from string literal loses const qualifier (see
>>>> /Zc:strictStrings)
>>>>
>>>>
>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
>>>> .cpp(87) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char
>>>> *,const
>>>> char*)' : cannot convert argument 3 from 'const char [18]' to 'char *'
>>>>  Conversion from string literal loses const qualifier (see
>>>> /Zc:strictStrings)
>>>>
>>>>
>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(98)
>>>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
>>>> *)' : cannot convert argument 3 from 'const char [20]' to 'char *'
>>>>  Conversion from string literal loses const qualifier (see
>>>> /Zc:strictStrings)
>>>>
>>>>
>>>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
>>>> .cpp(311) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char
>>>> *,const
>>>> char *)' : cannot convert argument 3 from 'const char [14]' to 'char *'
>>>>  Conversion from string literal loses const qualifier (see
>>>> /Zc:strictStrings)
>>>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
>>>> Studio
>>>> 12.0
>>>> \VC\BIN\amd64\cl.EXE"' : return code '0x2'
>>>> Stop.
>>>> NMAKE : fatal error U1077: '(' : return code '0x2'
>>>> Stop.
>>>> NMAKE : fatal error U1077: 'cd' : return code '0x2'
>>>> Stop.
>>>> :web:compileNativeWin FAILED
>>>>
>>>>
>>>>
>>
>


-- 

Best Regards,
Ali Ebrahimi


Re: Webkit: Conversion from string literal loses const qualifier

2016-04-13 Thread Ali Ebrahimi
Hi Kevin,
I'm building with "Microsoft Visual Studio Ultimate 2013 Update 5" on
win8.1 64bit and FX repo http://hg.openjdk.java.net/openjfx/9-dev/rt.

On Wed, Apr 13, 2016 at 2:54 AM, Kevin Rushforth <kevin.rushfo...@oracle.com
> wrote:

> Hi Ali,
>
> The production build of FX is done using VS2013 and we haven't seen this
> error. Where are you getting FX from? Are you using VS2013 Express or Pro?
> If Express, be aware that we do not support 64-bit builds (although this is
> not likely your problem).
>
> -- Kevin
>
>
>
> Ali Ebrahimi wrote:
>
>> Hi,
>> When building with VS2013 I get following error:
>>
>>
>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(46)
>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
>> *)' : cannot convert argument 3 from 'const char [7]' to 'char *'
>> Conversion from string literal loses const qualifier (see
>> /Zc:strictStrings)
>>
>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
>> .cpp(87) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
>> char*)' : cannot convert argument 3 from 'const char [18]' to 'char *'
>> Conversion from string literal loses const qualifier (see
>> /Zc:strictStrings)
>>
>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(98)
>> : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
>> *)' : cannot convert argument 3 from 'const char [20]' to 'char *'
>> Conversion from string literal loses const qualifier (see
>> /Zc:strictStrings)
>>
>> ..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
>> .cpp(311) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char
>> *,const
>> char *)' : cannot convert argument 3 from 'const char [14]' to 'char *'
>> Conversion from string literal loses const qualifier (see
>> /Zc:strictStrings)
>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
>> Studio
>> 12.0
>> \VC\BIN\amd64\cl.EXE"' : return code '0x2'
>> Stop.
>> NMAKE : fatal error U1077: '(' : return code '0x2'
>> Stop.
>> NMAKE : fatal error U1077: 'cd' : return code '0x2'
>> Stop.
>> :web:compileNativeWin FAILED
>>
>>
>


-- 

Best Regards,
Ali Ebrahimi


Webkit: Conversion from string literal loses const qualifier

2016-04-12 Thread Ali Ebrahimi
Hi,
When building with VS2013 I get following error:

..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(46)
: error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
*)' : cannot convert argument 3 from 'const char [7]' to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)
..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
.cpp(87) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
char*)' : cannot convert argument 3 from 'const char [18]' to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)
..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava.cpp(98)
: error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const char
*)' : cannot convert argument 3 from 'const char [20]' to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)
..\..\..\..\src\main\native\Source\WebCore\platform\java\api\BackForwardListJava
.cpp(311) : error C2664: 'jmethodID initMethod(JNIEnv *,jclass,char *,const
char *)' : cannot convert argument 3 from 'const char [14]' to 'char *'
Conversion from string literal loses const qualifier (see
/Zc:strictStrings)
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
12.0
\VC\BIN\amd64\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '(' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
:web:compileNativeWin FAILED
-- 


The following patch fixes this problem.(Tested on win, linux and MacOSx)


diff --git
a/modules/web/src/main/native/Source/WebCore/platform/java/api/BackForwardListJava.cpp
b/modules/web/src/main/native/Source/WebCore/platform/java/api/BackForwardListJava.cpp
---
a/modules/web/src/main/native/Source/WebCore/platform/java/api/BackForwardListJava.cpp
+++
b/modules/web/src/main/native/Source/WebCore/platform/java/api/BackForwardListJava.cpp
@@ -34,7 +34,7 @@
 return static_cast<HistoryItem*>(jlong_to_ptr(jitem));
 }

-static jmethodID initMethod(JNIEnv* env, jclass cls, char* name, const
char* signature)
+static jmethodID initMethod(JNIEnv* env, jclass cls, const char* name,
const char* signature)
 {
 jmethodID mid = env->GetMethodID(cls, name, signature);
 ASSERT(mid);




Best Regards,
Ali Ebrahimi


Re: How to build openjfx9 for ios and andriod

2016-04-02 Thread Ali Ebrahimi
I finally able to build for ios, but for android have no success?

On Mon, Mar 28, 2016 at 11:26 AM, Ali Ebrahimi <ali.ebrahimi1...@gmail.com>
wrote:

> I want to build openjfx9 for ios and andriod but build instructions for
> openjfx8 does not work for openjfx9.
> Please help me!
>
> --
>
> Best Regards,
> Ali Ebrahimi
>



-- 

Best Regards,
Ali Ebrahimi


Re: review: remove a cygwin dependancy

2016-03-30 Thread Ali Ebrahimi
Hi,

line

ByteArrayOutputStream out = new ByteArrayOutputStream();

can be removed!


On Wed, Mar 30, 2016 at 10:04 PM, David Hill <david.h...@oracle.com> wrote:

>
> Kevin,
>I have been running with this for a couple of weeks now.
>
> remove a cygwin dependancy
> https://bugs.openjdk.java.net/browse/JDK-8151747
> http://cr.openjdk.java.net/~ddhill/8151747/
>
> --
> David Hill<david.h...@oracle.com>
> Java Embedded Development
>
> "A man's feet should be planted in his country, but his eyes should survey
> the world."
> -- George Santayana (1863 - 1952)
>
>


-- 

Best Regards,
Ali Ebrahimi


Re: [9] API review request: 8090585: Provide an official API to start the JavaFX platform

2015-11-22 Thread Ali Ebrahimi
Hi,
I know concerns here, but I think PlatformImpl.startup() and
Platform.startup() should have same behavior from caller's POW.
So I think if we can not have default behavior(duplicate calls) for public
API so please change method name.
My suggestions: Platform.safeStartup() or Platform.startPlatform or
Platform.start

On Sun, Nov 22, 2015 at 11:35 PM, Jonathan Giles <jonathan.gi...@oracle.com>
wrote:

> I don't believe there is any inconsistency here. We are preserving the
> existing semantics in PlatformImpl.startup to not prevent duplicate calls
> by default, whilst we are reversing the semantics for the public API in
> Platform, where we do prevent duplicate calls. The end result is that we
> have one public API (Platform.startup) with one set of semantics (prevent
> duplicate values).
>
> -- Jonathan
>
>
> On 21/11/15 11:57 PM, Ali Ebrahimi wrote:
>
> Hi,
> I think there is an inconsistency between :
>
> PlatformImpl.java
>
>  public static void startup(final Runnable r) {
> +startup(r, false);  //* here default value false
>
> + }
>
> and
>
> Platform.java
>
> +public static void startup(Runnable runnable) {
> +PlatformImpl.startup(runnable, true);  // here default value 
> true
>
> +}
>
>
>
> On Sat, Nov 21, 2015 at 3:28 AM, Kevin Rushforth <
> <kevin.rushfo...@oracle.com>kevin.rushfo...@oracle.com> wrote:
>
>> Jonathan and all,
>>
>> Please review the following new API proposal to add the ability to
>> explicitly start the FX runtime.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8090585
>> http://cr.openjdk.java.net/~kcr/8090585/webrev.00/
>>
>> -- Kevin
>>
>>
>
>
> --
>
> Best Regards,
> Ali Ebrahimi
>
>
>


-- 

Best Regards,
Ali Ebrahimi


Re: [9] API review request: 8090585: Provide an official API to start the JavaFX platform

2015-11-21 Thread Ali Ebrahimi
Hi,
I think there is an inconsistency between :

PlatformImpl.java

 public static void startup(final Runnable r) {
+startup(r, false);  //* here default value false

+ }

and

Platform.java

+public static void startup(Runnable runnable) {
+PlatformImpl.startup(runnable, true);  // here
default value true

+}



On Sat, Nov 21, 2015 at 3:28 AM, Kevin Rushforth <kevin.rushfo...@oracle.com
> wrote:

> Jonathan and all,
>
> Please review the following new API proposal to add the ability to
> explicitly start the FX runtime.
>
> https://bugs.openjdk.java.net/browse/JDK-8090585
> http://cr.openjdk.java.net/~kcr/8090585/webrev.00/
>
> -- Kevin
>
>


-- 

Best Regards,
Ali Ebrahimi


Re: JavaScript library for JavaFX fans?

2014-12-16 Thread Ali Ebrahimi
if you can not forget java just use ZK framework.

On Tue, Dec 16, 2014 at 6:59 PM, Jeff Martin j...@reportmill.com wrote:

 You’re spot on, Mark. I need to do a little
 lightweight-in-the-browser-without-the-JVM development, and as a long-time
 Swing/JavaFX developer, I don’t want my fingers/brain to bleed too much. :-)

 The JavaScript world doesn’t seem as cut-and-dried as Java, iOS, Android
 development. I’m hoping there’s a popular and capable standard for people
 who come from the Java world.

 jeff


 On Dec 16, 2014, at 9:07 AM, Jim Laskey (Oracle) james.las...@oracle.com
 wrote:

  He mentioned JavaFX Script language, so I assume he wants to work with
 FX directly from Javascript.
 
  Look at https://blogs.oracle.com/nashorn/entry/jjs_fx as an example
 
  Cheers,
 
  -- Jim
 
 
 
  On Dec 16, 2014, at 10:49 AM, Mark Fortner phidia...@gmail.com wrote:
 
  Just to be clear, you're looking for a js library that has JavaFX-like
 components, an event model, threading, graphics, animation and charting.
 And runs in a browser. You're not looking to use fxml and js to build an
 application, correct?
 
  On Dec 16, 2014 5:13 AM, Jim Laskey (Oracle) james.las...@oracle.com
 wrote:
  Nashorn JavaScript works with FX very easily.
 
  On Dec 15, 2014, at 3:30 PM, Jeff Martin j...@reportmill.com wrote:
 
   I need to do some JavaScript development - any recommendations for a
 JavaScript library that comes the closest to JavaFX?
  
   It seems like a couple years ago I even heard talk about making a
 JavaScript version of JavaFX (maybe at JavaOne).
  
   jeff
 
 




Re: [Review request] RT-12643: JavaFX Dialogs API

2014-08-15 Thread Ali Ebrahimi
Hi,

What do you think about this constants in javafx public API:

+// represented as a ButtonType
+public static final String BUTTON_DATA_PROPERTY  =
controlfx.button.type; //$NON-NLS-1$
+
+// allows to exclude button from uniform resizing
+public static final String BUTTON_SIZE_INDEPENDENCE =
controlfx.button.size.indepenence; //$NON-NLS-1$

may be you want javafx.button instead of controlfx.button, No?

Ali Ebrahimi


On Fri, Aug 15, 2014 at 4:18 AM, Jonathan Giles jonathan.gi...@oracle.com
wrote:

 Hi all,

 After much discussion a 'final' JavaFX Dialogs API has been created and is
 awaiting final review. The plan is to integrate this into the 8udev repo
 before it is promoted early next week.

 The Jira discussion for the dialogs API is long, but very informative. You
 can find it here: https://javafx-jira.kenai.com/browse/RT-12643
 The webrev can be found here: http://cr.openjdk.java.net/~
 kcr/RT-12643/webrev.00/

 Any comments should be directed into the jira issue, rather than discussed
 on this list (so that we can keep everything in one place).

 Thanks,
 Jonathan



Re: [8u] API Request: RT-25613, ObservableValue should have a hasListener(listener) method

2014-01-22 Thread Ali Ebrahimi
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 richard.b...@oracle.comwrote:

  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


Re: In(Sanity) Testing Mondays

2013-12-18 Thread Ali Ebrahimi
I think there is a typo in wiki page:

M1: January 13, 2013

=
M1: January 13, 2014



Best Regards,

Ali Ebrahimi


On Wed, Dec 18, 2013 at 11:02 PM, Stephen F Northover 
steve.x.northo...@oracle.com 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



Re: JavaOne roundup?

2013-09-30 Thread Ali Ebrahimi
Yes, but they use that for ADF mobile.


On Mon, Sep 30, 2013 at 12:59 PM, Tobias Bley t...@ultramixer.com wrote:

 Does Oracle really has an AOT based JVM for iOS and Android?


 Am 30.09.2013 um 11:16 schrieb Udo Rader list...@bestsolution.at:

  If you add the pieces of information together (announced and then
  shortly cancelled J1 talks), you perfectly get the right picture.
 
  The *problem* certainly is not the technical part.
 
  While I disagree that the RPi is just nerd stuff (the embedded market
  is huge), I agree however that any further delay with JavaFX on Android
   iOS is really bad.
 
  I believe this situation is just as frustrating for the Oracle
  *developers* like it is for the rest of the JavaFX community.
 
  Public relations in the core sense of its meaning has completely
  failed here, IMHO.
 
  On 09/30/2013 10:03 AM, Felix Bembrick wrote:
  I am sure Oracle management get it.  There are lots of issues here,
 not just technical.  I am sure they want to get it perfect before they
 announce anything. Let's hope that's why nothing has eventuated yet...
 
  On 30 Sep 2013, at 17:04, Tobias Bley t...@ultramixer.com wrote:
 
  I don’t understand why „all“ this people who needs JavaFX on
 iOS/Android does not tell it Oracles management. And I don’t understand why
 all this people use their time to develop all this demos and Rasp.PI stuff.
 Who needs it? Why don’t we develop base stuff like iOS skins, Android
 skins, iOS/Android widgets, RoboVM for Android, RoboVM using OpenJDK, … I
 really love useful stuff like the „JavaFX maven plugin“ or the „AquaFX“
 project. That kind of development we need!
 
  Best,
  Tobi
 
 
 
  Am 30.09.2013 um 08:50 schrieb Felix Bembrick 
 felix.bembr...@gmail.com:
 
  No, you are *not* the only one. We *all* need it.  In fact, without
 it  happening soon, JavaFX is already dead.
 
  But let's not give up yet.  Perhaps it's closer than we know. I am a
 glass half full kinda guy :-)
 
  On 30 Sep 2013, at 16:40, Tobias Bley t...@ultramixer.com wrote:
 
  I suppose „legal reasons“….
 
  For me it’s very frustrating to see every year the same procedure:
 JavaFX-iOS/Android related tracks were canceled - „nerd“ stuff like
 Rasp.PI, DukePad  Co were announced. Maybe I’m really the only one who
 needs JavaFX on mobile to use JavaFX on desktop as well… :(
 
 
 
  Am 29.09.2013 um 18:13 schrieb Jeff Martin j...@reportmill.com:
 
  It seems the JFX on iOS/Android were cancelled at the last moment.
 I tried to keep expectations low this year, but I admit I harbored secret
 hopes based on those sessions (a few embarrassingly optimistic
 conversations with clients notwithstanding).
 
  Last week Tomas offered this:
 
  about cancelled sessions please contact Mr. JavaOne
 stephen.c...@oracle.com I believe he will give satisfactory answer.
 
  I'd like to take him up on that satisfactory offer. Also, can we
 run the name DukePad by marketing again?
 
  :-)
 
  jeff
 
 
  On Sep 29, 2013, at 12:12 AM, Daniel Zwolenski zon...@gmail.com
 wrote:
 
  The sessions aren't up yet from the looks of it. It would be great
 to get an overall roundup of any new announcements or directions in any
 case. Given this is the developer community network it would make sense in
 my mind to highlight stuff like that in here.
 
  For me, I'd love it if someone could quickly sum up any
 announcements or sessions made about JavaFX for iOS, Android or in the
 deployment space?
 
  What happened at the sessions Tobi highlighted before (
 http://blog.software4java.com/?p=97), did anyone go to these and able to
 give us some info?
 
 
 
  On 27/09/2013, at 7:07 AM, Richard Bair richard.b...@oracle.com
 wrote:
 
  The sessions, I think, are all being uploaded to Parley's (
 http://www.parleys.com), although I don't see any content there yet (not
 sure how long it will take them to post-process, but usually it is pretty
 fast).
 
  Richard
 
  On Sep 26, 2013, at 2:00 PM, Daniel Zwolenski zon...@gmail.com
 wrote:
 
  Has anyone done or seen any good roundups (text or video) of the
 JavaOne sessions relating to javafx?
 
 




Re: JavaFX 2 memory leaks in StyleManager (making FX2 completely unusable for application development)

2013-07-30 Thread Ali Ebrahimi
This is issue: https://javafx-jira.kenai.com/browse/RT-29055
Can you try this?


On Tue, Jul 30, 2013 at 4:38 PM, Sven Reimers sven.reim...@gmail.comwrote:

 Any chance you can track down why it is leaking?

 -Sven


 On Tue, Jul 30, 2013 at 1:46 PM, Ali Ebrahimi 
 ali.ebrahimi1...@gmail.comwrote:

 I sent a similar memory leak report a while ago for Modena demo app, and
 they just close issue As Not producible. But I can see the same issue just
 Now.


 On Tue, Jul 30, 2013 at 3:58 PM, Tom Schindl tom.schi...@bestsolution.at
 wrote:

  [resending because mail was blocked yesterday because of included
 images]
  Hi,
 
  I've been debugging a JavaFX application with a customer and we've found
  a tremendous memory leak in StyleManager when using icons.
 
  This bug makes JavaFX 2.x completely unusable because the application is
  using up to 1.5GB and more within a few mintues! Has anyone seen this
  and if I file a bug could I expect a bugfix in FX2?
 
  The screenshots from the Memory Analyzer can be seen at:
  http://www.efxclipse.org/image001.png
  http://www.efxclipse.org/image002.png
 
  Tom
 




 --
 Sven Reimers

 * Senior Expert Software Architect
 * NetBeans Dream Team Member: http://dreamteam.netbeans.org
 * Community Leader  NetBeans: http://community.java.net/netbeans
   Desktop Java:
 http://community.java.net/javadesktop
 * Duke's Choice Award Winner 2009
 * Blog: http://nbguru.blogspot.com

 * XING: https://www.xing.com/profile/Sven_Reimers8
 * LinkedIn: http://www.linkedin.com/in/svenreimers

 Join the NetBeans Groups:
 * XING: http://www.xing.com/group-20148.82db20
 * NUGM: http://haug-server.dyndns.org/display/NUGM/Home
 * LinkedIn: http://www.linkedin.com/groups?gid=1860468
http://www.linkedin.com/groups?gid=107402
http://www.linkedin.com/groups?gid=1684717
 * Oracle: https://mix.oracle.com/groups/18497



Re: [API Review]: Node validation

2013-07-08 Thread Ali Ebrahimi
just my suggestions:
validation is a side effect free concept. but your validate contains css 
layout processing for  Node, so validate is very poor name in this case.
May be better use computeBounds instead.
 But alternates for validate( if method is a side effect free):
verify()
verfifyNode()
verifyBounds()
checkNode()
checkBounds()

best Regards
Ali Ebrahimi


On Mon, Jul 8, 2013 at 4:50 PM, Martin Sladecek
martin.slade...@oracle.comwrote:

 The plan is to have a final validate() method.
 Anyway, does anybody have a better suggestion? The validate should do both
 CSS and layout and I would like to avoid method name that's too descriptive
 (like validateLayoutAndCSS()) if possible.
 I think the most important thing about the method is that it validates the
 bounds/metrics of the Node, so maybe validateBounds() ?

 -Martin


 On 07/08/2013 01:52 PM, Anthony Petrov wrote:

 +1

 The validate()/isValid() in AWT/Swing are often overridden by user apps
 for tasks that have nothing to do with the layout. And this causes a lot of
 problems.

 --
 best regards,
 Anthony

 On 07/08/13 15:20, Pavel Safrata wrote:

 Hello,
 one more discussion topic: perhaps the validate name is too general?
 Maybe we can come up with more descriptive name? There are all kinds of
 nodes and sometimes this name can be misleading (not ringing the layout
 bell at all). For example TextField.validate() may look like validating
 the input. Also I wouldn't be surprised if users run into problems with
 custom nodes having their validate methods for different purposes.
 Pavel

 On 3.7.2013 14:33, Martin Sladecek wrote:

 Hi,

 JIRA: 
 https://javafx-jira.kenai.com/**browse/RT-31133https://javafx-jira.kenai.com/browse/RT-31133

 I propose a single method public final void validate() to be added
 to Node class. The validate method would ensure that the metrics
 (layout bounds) of the Node are valid with regards to the current
 scenegraph (CSS  layout).

 Together with this change, Parent.layout() will be deprecated.

 In my current implementation, validate() method works only if the Node
 is in a Scene. To make it work without a Scene, we'd need to do do
 some small adjustments to CSS (doesn't work with getScene() == null).
 But I'm not sure if such feature would be useful.

 Regards,
 -Martin






Re: [API Review]: Node validation

2013-07-08 Thread Ali Ebrahimi
I say validate should also not change state, otherwise computeBounds would
be better name for method.
Consider validate in input validation.


On Mon, Jul 8, 2013 at 8:57 PM, Scott Palmer swpal...@gmail.com wrote:

 Since CSS is implicitly tied to layout, validateLayout() seems to be
 enough.

 I don't like verify or check - To me, these imply a method that is
 doing checks only and not changing state.  A verify method would be
 something that returns a boolean or throws an exception.

 Scott


 On Mon, Jul 8, 2013 at 9:07 AM, Ali Ebrahimi ali.ebrahimi1...@gmail.com
 wrote:

  just my suggestions:
  validation is a side effect free concept. but your validate contains css
 
  layout processing for  Node, so validate is very poor name in this case.
  May be better use computeBounds instead.
   But alternates for validate( if method is a side effect free):
  verify()
  verfifyNode()
  verifyBounds()
  checkNode()
  checkBounds()
 
  best Regards
  Ali Ebrahimi
 
 
  On Mon, Jul 8, 2013 at 4:50 PM, Martin Sladecek
  martin.slade...@oracle.comwrote:
 
   The plan is to have a final validate() method.
   Anyway, does anybody have a better suggestion? The validate should do
  both
   CSS and layout and I would like to avoid method name that's too
  descriptive
   (like validateLayoutAndCSS()) if possible.
   I think the most important thing about the method is that it validates
  the
   bounds/metrics of the Node, so maybe validateBounds() ?
  
   -Martin
  
  
   On 07/08/2013 01:52 PM, Anthony Petrov wrote:
  
   +1
  
   The validate()/isValid() in AWT/Swing are often overridden by user
 apps
   for tasks that have nothing to do with the layout. And this causes a
  lot of
   problems.
  
   --
   best regards,
   Anthony
  
   On 07/08/13 15:20, Pavel Safrata wrote:
  
   Hello,
   one more discussion topic: perhaps the validate name is too
 general?
   Maybe we can come up with more descriptive name? There are all kinds
 of
   nodes and sometimes this name can be misleading (not ringing the
 layout
   bell at all). For example TextField.validate() may look like
 validating
   the input. Also I wouldn't be surprised if users run into problems
 with
   custom nodes having their validate methods for different purposes.
   Pavel
  
   On 3.7.2013 14:33, Martin Sladecek wrote:
  
   Hi,
  
   JIRA: https://javafx-jira.kenai.com/**browse/RT-31133
  https://javafx-jira.kenai.com/browse/RT-31133
  
   I propose a single method public final void validate() to be added
   to Node class. The validate method would ensure that the metrics
   (layout bounds) of the Node are valid with regards to the current
   scenegraph (CSS  layout).
  
   Together with this change, Parent.layout() will be deprecated.
  
   In my current implementation, validate() method works only if the
 Node
   is in a Scene. To make it work without a Scene, we'd need to do do
   some small adjustments to CSS (doesn't work with getScene() ==
 null).
   But I'm not sure if such feature would be useful.
  
   Regards,
   -Martin