Hello Alexandr,

 

Please review the updated webrev.

 

http://cr.openjdk.java.net/~rchamyal/8147521/webrev.01/

 

Update : Implemented review comments.

 

Regards,

Rajeev Chamyal

 

From: Alexandr Scherbatiy 
Sent: 10 May 2016 16:07
To: Rajeev Chamyal; Sergey Bylokhov; swing-dev@openjdk.java.net
Subject: Re: <Swing Dev> [9] Review request for JDK-8147521 [macosx] Internal 
API Usage: setPopupType used to force creation of heavyweight popup

 

On 5/10/2016 1:10 PM, Rajeev Chamyal wrote:

Hello Alexandr,

 

Thanks for the review.

Please review the updated webrev.

http://cr.openjdk.java.net/~rchamyal/8147521/webrev.00/

 

Updates: Added a boolean field heavyWeightPopupEnabled and corresponding 
property methods.

Applications can set this property to true for forcing popup to be heavyweight.

   Is it possible to implement setHeavyWeightPopupEnabled() method body as 
setPopupType(HEAVY_WEIGHT_POPUP) and the isHeavyWeightPopupEnabled() as 
checking that current popup factory type is HEAVY_WEIGHT_POPUP?

  Thanks,
  Alexandr.



 

I am not sure about applications using MEDIUM_WEIGHT_POPUP, but in JDK source 
ToolTipManager.java showTipWindow method sets popup to be MEDIUM_WEIGHT_POPUP.

 

Regards,

Rajeev Chamyal

 

 

From: Alexandr Scherbatiy 
Sent: 10 May 2016 12:02
To: Rajeev Chamyal; Sergey Bylokhov; HYPERLINK 
"mailto:swing-dev@openjdk.java.net"swing-dev@openjdk.java.net
Subject: Re: <Swing Dev> [9] Review request for JDK-8147521 [macosx] Internal 
API Usage: setPopupType used to force creation of heavyweight popup

 


The first approach implies that a user should change all 
PopupFactory.getPopup(owner, contents, x, y) calls to  
OverridenPopupFactory.getPopup(owner, contents, x, y, true) to get a 
heavy-weight popup in his code.

The second one looks better to me. It may have sense to restrict it only to 2 
possibilities: heavy-weight and light-weight popup if the medium-weight popup 
is not really required to be used by users applications.
Something like: setHeavyWeightPopupEnabled(boolean)/isHeavyWeightPopupEnabled().

Thanks,
Alexandr.

On 5/6/2016 2:44 PM, Rajeev Chamyal wrote:

Hello All,

 

Please review the below 2 webrevs.

 

Webrev:

HYPERLINK 
"http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.00/"http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.00/

HYPERLINK 
"http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.01/"http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.01/

 

Bug : https://bugs.openjdk.java.net/browse/JDK-8147521

 

Approach 1:

HYPERLINK 
"http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.00/"http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.00/

 

A new protected API is provided in PopupFactory.java.

protected Popup getPopup(Component owner, Component contents, int x, int y,

boolean isHeavyWeightPopup)

 

Applications can override the new protected method and pass true value to 
isHeavyWeightPopup for forcing popup to be heavy weight.

Passing false will result in default behaviour.

 

Approach 2:

HYPERLINK 
"http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.01/"http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.01/

 

In this approach access level of existing methods setPopupType and getPopupType 
has been changed to protected.

Applications can override these methods to set or return different types of 
popups.

 

Following  values can be passed to setPopupType.

0 : LIGHT_WEIGHT_POPUP

1 : MEDIUM_WEIGHT_POPUP

2: HEAVY_WEIGHT_POPUP

 

 

Regards,

Rajeev Chamyal

 

 

 

 

 

Reply via email to